跳到主要内容

欢迎使用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"
    }
  ]
}

组件输入

请查看入门这一节