Kepware 读取16位或32位数据时,结果不是真实数据的问题解决
kepware采集PLC的数据“IW260”
IW260的值为61696,与PLC中显示的数值不一致。
61696二进制表示“11110001 00000000”,低8位“00000000”变为十进制为0;高8位“11110001”变为十进制为241,而241是IW260在PLC中显示的数值。由此可看出,当kepware读取PLC中的16位数据时,我们需要将高8位与低8位进行一个调换(同理读取32位数据),那么如何在kepware中实现呢?
我们需要修改我们创建“设备”时的默认参数设置。选择创建的设备名称,单击右键,选择【属性】,在弹出的属性编辑器中选择【寻址选项】,我们可以看到此处字节顺序默认为“大端字节序”,我们需要将其改成“小端字节序”.
字节顺序改完之后,我们再次监控数据,如下所示,值变为241