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

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

空闲线概念:

空闲线条件定义为传输线路上的安静或空闲时间(即在传输线路中没有信号的变化)。

在串行异步通信的过程中,信息的发送时以位的方式进行传输,每一个位的状态为“0”或是为“1”,对于传输线路来讲传输“0”或是“1”则传输线路上会表示为不同的电平,有电平的变化,则说明不是一个安静或是空闲的状态,若有数据进行传输时,那么这个安静或是空闲的状态维持的时间就不够长或是没有,就算发送的数据全部是0或是1来讲,也会有电平的变化,因为一个字符中起始位用“0”表示,停止位用“1”表示。但当不发送数据时,传输线路中并没有电平的变化,则就可以产生一段安静或是空闲的状态。

在串行异步通信中的数据传输过程中,是一个字符一个字符接着发送的,发送完第一个字符后发送第二个字符,每个字符的发送都是以位的方式一个一个位进行传输的。因此在数据传输的过程中,这个传输线路上的安静或空闲的时间段比较端,但如果没有数据发送的时候,空闲或是安静的时间会比较长,所以我们可以在启动接收指令后,就开始侦测传输线上的空闲或安静时间,如果空闲或安静时间到了,而且也没有接收到数据,说明这段时间线路上是没有数据的传输的,过了空闲时间后,接收到了数据,则说明有数据开始传输了,所以可以把接收到的第一个字符就认为是这条信息的起始,是一个有效的字符把它存储到接收缓冲区中。

若在启用了接收指令后,开始检查传输线路中空闲线的时间,但在空闲线的设定的时间内接收到字符,这时PLC会认为这并不是一个完整的消息,可能接受到的是一条信息中某个段的数据,所以不把他作为一个有效的数据,PLC会丢弃接收到的这个字符然后重新启用空闲线检测。过程如下图所示:

空闲线时间的设置:

要使用空闲线的时间去作为消息的起始的判断必须要做以下两个设置:

(1)设置接收功能的控制字节,告诉PLC使用空闲线作为消息的起始判断

(2)设置空闲线的时间长度。

控制字节的设置如图所示:

使用空闲线的时,需要把控制字节中的SM87.4/Sm187.4 设置为1,表示使用空闲线检测起始。

设置空闲线时间的长度:

空闲线时间的长度设置:可以使用传送指令给SMW90(port0)或是SMW190(port1)设置空闲线的时间 ,空闲线时间设置的长度通常为3.5个字符的时间长度,

假设通信格式设置中为1个起始位,8个数据位,无奇偶校验,1个停止位,9600bps,则一个字符的传输时间为1ms多一点的时间,所以3.5个字符的时间长度,我们可以把空闲线时间设置为4ms。

下面以空闲线作为消息的起始,以结束符(16#26 )作为消息的结束为例,设计一段接收的程序来说明设置过程:

未完,待续.......

(0)

相关推荐

  • UART波形详解

    UART(Universal Asynchronous Receiver/Transmitter)是一种异步全双工串行通信协议,由Tx和Rx两根数据线组成,因为没有参考时钟信号,所以通信的双方必须约定 ...

  • 串口基本知识

    一.什么是串口通讯? 举个例子,人与人之间的沟通可通过书面文件,语音或视频来交换信息.那么设备和计算机之间用来交换信息的桥梁是什么呢?那就是串口通讯.串口通信是以串行数字二进制形式用不同方法交换数据的 ...

  • SIMATIC S7-1500 PLC的通信及其应用(通信的基本概念)基础精华帖

    支撑关键词--1:上/下位机 上位计算机:人可以直接发出操控命令的计算机,一般是PC(电脑),或者HMI(人机触摸板)屏幕上显示各种信号变化(液压,水位,温度等). 上位计算机:下位机是直接控制设备获 ...

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

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

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

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

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

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

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

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

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

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

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

    在前面主要跟大家分享了下自由口通信中的一些基本概念,使用的指令及自由口通信的接收功能中如何进行消息起始的判断,那么今天跟大家分享下自由口通信中使用接收功能接收信息时,如果进行消息结束条件的判断.因为只 ...

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

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

  • 西门子PLC自由口通讯 中断,有多少人用过?

    在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间.那么这个时候对于PLC来说通讯就是最重要的,所以我们需要打断PLC的 ...

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

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