随着可编程控制器的控制功能和网络功能的不断提高,在
过程控制控制系统中,用SlEMENS的S7—300、S7—400PLC做
主站,S7—200PLC做从站组成的网络通讯系统较为普遍,然而
我们在进行各种控制网络的基本性能的比较研究中,认为在一
般要求不是很高,特别是数据传输量不大,利用PPI通讯协议组
成PPI网络,对某一个S7—200PLC使能主站后,使用网络读写
指令实现各站间数据的传递,在使用中比较经济、可靠。例如在
温控大棚群的控制系统研制和木材干燥窑群的控制系统的研究
中,使用这种数据交换模式都取得了良好的效果。这种读写指令
特别是对于解决小型生产线或小型分布式控制网络上各个分控
制器之间的数据交换比较方便快捷,尤其应用S7—200小型
PLC搭建分布式控制系统时,既能满足一般控制需要,又能降低
成本。本文以实验室购置的常州英赛控制技术有限公司的模块
化生产系统为例,介绍基于PPI协议,通过应用NETR与NETVv
指令实现S7—200PLC做主站的网络通讯控制系统方案, 阐述
了网络通讯中数据交换的原理并在此基础上叙述了软件编程的
方法。
1 网络读写指令
PPI通讯协议是SlEMENS专为S7~200开发的通讯协议,
是一种主从协议:主站发送要求到从站,从站响应;从站不发送
信息,只等待主站的要求和对要求做出响应。默认情况下,S7—
200CPU工作在PPI从站模式,要执行网络读写指令,必须用程
序把CPU设置为PPI主站模式,此时可以利用网络读写指令读
写其它的PLC,也可以响应来自其它主站的申请。网络读指令
NET只、网络写指令NETW 格式为:
NETR TBL,PORT //TBL:VB、MB
NETW TBL,P0RT // PORT:0,1
网络读指令NETR初始化一个通讯操作,通过指定的通讯
口从其他CPU中指定地址的数据区读取最多16字节的信息,
存入本CPU中指定地址的数据区。网络写指令NETvv初始化
通讯操作,通过指定的通讯口,把本CPU 中指定地址的数据区
内容写到其他CPU中指定地址的数据区内,最多可以写入16
字节。在同一个CPU内可以有任意条网络读写指令,但同一时
刻只能有最多8条网络读或写指令激活,并且网络读写指令只
能由在网络中充当主站的CPU执行,从站CPU不必专门做通
讯编程,主站可以对PPI网络中的其他任何CPU进行网络读
写。正确运用网络读写指令的关键在于对主站与远程站数据缓
冲区(数据表TBL格式)的理解,见表1与表2。
表1 主站数据缓冲区(数据表TBL)格式
字节偏移 名称 描 述
地址
7 i 0
0
错 D完成(操作已完成): o=来完成l=完成
D A E 0 误 A有效f操作L1被排队): o=无效1 有效
码 E错误f揲作返回一个错误1:o=无错.i5{1=错误
1 远程站地址 被访问的从PLC站的地址
2 数据指针宁节3
3 数据指针7节2 远程站点的数据区地址:指向被访问数据的存储地址,从
4 数据指针字节l 此字1 扦始的4个字},装入被读厂与的CPU的数据区地址,
5 数据指针字节0 指射可以指向I、O、M 和v数据区。
6 数据长度 读取或写到远程站上的数据字 数(1—16)
7 数据字节0 接收和发送数据区
8 数据字节 : 执行 N叩 t指令后.从远程站读到的
1 数据放在这个数据
: 执行NETW 指令前.要发送到远程
22 数据字节 站的数据放在这个数据区
15
表2中的各字节地址为从站
接收和发送数据区: 主站执行
NETR指令后, 此缓冲区的数据
被读到主站;主站执行NETVv指
令后,主站发送来的数据放在这
个数据区。
2 网络通讯中交换数据的原理
数据交换原理如图1所示。
表2 远程站数据缓冲区
宁节偏移地址 7 0
0 数据字节0
1 数据字节1
l5 数据宁节l5
在PLC网络中的每台S7—2OOCPU的数据存储区(V存储区)
中各划出一块链接区,每个链接区都采用图1所示的邮箱结构。
相同编号的数据区与接收区大小相同,占用相同的地址段,本站
为数据区,其它各站皆为接收区。在用户程序中,采用周期性刷
新链接区,即主站S7—200CPU在每个循环扫描周期中都有一
段时间顺序对其它各站的相应数据区进行网络读或写操作。这
样主站CPU采用周期扫描方式,按顺序与各从站交换数据,使
主站中的链接区得到周期性刷新。
由于每台PLC 的链接区大小一样, 占用的地址段相同,并
且获得周期性更新,每台PLC只要访问自己的链接区,就相当
于访问了其它PLC的链接区,即相当于与其它PLC交换了数
维普资讯 http://www.cqvip.com
《工业控制计算~)2007年20卷第5期 31
据。这样链接区就变成了各副其实的共享存储区,共享区成为各
PLC交换数据的中介。网络中每台S7—200CPU采用周期性扫描
方式与其它各站交换数据,从而使各站中链接区得到周期性刷新。
PLCl PLC2 PLC3
链接区 链接区 链接区
l l#数据区l I l#接收 l I l#接收<此处内容被屏蔽>x l
l 2#接收区l I 2#数据区l I 2#接收 l
I 3#接收区l Il l 3#接收区I I l3#数据区Il
l l l
图1 交换数据原理
3 NETR与NE_r、^/指令应用实例
实验室的模块化生产系统装置是由6套各自独立而又紧密
相连的工作站组成,这6站分别为:上料检测站、搬运站、加工
站、安装站、安装搬运站和分类站。因此,要保证生产的连续性与
稳定性,这6站除了要分别完成各站不同的功能外,还必须满足
各站间的相互协调,为此,必须建立这6站间的网络通讯实现各
站间相关逻辑指令的传送。为了节省成本,采用PPI主站模式,
应用1台S7—200CPU222做主站,5台S7—200CPU222做从
站建立网络通讯系统,该网络通讯为半双工方式的串行通讯,通
过NETR与NETW 指令实现各CPU间的数据的传送。在各站
程序的编写上我采用上位机安装的编程软件STEP7-Micro/
Win32进行编写,各从站相应的功能程序编写后下载到各从站,
主站2除了编写本站相应的功能程序外,还编写了与NETR、
NETVv指令相关的通讯程序,然后下载到主站2,最后使各站处
于RUN状态就可以实现网络中各站间的数据传送。
下面以本实例的部分程序说明NETR、NETW 在通讯网络
中的应用。
功能实现:把4站安装完成信息(V40.0)通过网络传送给5
站安装搬运站后使5站执行相应的动作(比如该动作由5站
CPU的Q0.0输出控制)。为此,2号主站应首先把4站的安装完
成信息(V40.0)通过NETR指令读人2站的NETR缓冲区然后
再把此信息通过NETW 指令写入5站的NETW 缓冲区,并由5
站的Q0.0输出控制状态。表3是2号主站网络读写缓冲区的
地址分配。
表3 网络读写缓冲区
字节意义 状态宁节 远程站地址 远程站数据区指针 读写的数据比立 数据字节
NETR缓冲 vBl00 VBl0l VD102 VB106 VBl07
NTEW 缓冲区 VBl10 VBl1l VDl12 VBll6 VBII7
从站5与主站2中的部分程序如下:
// 从站5 CPU中的程序
NETW0RK 1//接收到4站安装完成信息
(V40.0)后,使能Q0.0。//
LD V60.0
O Q0.0
AN l0.6
= Q0.0
// 主站2 CPU 中的程序
NETWORK 1//首次扫描时,允许PPI主站模
式,清空所有接收缓冲区和发送缓冲区。//
LD SM0.1
MOVB 2 SMB30
FILL +0 VW 100 40
NETWORK 2//将读取4站的安装完成信息
(V40.0)读人2站的VB200/,/
LD V100.7
MOVB VB1 07 VB200
NETWORK 3 //按字节读取4站的安装完成
信息(VB40)//
LDN SM0.1
AN V100.6
AN V100.5
MOVB 4 VB101
MOVD &VB4O VD102
MOVB 1 VB106
NETR VB1O0 0
NETW0RK 4//把读人2站(4站安装完成
信息)信息按字节写入5站(VB60)//
LDN SM0.1
AN V110.6
AN V110.5
MOVB 5 VB111
MOVD &VB60 VD1 12
MOVB 1 VB116
MOVB VB2oO VB117
NET、/\/ VB110 0
通过此例可以看出,运用NETR与NETVv指令实现$7-
2o0CPU之间的通讯程序编写简单,用户根据具体情况只要对
本例程序加以扩展就能够满足相应的控制要求。
4 结束语
本方案已经成功应用于我院自动化实验室的模块生产系统
上。实践表明,基于PPI主站模式的网络通讯系统性能可靠,达
到了要求的控制效果。
参考文献
[1]SIMATIC S7—200 Programmable Controller System Manual[z]
2004
[2]廖常初.PLC编程及应用<此处内容被屏蔽>M<此处内容被屏蔽>.北京:机械工业出版社,2004:150-152
[3]西门子(中国)有限公司自动化与驱动集团.深入浅出西门子S7—
200PLC[M].北京:北京航空航天大学出版社,2003:101-105
『收稿日期:2006.9.14]
(上接第83页)
和便利的操作方式,显示的画面有:车间流程画面,区域流程,安
装、组信息,车间生产信息,车间换班信息,车间输送设备信息,
设备状态,PLC控制的输送设备起停许可信息,车间、区域、安装
及工作组的报表,车间、区域、安装及工作组的趋势。服务器会收
集所有通过车间内由PLC产生的数据和警报,并将其传递至浏
览器。操作者和管理人员可以通过现场的浏览器了解整个车间
的生产状况。收集的信息也会存人SQL数据库并通过MS
Access或Excel用于生成报表。
4 结束语
系统充分利用了ControlLogix5550系统的三层网络管理,
使整个生产系统实现全方位自动化流水作业。各个生产现场的
数据可以通过各浏览器或数据报表提供给生产管理者,使其在
最快的时间内做出抉择。数据的集中监控和管理的信息化使整
个系统能满足现代汽车柔性化生产的要求。
参考文献
[1]邱公伟.可编程控制器网络通信及应用[M].北京:清华大学出版社,
2000
[2<此处内容被屏蔽>罗克韦尔自动化.H.O.T.2000培训手册[M].浙江:浙江大学罗克韦
尔自动化技术中心
[收稿日期:2006.11