菜单

ModBus常见问题

下载

二:485发送接收错误字节问题

不同485设备可能存在电平翻转速度不一致问题,如果有接受字节错误或者收不到数据,可尝试调高调低波特率。

三:地址合并问题

如果多个变量连续地址,驱动会自动合并地址一起采集,有些设备不支持多地址或者超过某个数(常见4或5)的地址查询。

四:轮询时间问题

每次翻页后,当前页面需采集变量和驻留变量会重新合并采集完等待一个采样间隔时间即完成一个采样周期。

五:变量读写时序操作问题

用脚本函数vm->getInt("设备变量名称",intvalue) 得到的值是基于采样得到的值,如果当前变量不在当前页面引用也没有设置全局驻留(即不在当前采样列表内),就不会得到设备变量实时值。

六:WORD FLOAT DWORD BIT 问题

七:主机从机问题

一:功能码(01 02 03 04 05 06 15 16)问题


!!!鑫通态HMI ModBus协议不支持 07 17功能码其余功能码均支持。

①01功能码 对应0区输出线圈(或继电器)读取状态操作

方式一:
控件绑定定义好的0区设备变量

运行当前页面即会轮询发送 01 01 ADDH ADDL 00 01 CRC_H CRC_L
方式二:

cpp 复制代码
  int BoolValue;
  vm->("0区一个地址变量",BoolValue,true) //即可立即发送  01 01 ADDH ADDL 00 01 CRC_H CRC_L

②02功能码 对应1区输入继电器读取状态操作

方式一:
控件绑定定义好的1区设备变量

运行当前页面即会轮询发送 01 02 ADDH ADDL 00 01 CRC_H CRC_L
方式二:

cpp 复制代码
  int BoolValue;
  vm->("1区一个地址变量",BoolValue,true) //即可立即发送  01 02 ADDH ADDL 00 01 CRC_H CRC_L

③03功能码 对应4区保持寄存器读取数值操作

④04功能码 对应3区输入寄存器读取数值操作

⑤05功能码 对应0区输出线圈(或继电器)写入操作

⑥06功能码 对应4区保持寄存器写入数字操作

⑦15(0X0F)功能码 对应0区输出线圈(或继电器)连续地址写入操作

⑧16(0X10)功能码 对应4区输出寄存器读取数值操作

01 05功能码 视频

### 02功能码 视频

03 06功能码 视频

04功能码 视频

最近修改: 2025-02-10Powered by