本文以自由通讯口接收结束消息方式为例,通信伙伴的数据是一帧一帧发送的,比如通信伙伴每隔 100ms 发送一帧 01 02 03 04 05 给S7-200,S7-200接收这些数据,那么我们有几种方法可以正确接收到这些数据:
1、指定空闲线时间(可以理解为两帧数据之间的间隔)为50ms(小于发送间隔时间100ms),则当发送完第一帧 01 02 03 04 05 后,启动空闲时间检测,超过50ms即认为一帧数据结束,准备接收下一帧数据。这可以看做是“字符间定时器”结束消息方式。
2、指定接收结束字符为05,则当接收到 01 02 03 04 05 后,即收到结束字符05后,认为一帧数据结束,再接收到的 01 02 03 04 05 认为是下一帧数据,依此类推。这可以看做是“结束字符检测”结束消息方式。
3、指定接收数据长度为5,则收到 01 02 03 04 05 (5个字符)后,即认为一帧数据结束,再接收到的 01 02 03 04 05 认为是下一帧数据,依此类推。这可以看做是“最大字符计数”结束消息方式。
4、其他条件还包括“消息定时器”、“奇偶效验错误”、“用户终止”等结束消息的方式,或者这些条件的组合作为结束消息的方式。
那么在应用中选择哪种结束消息的方式,要具体情况具体分析。这话说起来很空洞,但确实如此,因为自由口通信本身就决定了,不同的通信对象间的数据帧格式(或协议)是设备厂家自由定义的,这就要求事先充分理解通信协议,并在此基础上进行选择。
另外一方面,如果能灵活掌握这部分内容,还可以解决一些实际问题。比如大家都知道数据要接收到接收缓冲区,而接收缓冲区的大小是有限制的(255个字节),那么怎么能够接收到大于255个字节的数据呢(缓冲区溢出后前面的数据被覆盖)?可以考虑设置“最大字符计数”为结束消息方式,将数据分为多个部分依次进行接收。
导读:目前正在解读《自由通讯口如何正确接收结束消息》的相关信息,《自由通讯口如何正确接收结束消息》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《自由通讯口如何正确接收结束消息》的详细说明。
提醒:《自由通讯口如何正确接收结束消息》最后刷新时间 2023-07-10 04:03:14,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《自由通讯口如何正确接收结束消息》该内容的真实性请自行鉴别。