Modbus使用说明

一、连接域名及端口

  ● 服务器域名:61.160.110.130
  ● 服务器端口号:7001

二、使用须知

  注意,此Modbus协议实为Modbus RTU协议,本质是在TCP协议的基础上传输Modbus RTU通讯指令。普遍用法是使Modbus RTU串口设备连接无线DTU设备和平台实现通讯,当然也不排除别的方式,只要连接方式(TCP)和协议格式(Modbus RTU)符合要求皆可使用该协议连接平台。

三、Modbus RTU协议功能码说明

Modbus网络是一个工业通信系统,可应用于各种数据采集和过程监控。平台集成了其中六种最常用的功能码:

功能码名称作用
0x01读取线圈状态(读)取得一组逻辑线圈的当前状态(ON/OFF)
0x02读取输入状态(只读)取得一组开关输入的当前状态(ON/OFF)
0x03读取保持寄存器(读)在一个或多个保持寄存器中取得当前的二进制值
0x04读取输入寄存器(只读)在一个或多个输入寄存器中取得当前的二进制值
0x05强置单线圈(写)强置一个逻辑线圈的通断状态
0x06预置单寄存器(写)把具体二进值装入一个保持寄存器

四、Modbus RTU使用说明

  1. 创建设备:

  “链接协议”设置成“MB RTU”,“链接协议”即平台发送下行数据协议。平台可以通过设备选中的链接协议发送下行数据至设备。(你选择哪个协议,点击按钮就会使用相应的协议下发指令,此选项对其他功能没有任何影响)

  2. 设置连接

  点击“设备”——“设置连接”——“MB RTU”——“读写指令”



读写指令设置项为Modbus RTU协议定义的几个参数,如下:

五、Modbus RTU读写指令设置(举例)

  1、读可读写数字量寄存器(线圈状态):

  读指令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]
例:[03][01][00][13][00][01][CRC低][CRC高]


2、写数字量(线圈状态):

  写指令:[设备地址] [命令号05] [需下置的寄存器地址高8位] [低8位] [下置的数据(0x00或0xFF)] [0x00] [CRC校验的低8位] [CRC校验的高8位]
例:[03][05][00][AC][FF][00][CRC低][CRC高]

注:“01读写”功能码包含的写功能码就是“05”。写指令可以通过开关按钮触发下发,也可以直接在设置框输入0或1,再点击“写入”按钮下发。

3、读一个或多个寄存器(保持寄存器):

  读指令:[设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]
例:[11][03][00][6B][00][01][CRC低][CRC高]

注:如果需要读连续的“32位”数据(整形或浮点型),则偏置需要间隔一个数设置,如:108、110、112、、、、

4、写单个寄存器(保持寄存器):

  写指令:[设备地址] [命令号06] [需下置的寄存器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]
例:[11][06][00][01][00][03][CRC低][CRC高]

注:“03读写”功能码包含的写功能码就是“06”。写指令只有在“数字”输入框输入数据,然后再点击“写入”按钮才会下发。