在自由口通信接收功能中,消息结束条件的判断,主要会用三种方式,第一种方式使用结束符作为消息的结束判断(若有特定的结束符的时候,可以使用结束符作为消息的结束条件判断)。第二种,使用消息定时器作为消息的结束条件判断。第三种,通过字符定时器作为消息结束条件的判断。对于第一种通过结束符作为消息的结束判断,在自由口通信知识分享(3)这篇文章中已经有跟大家提到过,今天我们主要说说第二种的消息结束判断方式——消息定时器作为消息的结束判断条件。这里主要跟大家分享下消息定时器用于判断消息结束的过程已经如何使用。
消息定时器判断消息结束的过程:
所谓的消息定时器,并不是说需要编程人员去编写一个定时的程序来做判断,而是PLC自动会去做判断,跟我们在前面一篇文章中提到的空闲线时间的检查一样的道理。
若设定了消息的结束判断条件为消息定时器,PLC会在消息的起始条件满足后, 开始计时,当计时时间到后,关断接收功能,这段计时的时间就是消息定时器定时的时间,如下图所示:
当消息起始条件满足后,PLC会开始进行字符的接收,并把接收到的字符存储到接收缓冲区中,同时启动消息定时器,开始检查消息定时器的条件,在消息定时器所规定的时间还没有到时,接收到的字符都会存入到接收缓冲区中,当消息定时器设定的定时时间到后,PLC会关断接收功能,终止接收,消息定时器时间到后,发送过来的字符,PLC不进行接收。如果把这个接收过程比喻成我们人与人交流,例如,A在给B汇报一件事情,这一件事情的内容,就是我们通信中的信息,当A开始汇报的时候,按照预算,这个汇报最多十分钟,可以汇报完,那如果给A十五分钟的时间做汇报,能否汇报完呢?答案当然是肯定的。而消息定时器,就是类似于这种原理。
在这里面有 两个三个条件需要我们去设置,首先,如何告诉PLC是消息定时器?其次,在什么时候开始计时?最后,定时器的时间长度如何设置,设置到哪里?设置多长时间合适?