欢迎使用modbus tcp/ip协议
简介
MODBUS TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。协议的最通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。
MODBUS TCP 使MODBUS_RTU协议运行于以太网,MODBUS TCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUS TCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。MODBUS TCP通信报文被封装于以太网TCP/IP数据包中。
在正确配置后,可看到信息如下
用户界面使用
添加通道
新建通道时驱动选择为Modbus TCP/IP即可
添加设备
添加设备的时候需要填入Modbus Slave的IP地址、端口号、从站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_KIkENQrthA",
"driver":"modbus_tcp",
"channel":"channel_95moX7eMu0",
"timestamp":"2020-11-25 09:27:09",
"values":[
{
"id":"1",
"name":"test1",
"desc":"测试1",
"freq":"1000",
"compute":"no;",
"value":"1343",
"quality":"Good",
"address":"0",
"function_code":"3"
},
{
"id":"2",
"name":"test2",
"desc":"测试2",
"freq":"1000",
"compute":"no;",
"value":"1857",
"quality":"Good",
"address":"1",
"function_code":"3"
}
]
}
组件输入
请查看入门这一节