组态王与S7200通过MODBUS通讯,在数据词典中定义变量时,添加V区变量、MODBUS功能码4,因MODBUS通讯没有M区地址,想通过字分离出位来代替M区,通过西门子MODBUS地址计算器算出地址,用该地址定义变量时弹出错误窗口,请问出现这种情况该定义变量?
图片说明:
最佳答案
1、如你第二张图,变量名为“test_v1010_0”,变量类型为“I/O整型”,将数据寄存器地址就写为40006,数据类型改为 USHORT。
2、另外定义一个"内存离散"型变量,比如变量名是 “test_v1010_bit8”;
3、在“应用程序命令语言” 的“运行时”中用BIT()函数来取“test_v1010_0”中的第8位,命令如下
test_v1010_bit8=Bit( test_v1010_0, 8 );
这时”test_v1010_bit8“这个内存离散变量取到的值就是 40006.08的状态。
注意看BIT()函数的帮助,测试一下取第8位还是第9位,因为帮助中的位顺序是从1开始的,这个你要确认一下。
图片说明:
提问者对于答案的评价:
非常感谢你及时的回答,此方法很有效。
最佳答案作者回复:
很高兴解决了您的问题,这个平台就是用来大家共同学习提高的。众人拾柴火焰高。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367769.html