硬件组态:CM1241RS232 +CPU1212C + SM1223
上位机主站,上位机通过Modbus RTU获取CPU和扩展模块输出线圈值时,遇到如下现象:
1、读取单个输出线圈值,一切正常。
2、仅读取同一个字节的数据时,即Q0.0-Q0.7(00001-00008) 或 Q1.0-Q1.7(00009-00016),一切正常。
3、读取从Q0.0(00001)开始并超过8位且小于16位的数据时,无法读取到第二个字节(后8位)的值,即Q0.0-Q0.7的值能正常获取,Q1.0开始的值不能读取到;若读取个字节16位数据时,后8位数据(Q1.0—Q1.7)也能正常读取到。
例1:读取Q0.0—Q1.0(00001—00009)的数据时,仅前8位数据可以正常获取,第9位无法获取。
例2:读取Q0.0—Q1.7(00001—00016)的数据时,16位数据均能正常获取。
4、读取非Q0.0(00001)开始的输出线圈值,即使超过8位小于16位数据,也能正常读取到全部的值。
例3: 读取Q0.1(00002)开始的连续9位输出线圈值,即Q0.1—Q1.1(00002—00010),第一个字节的7位和第二个字节的2位均可以正常获取。
以上问题是BUG,还是我PLC的开发中没有配置好?