200的自由口通讯说明

200的自由口通讯说明

ID:40487526

大小:850.90 KB

页数:23页

时间:2019-08-03

200的自由口通讯说明_第1页
200的自由口通讯说明_第2页
200的自由口通讯说明_第3页
200的自由口通讯说明_第4页
200的自由口通讯说明_第5页
资源描述:

《200的自由口通讯说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自由口通讯概述S7-200PLC的通讯口支持RS485接口标准。采用正负两根信号线作为传输线路。工作模式采用串行半双工形式,在任意时刻只允许由一方发送数据,另一方接收数据。数据传输采用异步方式,传输的单位是字符,收发双方以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位。传输速率可以设置为1200、2400、4800、9600、19200、38400、57600、115200。字符帧格式为一个起始位、7或8个数据位、一个奇/偶校验位或者无校验位、一个停止位。字符传输从最低位开始,空闲线高电平、起始

2、位低电平、停止位高电平。字符传输时间取决于波特率。数据发送可以是连续的也可以是断续的。所谓连续的数据发送,是指在一个字符格式的停止位之后,立即发送下一个字符的起始位,之间没有空闲线时间。而断续的数据发送,是指当一个字符帧发送后,总线维持空闲的状态,新字符起始位可以在任意时刻开始发送,即上一个字符的停止位和下一个字符的起始位之间有空闲线状态。示例:用PLC连续的发送两个字符(16#55和16#EE)(程序如图3和图4),通过示波器测量CPU通讯端口管脚3/8之间的电压,波形如下图1.:示例说明:16进制的16

3、#55换算成2进制等于2#01010101,16进制的16#EE换算成2进制等于2#11101110。如图所示,当数据线上没有字符发送时总线处于空闲状态(高电平),当PLC发送第一个字符16#55时,先发送该字符帧的起始位(低电平),再发送它的8个数据位,依次从数据位的最低位开始发送(分别为1、0、1、0、1、0、1、0),接着发送校验位(高电平或低电平或无)和停止位(高电平)。因为本例中PLC连续的发送两个字符,所以第一个字符帧的停止位结束后便立即发送下一个字符帧的起始位,之间数据线没有空闲状态。假如PL

4、C断续的发送这两个字符,那么当PLC发送完第一个字符帧的停止位后,数据线将维持一段时间空闲状态,再发送下一个字符帧。字符传输的时间取决于波特率,如果设置波特率为9.6k,那么传输一个字符帧中的一位用时等于1/9600*1000000=104us,如果这个字符帧有11位,那么这个字符帧的传输时间等于11/9600*1000=1.145ms.通讯口初始化SMB30(对于端口0)和SMB130(对于端口1)被用于选择波特率和校验类型。SMB30和SMB130可读可写。见下图2.图2.特殊存储器字节SMB30/SM

5、B130示例:定义端口0为自由口模式,9600波特率,8位数据位,偶校验,程序如下图3.:图3.通讯口初始化程序发送数据发送指令XMT能够发送一个字节或多个字节的缓冲区,最多为255个。使用边沿触发。发送缓冲区格式:第一个字节为字符个数,其后为发送的信息字符。示例:如果PLC连续发送2个字符16#55和16#EE,程序如下图4.:图4.发送指令程序示例说明:PLC通过数据块写入数据。XMT指令中TBL缓冲区首地址VB200写入发送字符的个数,VB201和VB202分别写入发送字符。通讯口波形图如图1.判断发

6、送完成的方法:方法一:发送完成中断。通过连接中断服务程序到发送结束事件上,在发送完缓冲区中的最后一个字符时,则会产生一个中断。对通讯口0为中断事件9,对通讯口1为中断事件26。连接中断程序到中断事件示例如下图5.:图5.建立发送完成中断的程序方法二:发送空闲位。当port0发送空闲时,SM4.5=1。当port1发送空闲时,SM4.6=1.示例:如果PLC断续的发送2个字符16#55和16#EE.方法一:利用发送完成中断,在主程序中建立中断事件,执行XMT发送16#55,发送完成后,进入发送完成中断程序中,

7、执行XMT发送16#EE。波形图如图6.图6.字符波形图方法二:利用发送空闲位。当执行XMT发送完16#55后,利用SM4.5/4.6的上升沿(确保发送的字符帧发送完成),往XMT的TBL缓冲区写入新字符16#EE,并再次触发发送。波形图如图7.图7.字符波形图两种方法均断续发送字符,即两个字符之间有空闲状态。注意:由于SM4.5/4.6的使用受程序扫描周期的影响,编程中推荐使用发送完成中断。Break断点Break状态:持续以当前波特率传输16位数据,且一直维持“0”状态。产生方式:把字符数设置为0并执行

8、XMT指令,可以产生一个Break状态。Break用途:可以作为接收的起始条件。示例:通过XMT指令发送一个Break断点。偶校验,8个数据位,9.6K。程序如下图8.:图8.发送一个断点的程序Break状态的波形图如下图9.图9.一个断点波形图如果通过接收方为上位机或者S7-200PLC,那么它们接收到的字符为16#00.那么通过发送一个Break断点接收到的16#00与发送一个字符帧16#00有什么不同呢?B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。