Modbus
# 常用调试工具
Modbus 使用说明
# 视频教程
# modbus功能码说明
# 工具使用
需要使用 ModScan 工具。工具下载:ModScan
将压缩包解压之后,以管理员身份运行 ModScan32.exe 程序。
打开软件的主界面,测试获取数据。
展开 Connection 选择 Connect,选择对接方式:TCP/IP 或者 COM 口,下图以 TCP/IP 对接方式示例,填写对应的设备 IP 和端口号。
先填写对应的设备地址,再选择 01 到 04 的模块功能码(01、02 是设备状态量数据,03、04 是设备模拟量数据),最后选择开始的寄存器地址,设定连续取值的位数。
Modbus 协议点表中会明确定义设备各参数的对应模块功能码和寄存器地址位,下面以温湿度的协议举例:
我们在工具中选择对应的配置即可验证设备数据是否能够正常获取。
# 数据库配置
Equip 表配置规范:
数据库字段 | 填入内容 | 说明 |
---|---|---|
equip_no | 1 | 设备编号不能与其他设备重复 |
equip_nm | 温湿度 | 设备名称 |
acc_cyc | 1 | 通讯刷新周期,数据刷新优先级1为最优 |
communication_drv | GWJBUSV2.STD.dll | modbus协议解析驱动文件 |
local_addr | COM1或TC/192.168.100.157:2154 | 通讯端口,填入对应COM口或者IP加端口 |
equip_addr | 1~n | 设备地址:1~255 |
communication_param | 9600/8/1/no | 通讯参数:9600为设备波特率,8为停止位,1为起始位,no为无校验 |
communication_time_param | 800/8/16/800或2000/16/2000 | 通讯时间参数:数据采集周期(4位是串口通讯,3位是TCP/IP通讯)其中第一和第二个参数构成“起始等待时间”(发送通讯请求后,多长时间没有回应算做一次通讯失败),第四个参数是“访问间隔”(上一次失败后,多长时间后进行下一次通讯),以上三个参数,就可靠性来说,越大越好,对实时性来说,越小越好。第三个参数为“允许通讯连续失败的次数”。时间单位为毫秒 |
YCP表配置规范:
数据库字段 | 填入内容 | 说明 |
---|---|---|
equip_no | 1 | 必须与Equip表该设备编号相同 |
yc_no | 1 | 遥测点编号 |
yc_nm | 温度 | 遥测点名称 |
main_instruction | 04,0000,2 | 操作命令:04表示功能码,0000是寄存器地址,1字节长度 |
minor_instruction | 0000,2,f | 操作参数:0000是寄存器地址,1是字节长度,f为字符类型(Uint16用i,长度是2;Uint32用i,长度是4;float用f,字节长度是2) |
lvl_level | 3 | 报警事件级别(0表示屏蔽报警、1表示显示报警、2以上表示显示并记录报警、最大级别8) |
YXP表配置规范:
数据库字段 | 填入内容 | 说明 |
---|---|---|
equip_no | 1 | 必须与Equip表该设备编号相同 |
yx_no | 1 | 遥信点编号 |
yx_nm | 输入空开状态 | 遥信点名称 |
main_instruction | 01,0000,16 | 操作命令:01表示功能码,0000是起始寄存器地址,16表示连续取16个字节长度 |
minor_instruction | 0000,2 | 操作参数:0000是起始寄存器地址,2表示连续取2个字节长度 |
level_r | 3 | 0-1事件级别(0表示屏蔽报警、1表示显示报警、2以上表示显示并记录报警、最大级别8) |
level_d | 1 | 1-0事件级别(0表示屏蔽报警、1表示显示报警、2以上表示显示并记录报警、最大级别8) |
工具使用录屏 gif:
上次更新: 12/12/2023, 7:27:04 PM
← 内网平台获取外网平台数据 SNMP→