西门子200 PLC的IB0会依次接收字节内容
F1 T1 FF XOR(F1和T1的异或值)
F2 T2 FF XOR
F3 T3 FF XOR
F4 T4 FF XOR
F0 T5 FF XOR
F6 T6 FF XOR
F7 T7 FF XOR
F8 T8 FF XOR
字节发送间隔25ms(比如F1和T1的间隔为25ms),目前PLC运行正常扫描周期29ms。想把T1 T2 T3 T4 T5 T6 T7 T8 取出来。
原来设想把IB0的这些32个字节依次存放到32个寄存器,然后判断第一个寄存器为F1且第三个寄存器为FF 且第四个寄存器为F1和T1的异或值时取出T1值。就是不知道该怎么实现? 或者有其他好的思路吗?
-
引用 yujie0612 2017/2/17 18:40:39 发表于2楼的内容
-
-
zhanghe 发表于 2017/2/18 15:46:39
如果人工判断,你说说你怎么判断?
且,假设我没头没尾的把中间一部分数据给你,你能判断吗?
FF XOR F2 T2 FF XOR F3 T3 FF XOR F4 T4 FF XOR F0 T5 FF XOR F6 T6 FF XOR F7 T7 FF XOR F8 T8
人怎么做,程序就怎么设计。
引用 zhanghe 2017/2/18 15:46:39 发表于3楼的内容
-
-
-
zhangmengmeng | 当前状态:在线
总积分:1958 2024年可用积分:2
注册时间: 2013-12-26
最后登录时间: 2023-08-14
-
zhangmengmeng 发表于 2017/2/19 11:16:10
你不要自己造协议,而是要选择现有的比如modbus来做数据通讯,因为里面有语句可以自动识别。
引用 zhangmengmeng 2017/2/19 11:16:10 发表于4楼的内容
-