欢迎使用modbus rtu协议
简介
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
在正确配置后,可看到信息如下
用户界面使用
添加通道
新建通道时驱动选择为Modbus RTU。串口号选择为自动时,程序自动匹配相应的串口;串口号选择为串口0、1、2时,则使用指定的串口。其他参数根据Modbus Slave的串口硬件参数进行相同的初始化配置。
添加设备
添加设备的时候需要填入Modbus Slave的从站ID。
添加点位
数据项地址和功能码编号按照需要读取的点位信息填写。
点位表编辑
点位表导出之后,编辑导出的点位表再进行导入。编辑的时候,需要填写下述打勾的字段。
名称 | 是否填写 | 含义 |
---|---|---|
appid | √ | 数据项唯一的id |
name | √ | 数据项名称 |
desc | √ | 数据项描述 |
freq | √ | 数据项更新频率(毫秒为单位) |
value | × | |
updatetime | × | |
quality | × | |
compute_func | √ | 值运算函数,有n,+,-,*,/ |
compute_para | √ | 值运算参数 |
readonly | √ | 是否只读,只读写1,否则写0 |
report | √ | 是否上报数据,上报写1,否则写0 |
report_change | √ | 是否变化才上报的数据,数据变化才上报写1,否则写0 |
value_old | × | |
address | √ | 数据项地址 |
function_code | √ | 功能码 |
组件输入输出格式
当作为算盘的组件使用时,输入输出格式如下。可以在转发字段定义这个功能来修改字段名或者去掉不要的字段。
组件输出
{
"type":"report",
"device_name":"device_8GsvJNT59R",
"driver":"modbus_rtu",
"channel":"channel_9IaOylztpE",
"timestamp":"2020-11-25 10:11:23",
"values":[
{
"id":"2",
"name":"test1",
"desc":"测试1",
"freq":"1000",
"compute":"no;",
"value":"5956",
"quality":"Good",
"address":"1",
"function_code":"3"
},
{
"id":"1",
"name":"test2",
"desc":"测试2",
"freq":"1000",
"compute":"no;",
"value":"5442",
"quality":"Good",
"address":"0",
"function_code":"3"
}
]
}
组件输入
请查看入门这一节