S7200型PLC之间的PPI协议通信

上传人:枫** 文档编号:569963664 上传时间:2024-08-01 格式:PPT 页数:30 大小:289KB
返回 下载 相关 举报
S7200型PLC之间的PPI协议通信_第1页
第1页 / 共30页
S7200型PLC之间的PPI协议通信_第2页
第2页 / 共30页
S7200型PLC之间的PPI协议通信_第3页
第3页 / 共30页
S7200型PLC之间的PPI协议通信_第4页
第4页 / 共30页
S7200型PLC之间的PPI协议通信_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《S7200型PLC之间的PPI协议通信》由会员分享,可在线阅读,更多相关《S7200型PLC之间的PPI协议通信(30页珍藏版)》请在金锄头文库上搜索。

1、S7-200S7-200型型PLCPLC之间的之间的PPIPPI协议通信协议通信每个控制器管理一个生产工段,有时候各个工段间需要协同工作,这就要求在控制器之间传递信息。PPI协议是西门子S7-200型PLC之间交换信息的专用协议,PPI协议是一种点对点协议,它只定义了一次通信中的主从问题,在不同时刻,节点的主从是可以变化的。A机:主B机:从第一次通信:A机:从B机:主第二次通信:实际的工程中,为了便于网络管理和扩展,通常会指定一台S7-200为主机,其余为从机。主机从机从机从机S7-200型PLC组网通信时,从机不需要编写程序,读写数据的程序是放在主机上的,从机收到主机的读写请求后会自动响应回

2、送数据。S7-200主机使用NETR和NETW指令来读写从机的数据。主机从机读数:NETR写数:NETWNETR/W指令读写指令只有一条,而一段完整的程序包含以下三个步骤1、通信口初始化强制通信口工作在PPI主站下,设定通信速率,数据位长度和校验2、装载从站信息指定对方的:地址,数据区,读写的数据长度3、读数/写数一段完整程序如下通信口初始化从机PPI地址:3读从机IB0开始的数据读1个字节的数据执行读指令指令执行完后将读到的数据反映到QB0上清空读写区域下面通过分析一个例子来详细说明读写指令的使用。例1:两台S7-200,一台PPI地址2,另一台PPI地址3,要求2号机的QB0与3号机的IB

3、0同步变化(比如I0.0闭合,Q0.0吸合)。分析:将地址为3的PLC上IB0的状态传送到地址为2的PLC上。AD:2AD:3IB0QB0两种方法:第一种,2号机读3号机,2号机为主机,3号机为从机。在2号机上编程,使用读指令(NETR)。AD:2NETRAD:3无通信程序IB0QB0两种方法:第二种,3号机向2号机写入数据,3号机为主机,2号机为从机。在3号机上编程,使用写指令(NETW)。AD:2无通信程序AD:3NETWIB0QB0方法一:2号机读3号机任务分解第一步:从机(3号机)的编程和配置从机不需要编程,只需要在通信开始之前配置好从机的地址即可。第二步:主机(2号机)的编程和配置(

4、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,

5、数据8位,偶校验,SMB30=?10110001SMB30=2#01011010第三步:编程2、装载从站信息清空读写区域将要读取的从机地址是:3读从机IB0开始的连续数据区数据量是一个字节,每次最多读写16个字节的数据第三步:编程3、读指令上面这行程序的意思是:如果通信口空闲,执行读数指令,否则放弃等待下一个扫描周期。数据的收发与程序执行是异步的,如果扫描周期很短,则一条读/写数指令可能要经过几个周期才能执行完毕。如果上一条读数指令未执行完,又触发一个新的读指令,新的读指令将被乎略。周期一周期一周期二周期三周期四周期二程序通信读写指令区读写指令并没有详细描述通信的具体细节,这些细节是由读写指令

6、区域中的内容来指定的。读写指令区由五部份组成,是一个长度为823字节的区域,由定长和变长两个区域组成。1、指令执行状态(1字节)2、从机地址(1字节)3、从机数据区起始地址(4字节)4、读写的数据量(1字节)5、主机的读写缓存(116字节)定长区域变长区域读写指令区读写指令区是一个长度为823字节的区域,具体内容如下DAE0错误代码第一部份:指令执行状态指令执行状态字节位于读写指令区的最前面,用来表示指令执行的状态。D:完成位D=0,指令未触发,或己触发但未完成;D=1,指令完成。A:执行位A=0,指令未触发;A=1,指令正在执行。E:错误位E=0,指令未触发,或指令执行完且无通信错误发生;E

7、=1,执令执行完毕,但有通信错误发生注意:指令执行状态字节的内容在下一条读写指令执行前将保注意:指令执行状态字节的内容在下一条读写指令执行前将保持不变,这一特点被用来触发新的一条读写指令。持不变,这一特点被用来触发新的一条读写指令。DAE0错误代码指令执行状态可以用状态字节来判断指令的执行情况0100错误代码1000错误代码1010错误代码指令正在执行指令执行完毕,无错误 指令执行完毕,有错误 通信错误和错误代码主要用于通信故障分析完成执行错误第二部份:远程站地址从机的站地址,长度1个字节,有效取值:1126。注意:这里的设定值要与真实的从站地址一致第三部份:从站的数据区起始地址数据区指针,长

8、度4个字节。对于读指令,这里是读数的起始地址。对于写指令,这里是从机接收数据的起始地址。有效区域四种:I、Q、M、V举例:&IB0,&VB100,&MB5第四部份:读写的数据量数据量:读写的数据量,有效取值116。就是说每条读写指令最多读写16个字节的信息。第五部份:主站的数据缓存区数据缓存。对于读指令,从站读上来的信息,放到这里。对于写指令,往从站写入的信息放到这里。读指令(NETR)把上面指定的从站里的内容放到下面的区域里写指令(NETW)把下面数据区里的内容写到上面指定的从站里完整程序如下通信口初始化从机PPI地址:3读从机IB0开始的数据读1个字节的数据执行读指令指令执行完后将读到的数据反映到QB0上清空读写区域上面演示的是第一种方法,2号机读3号机,2主3从想想看第二种方法,3号机向二号机写数据,3主2从,程序应该怎么写?下节课的任务:两台S7-200,要求其中一台的QB0与另一台的IB0同步变化,用两种方法实现。注意带上通信线结束结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号