某第三方设备返回“02 03 02 AA BB CC DD”7个字节的数据,02 03 02固定,AA BB CC DD为不固定。
如果DD固定,将02为起始,DD为结束条件,便能顺利执行RCV指令。
已参考http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/005.html,还是实现不了读取“02 03 02 AA BB CC DD”这7个字节数据。DD的变化,让我不知道如何读取AA BB的值,请问如何设置SMB87的起始与结束条件呢?
图片说明:
最佳答案
DD是校验码,每次接收是不一定一样的,肯定不能做为结束条件。
02是设备地址,如果只有一台设备,倒是可以用这个作为起始条件。如果你有两台及以上,那就要及时更新起始字符。因为你接收数据前,肯定会发送请求的,所以我认为你用任意字符都可以作为开始条件的。用空闲检测也没问题。
如果你确定每次都是接收7个字节,你可以用最大字符数作为结束条件,再配合一个消息定时器,就更加安全。
也可以对接收的字符进行一次校验,确保正确。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347373.html