发表于:2020/4/30 15:44:17
#0楼
解决办法如下:
设备的16进制地址百转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。
设备定义PLC,莫迪康,Mobus,rtu,串口。
变量类型选IO实型,连接设备自己选一下,寄存器里填40003或40004。(这里说一下,如果度你的设备的开始位为0的话就要在地址后面再加一个1.具体说明参看组态王设问备驱动帮助里的PLC---莫迪康---MODbus-rtu )。
数据类型的选择也很重要一般选择,Short型或UShort型或Long型(组态王的数据类型定义很乱,也不能完全怪软件开发,设备生产也有问题。不要将它和C等编程答语言的类型定义严谨相比)。
用组态王的设备测试功能试一内下就会明白了,另外,设备定义成Short时组态王会读取一个寄存器的数据,定义成LONG时会连续读取两个寄存器的数据。这在设备数据分高、低容位存储时就会有很大的区别。
设备的16进制地址百转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。
设备定义PLC,莫迪康,Mobus,rtu,串口。
变量类型选IO实型,连接设备自己选一下,寄存器里填40003或40004。(这里说一下,如果度你的设备的开始位为0的话就要在地址后面再加一个1.具体说明参看组态王设问备驱动帮助里的PLC---莫迪康---MODbus-rtu )。
数据类型的选择也很重要一般选择,Short型或UShort型或Long型(组态王的数据类型定义很乱,也不能完全怪软件开发,设备生产也有问题。不要将它和C等编程答语言的类型定义严谨相比)。
用组态王的设备测试功能试一内下就会明白了,另外,设备定义成Short时组态王会读取一个寄存器的数据,定义成LONG时会连续读取两个寄存器的数据。这在设备数据分高、低容位存储时就会有很大的区别。