S7-200自由口通信知识分享(5)

在前面主要跟大家分享了下自由口通信中的一些基本概念,使用的指令及自由口通信的接收功能中如何进行消息起始的判断,那么今天跟大家分享下自由口通信中使用接收功能接收信息时,如果进行消息结束条件的判断。因为只有当PLC接收到结束条件时 ,PLC才会认为是消息接收完成,此时才会关断PLC端口的接收功能,同时产生一个接收完成中断。

在自由口通信接收功能中,消息结束条件的判断,主要会用三种方式,第一种方式使用结束符作为消息的结束判断(若有特定的结束符的时候,可以使用结束符作为消息的结束条件判断)。第二种,使用消息定时器作为消息的结束条件判断。第三种,通过字符定时器作为消息结束条件的判断。对于第一种通过结束符作为消息的结束判断,在自由口通信知识分享(3)这篇文章中已经有跟大家提到过,今天我们主要说说第二种的消息结束判断方式——消息定时器作为消息的结束判断条件。这里主要跟大家分享下消息定时器用于判断消息结束的过程已经如何使用。

消息定时器判断消息结束的过程:

所谓的消息定时器,并不是说需要编程人员去编写一个定时的程序来做判断,而是PLC自动会去做判断,跟我们在前面一篇文章中提到的空闲线时间的检查一样的道理。

若设定了消息的结束判断条件为消息定时器,PLC会在消息的起始条件满足后, 开始计时,当计时时间到后,关断接收功能,这段计时的时间就是消息定时器定时的时间,如下图所示:

当消息起始条件满足后,PLC会开始进行字符的接收,并把接收到的字符存储到接收缓冲区中,同时启动消息定时器,开始检查消息定时器的条件,在消息定时器所规定的时间还没有到时,接收到的字符都会存入到接收缓冲区中,当消息定时器设定的定时时间到后,PLC会关断接收功能,终止接收,消息定时器时间到后,发送过来的字符,PLC不进行接收。如果把这个接收过程比喻成我们人与人交流,例如,A在给B汇报一件事情,这一件事情的内容,就是我们通信中的信息,当A开始汇报的时候,按照预算,这个汇报最多十分钟,可以汇报完,那如果给A十五分钟的时间做汇报,能否汇报完呢?答案当然是肯定的。而消息定时器,就是类似于这种原理。

在这里面有 两个三个条件需要我们去设置,首先,如何告诉PLC是消息定时器?其次,在什么时候开始计时?最后,定时器的时间长度如何设置,设置到哪里?设置多长时间合适?

如何告诉PLC使用消息定时器作为消息的结束条件判断:

通过对控制字节的设置,可以告诉PLC接收功能中判断消息的结束条件是以消息定时器作为消息的结束条件的判断。

如上图所示,我们需要告知PLC使用消息定时器作为消息的结束条件,我们需要设置控制字节中的SM87.2和SM87.3(以PORT0为例),要使用消息定时必须设置SM87.3=1,SM87.2=1.

什么时候开始启用消息定时计数:

消息定时器的启动,需要配合起始条件来实现,当消息的起始条件满足后,CPU会自动启动消息定时器。

定时器的时间长度如何设置,设置多长时间合适?

通常,指定一个从消息开始算起的允许接收消息的最大时间。消息定时器的典型值约为在选定波特率下接收最长消息所需时间值的 1.5 倍。 当然在使用的过程中,并不一定按照这么严格的计算,有可能会超过1.5倍的时间长度。假设一个字符加起始位,停止位,奇偶校验位为,数据位,为11个bit位,波特率为9.6kbps。则接受10个字符的时间需要的长度,我们可以设置为20ms。

时间计算出来后,如何设置?设置到哪里呢? PLC有提供系统存储器用于设定消息定时的定时时间长度,对于port0来讲,我们需要把时间存储到SMW92这个系统存储器中,可以使用传送指令把20传送到SMW92中。

我们以空闲线作为消息接收的起始条件,以消息定时器作为消息接收的结束条件,来说明下如何进行设置:

以上为个人理解,如有不对之处请给予指正,希望对大家在学习自由口通信时,有所帮助,谢谢!!!

(待续。。。)

(0)

相关推荐

  • 一起学习:西门子200 PLC自由口通讯

    编程自由口通讯的基本步骤 1 设置通讯参数:如果是集成在本机上基于RS485口,在SMB30中设置(prot0口);如果是采用通讯信号板,则在SMB130中设置(prot1口),这2个地址的设置,仅仅 ...

  • 西门子PLC自由口通讯 中断,这么用很方便!

    以前我们讲过关于自由口通讯的实例,今天我们讲一下自由口通讯配合中断的实例. 在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯 ...

  • S7-200自由口通信知识分享(6)

    在上一篇的文章中,跟大家分享了自由口通信中,用消息定时器作为信息接收的结束条件的判断过程, 那么今天继续跟大家分享另外一个用于消息的接收过程中判断消息的结束条件 -- 字符定时器方式作为消息的结束条件 ...

  • S7-200系列PLC自由口通信知识分享(3)

    在前面的文章中与大家分享了自由口通信中的发送功能,那么进行就跟大家聊聊自由口通信中的接收功能,自由口通信中的难点就是在于接收功能的使用,当PLC通过通信端口把数据发送给下位设备后,下位设备会根据PLC ...

  • S7-200系列PLC自由口通信知识分享(2)

    在上一篇文章中,我们提到了有关于自由口通信的一些基础知识,给大家解释了什么叫通信协议,什么叫信息帧或消息报文,起始符/结束符与起始位/停止位之间的关系.那么今天就跟大家聊聊西门子S7200系列的自由口 ...

  • S7-200系列PLC自由口通信分享(4)

    在上一篇文章中,与大家分享了S7-200系列PLC中自由口通信中的接收指令.消息接收时用于判断消息的起始和结束的几种方式,也给大家分享了下使用起始符和结束符作为消息的起始和结束的判断,那今天给大家分享 ...

  • 西门子S7-200 SMART自由口通信参数如何设置?如何编写发送程序和接收程序?如何测试?

    西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信.支持的串口协议,包括自由口协议.USS协议.MODBUS协议和PPI协议.STEP7 Mic ...

  • 【案例】S7-200SMART与扫描枪自由口通信应用

    ↖戳上方  蓝字  " PLC发烧友 "   关注我们哦! 本案例主要让读者掌握练习S7-200SMART串口通信的接线,协议的分析,熟悉使用自由口通信的发送指令和接收指令,自由口 ...

  • 【经典编程案例】S7-200SMART与扫描枪自由口通信应用

    本案例主要让读者掌握练习S7-200SMART串口通信的接线,协议的分析,熟悉使用自由口通信的发送指令和接收指令,自由口通信程序的设计等. 案例说明 通过PLC发送读取命令到扫描枪,触发扫描枪对条码进 ...

  • 西门子S7-1200与第三方设备自由口通信详解

    西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备(扫描枪.打印机等设备进行通讯.因为没有第三方的设备 ...

  • 西门子S7-200系列PLC自由口通信程序设计之数据的发送

    在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收.接收指令RCV应用的难点,在于如何设置"判断接收消息的起始条件和结束条件" ...