一个应用的难题请指教 点击:840 | 回复:10



雪饮刀

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:9帖 | 35回
  • 年度积分:1
  • 历史总积分:32
  • 注册:2013年7月13日
发表于:2017-01-05 20:31:18
楼主
求助帖10分-未结帖

西门子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值。就是不知道该怎么实现? 或者有其他好的思路吗?



楼主最近还看过



guoyuanlin

  • [版主]
  • 精华:3帖
  • 求助:9帖
  • 帖子:112帖 | 2222回
  • 年度积分:901
  • 历史总积分:43825
  • 注册:2011年10月21日
发表于:2017-01-08 09:53:16
1楼

还没晒!!!真的不知道

lkmwfn1211

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 28回
  • 年度积分:17
  • 历史总积分:194
  • 注册:2012年12月01日
发表于:2017-01-09 10:21:33
2楼

这个不太清楚,难搞啊!

大眼睛熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 237回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2012年9月26日
发表于:2017-01-16 22:26:22
3楼

这个不太清楚,难搞啊!

baolunrong

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 133回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2013年10月25日
发表于:2017-01-17 16:02:23
4楼

这个不太清楚,难搞啊!

芳季

  • [版主]
  • 精华:5帖
  • 求助:7帖
  • 帖子:102帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2017-01-17 22:13:54
5楼

如果人工判断,你说说你怎么判断?

且,假设我没头没尾的把中间一部分数据给你,你能判断吗?

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

人怎么做,程序就怎么设计。

芳季

  • [版主]
  • 精华:5帖
  • 求助:7帖
  • 帖子:102帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2017-01-17 22:17:49
6楼

先不这么复杂吧。

2341234123212341234123

这里面有多少个1234?作为人工分辨,怎么分辨?

通讯网

  • 精华:11帖
  • 求助:2帖
  • 帖子:453帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2017-01-20 00:44:51
7楼

你不要自己造协议,而是要选择现有的比如modbus来做数据通讯,因为里面有语句可以自动识别。

雪饮刀

  • 精华:0帖
  • 求助:3帖
  • 帖子:9帖 | 35回
  • 年度积分:1
  • 历史总积分:32
  • 注册:2013年7月13日
发表于:2017-01-28 21:41:19
8楼

标准modbus协议容易处理,特殊的串口协议也可以处理。 像这种差不多属于并口通讯的协议,因为是固有的设备不好更改,所以在这个基础上看看怎么识别?

回复内容:

对: 通讯网 你不要自己造协议,而是要选择现有的比如modbus来做... 内容的回复!


HF123564

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 16回
  • 年度积分:1
  • 历史总积分:597
  • 注册:2014年10月15日
发表于:2017-02-17 17:10:07
9楼

你可以做一个循环扫描的程序,依次扫描T1到T8的值并且做比较,当比较值相等时再取出存放就OK了

xuefeng0127

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2010年3月19日
发表于:2017-07-01 20:03:36
10楼

不太清楚.............



热门招聘
相关主题

官方公众号

智造工程师