- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
S型PLC之间的PPI协议通信
* S7-200型PLC之间的PPI协议通信之一 每个控制器管理一个生产工段,有时候各个工段间需要协同工作,这就要求在控制器之间传递信息。 PPI协议是西门子S7-200型PLC之间交换信息的专用协议,PPI协议是一种点对点协议,它只定义了一次通信中的主从问题,在不同时刻,节点的主从是可以变化的。 A机:主 B机:从 第一次通信: A机:从 B机:主 第二次通信: 实际的工程中,为了便于网络管理和扩展,通常会指定一台S7-200为主机,其余为从机。 主机 从机 从机 从机 S7-200型PLC组网通信时,从机不需要编写程序,读写数据的程序是放在主机上的,从机收到主机的读写请求后会自动响应回送数据。S7-200主机使用NETR和NETW指令来读写从机的数据。 主机 从机 读数:NETR 写数:NETW NETR/W指令 读写指令只有一条,而一段完整的程序包含以下三个步骤 1、通信口初始化 强制通信口工作在PPI主站下,设定通信速率,数据位长度和校验 2、装载从站信息 指定对方的:地址,数据区,读写的数据长度 3、读数/写数 一段完整程序如下 通信口初始化 从机PPI地址:3 读从机IB0开始的数据 读1个字节的数据 执行读指令 指令执行完后将读到的数据反映到QB0上 清空读写区域 下面通过分析一个例子来详细说明读写指令的使用。 例1:两台S7-200,一台PPI地址2,另一台PPI地址3,要求2号机的QB0与3号机的IB0同步变化(比如I0.0闭合,Q0.0吸合)。 分析:将地址为3的PLC上IB0的状态传送到地址为2的PLC上。 AD:2 AD:3 IB0 QB0 两种方法: 第一种,2号机读3号机,2号机为主机,3号机为从机。 在2号机上编程,使用读指令(NETR)。 AD:2 NETR AD:3 无通信程序 IB0 QB0 两种方法: 第二种,3号机向2号机写入数据,3号机为主机,2号机为从机。 在3号机上编程,使用写指令(NETW)。 AD:2 无通信程序 AD:3 NETW IB0 QB0 方法一:2号机读3号机 任务分解 第一步:从机(3号机)的编程和配置 从机不需要编程,只需要在通信开始之前配置好从机的地址即可。 第二步:主机(2号机)的编程和配置 (1)配置:与从机类似,主机在通信开始之前也要配置地址 (2)编程。 注意:在默认配置下S7-200的PPI地址是2。 第一步:配置从机的PPI地址 将从机的PPI地址设为3,编译下载。注意,CPU226有两个通信口:P0和P1 第二步:配置主机的PPI地址 将主机的PPI地址设为2 问题:这里的波特率配置对通信有没有影响?? 第三步:编程——1、通信口初始化 设定P0通信口的参数,SMB30=2#10的含义如下: PPI主站模式, 速率为38400bit/S, 数据位有8个位 无奇偶校验 特殊功能寄存器SMB30和SMB130分别用来控制P0口和P1口的工作模式。想想看,要P0工作模式为PPI主站,速率115200bit/S,数据8位,偶校验,SMB30=?? 10 110 0 01 SMB30=2第三步:编程——2、装载从站信息 清空读写区域 将要读取的从机地址是:3 读从机IB0开始的连续数据区 数据量是一个字节,每次最多读写16个字节的数据 第三步:编程——3、读指令 上面这行程序的意思是:如果通信口空闲,执行读数指令,否则放弃等待下一个扫描周期。 数据的收发与程序执行是异步的,如果扫描周期很短,则一条读/写数指令可能要经过几个周期才能执行完毕。如果上一条读数指令未执行完,又触发一个新的读指令,新的读指令将被乎略。 周期一 周期一 周期二 周期三 周期四 周期二 程序 通信 读写指令区 读写指令并没有详细描述通信的具体细节,这些细节是由读写指令区域中的内容来指定的。读写指令区由五部份组成,是一个长度为8~23字节的区域,由定长和变长两个区域组成。 1、指令执行状态(1字节) 2、从机地址(1字节) 3、从机数据区起始地址(4字节) 4、读写的数据量(1字节) 5、主机的读写缓存(1~16字节) 定长区域 变长区域 读写指令区 读写指令区是一个长度为8~23字节的区域,具体内容如下 D A E 0 错误代码 第一部份:指令执行状态 指令执行状态字节位于读写指令区的最前面,用来表示指令执行的状态。 D:完成位 D=0,指令未触发,或己触发但未完成;D=1,指令完成。 A:执行位 A=0,指令未触发;A=1,指令正在执行。 E:错误位 E=0,指令未触发,或指令执行完且无通信错误发生;E=1,执令执行完毕,但有通信错误发生 注意:指令执行状态字节的内容在下一条读写指令执行前将保持不变,这一特点被用来触发新的一条读写指令。 *
文档评论(0)