1 / 14
文档名称:

西门子S7-200自由口通讯知识.doc

格式:doc   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西门子S7-200自由口通讯知识.doc

上传人:fy5186fy 2016/6/19 文件大小:0 KB

下载得到文件列表

西门子S7-200自由口通讯知识.doc

相关文档

文档介绍

文档介绍:S7-200 系列自由口通讯的实现及应用比较有用的资料,有 S7-200 PLC 的话,可以试试。 1 引言为了达到和通讯协议已知的控制设备进行数据交换,以提高自动化控制系统的灵活性, 很多 plc 制造商都相继的开发出了方便、灵活的自由口通讯方式, 例如三菱公司的 fx2 系列 plc , omron 公司的 cjm1 系列的 plc , 西门子公司的 s7-200 系列 plc 等都提供了自由口通讯模式。自由口通讯是指 plc 提供了串行的通讯硬件,和用于定制通讯协议的相关指令,在控制系统中, 当要和 plc 连接的控制设备的通讯协议已知时, 可以在 plc 中进行编程定制通讯协议, 和控制设备进行数据通讯。本文主要介绍西门子 s7-200 的自由口和计算机的串口进行的通讯, 计算机中采用 visual basic 进行编程, 从而实现计算机与可编程控制器的直接控制。该通讯方式具有效率高、容易实现、通讯硬件简单、容易配置等特点在工业控制领域中被广泛应用。 2 s7-200 通讯指令及特殊字节采用自由口通讯方式时, s7-200 上的 rs485 口完全由用户控制, 可以与任何协议已知的设备进行通讯,在这种情况下通讯协议完全由用户制定,为此, s7-200 提供了用于进行通讯协议定制的特殊标志位以及相关的通讯指令。 特殊标志字节 s7-200 用于自由口通讯模式定义的特殊标志字节有 smb30 和 smb130 , smb30 用于 s7- 200 的端口 0 的通讯, smb130 用于 s7-200 的端口 1 的通讯,两者的格式一样,下面我们以 smb130 为例,介绍其组成。 smb130 各位的含义如下: pp :两位用于选择通讯的校验方式当这两位的组合是: 00 无校验 01 偶校验 10 无校验 11 奇校验 d :这一位用于选择通讯的数据位数 d=1 时7 个数据位, d=0 时8 个数据位 bbb :用于选择自由口通讯是的波特率,这三位的组合和通讯波特率的关系如下: 000 —— 38400bps 001 —— 19200bps 010 —— 9600bps 011 —— 4800bps 100 —— 2400bps 101 —— 1200bps 110 —— 600 bps 111 —— 300 bps mm: 用于通讯协议的选择,当这两位的组合是: 00 ppi 从站模式 01 自由口通讯模式 10 ppi 主站模式 接收信息的状态字节 s7-200 在自由口通讯时用于接受信息的状态有 smb86 和 smb186 , smb86 用于 s7-20 0 的端口 0 的通讯, smb186 用于 s7-200 的端口 1 的通讯,两者的格式一样,下面我们以 s mb186 为例,介绍其组成。 smb186 各位的含义如下: n=1 时:表示禁止接收信息 r=1 时:表示接收信息结束 e=1 时:表示收到结束字符 t=1 时:表示接收信息超时错误 c=1 时:表示接收信息字符超长错误 p=1 时:表示接收信息奇、偶校验错误 接收信息的控制字节 s7-200 在自由口通讯时用于接受信息的控制字节有 smb87 和 smb187 , smb87 用于 s7- 200 的端口 0 的通讯, smb187 用于 s7-200 的端口 1 的通讯,两者的格式一样,下面我们以 smb187 为例,介绍其组成。 smb187 各位的含义如下: en=0 时:禁止接收信息 en=1 时:允许接收信息 sc=0 时:不使用起始字符开始 sc=1 时:使用起始字符做为接收信息的开始 ec=0 时:不使用结束字符结束 ec=1 时:使用结束字符做为接收信息的结束 il=0 时:不使用空闲线检测 il=1 时:使用空闲线检测 c/m=0 时:定时器是字符定时器 c/m=1 时:定时器是信息定时器 tmr=0 时:不使用超时检测 tmr=1 时:使用超时线检测 bk=0 时:不使用中断检测 bk=1 时:使用中断检测 其它和自由口通讯有关的特殊字节( 见表 1) 自由口通讯的指令(1) 发送指令 xmt 其指令格式如图所示: 发送指令用于激活发送数据缓冲区 tbl 中的数据, 数据格式如下所示, 数据缓冲区中的第一个数据是指定要发送的数据的总字节数,最大为 255 个,从第二个数据开始是依次要发送的数据。 port 指定用于发送的端口,在发送完缓冲区中的最后一个数据时产生中断事件。(2) 发送指令 rcv 其指令格式如图所示: 接收指令 rcv 用于从指定的端口接收数据, 并将接收到的数据存储与其参数 tbl 所指定的缓冲区内,缓冲区的第一个字节指示接收到的字节数量,第二个字节指示接收的起始字