1 引言
随着工业自动化技术的发展,人们对自动化监控系统的要求越来越高。而在设计开发实时监控系统时,现场设备与上位机软件的通讯是关键技术,下面主要介绍国产流行工控软件“组态王”与西门子S7-200的通信方式。
2 组态王简介
“组态王”是在PC机上建立工业控制对象人机接口的一种智能软件包,它以Windows 98/Windows 2000/ Windows NT4.0中文操作系统作为其操作平台,具有图形功能完备,界面一致友好,易学易用的特点。该软件包由工程管理器(ProjManager)、工程浏览器(TouchExplorer)、画面运行系统(TouchVew)三部分组成。ProjManager用于新建工
3 S7-200系列PLC
西门子公司的SIMATIC S7-200系列属于小型可编程序控制器,可用于代替继电器的简单控制场合,也可以用于复杂的自动化控制系统。S7-200系列PLC共有5种基本型号的CPU模块,即CPU221、CPU222、CPU224、CPU226、CPU226XM,控制点数可以从10点扩展到248点。其中,CPU221无扩展功能,适于用做小点数的微型控制器,CPU222有扩展功能,CPU224是具有较强控制功能的控制器,CPU226和CPU226 XM适用于复杂的中小型控制系统。所有型号的CPU在内部都集成了1个(CPU221、CPU222、CPU224)或2个(CPU226, CPU226XM)通讯口,该通讯口为标准的RS485口,可在三种方式下工作,即PPI方式、MPI方式和自由通讯口方式。另外,S7-200可通过增加EM277模块接入Profibus-DP网络,通过CP243-1通讯模块连入工业以太网,通过CP243-2模块使其成为AS-i主站。
4 组态王与西门子S7-200的几种通信方式
4.1 组态王的通讯机制
组态王把每一台与之通讯的设备看作是外部设备,为实现和外部设备的通讯,组态王内置有大量的设备驱动作为外部设备的通讯接口。在开发过程中,只需根据工程浏览器提供的“设备配置向导”,一步步完成连接过程,即可实现组态王和相应外部设备驱动的连接。在运行期间,组态王可以通过驱动接口和外部设备交换数据,包括采集数据和发送数据或指令。组态王的驱动程序采用ActiveX技术,每一驱动都是一个COM对象,这种方式使驱动和组态王构成一个完整的系统,从而保证运行系统的高效率,如图1所示。因此,组态王可以与一些常用I/O设备直接进行通讯,如可编程控制器(PLC)、智能模块、板卡、智能仪表等。组态王与I/O设备之间的数据交换采用五种方式:串行通讯方式、DDE方式、板卡方式、网络节点方式、人机接口卡方式。
图1 组态王与外部设备通讯示意图
4.2 组态王与S7-200的PPI通信方式
&nbs
在组态王的“数据字典”中定义相关变量,选择变量类型为I/O型,并选择连接设备,指定所访问的寄存器名及寄存器类型。注意,组态王只支持V寄存器,如果要监控Q、I、M寄存器,可以先在PLC程序中将Q、I、M寄存器传至V寄存器,组态王通过对V寄存器的操作来实现对Q、I、M寄存器的监控。另外,组态王不支持直接以I/O离散变量的定义,需以字节(BYTE)形式存取,每一BYTE类型(8个BIT位)对应8个开关量的输入或输出状态,即BYTE的0~7位分别对应输入或输出的0~7开关量通道,如果要显示或控制某一开关量通道的状态,可以使用组态王提供的BIT()或BITSET()函数进行取位或置位。在制作好的监控画面中,将画面的图素与定义的变量建立“动画连接”,在TouchVew中运行,即可建立实时通信,得到一个反映工业现场的监控画面。
4.3 组态王与S7-200的MPI通信方式
MPI(Multi-Point)为多主站的通信方式。在西门子公司的可编程控制器、操作员界面和编程器上的集成有MPI口,可与PC机、S7-200建立小型的MPI网。由于S7-200只能作为MPI从站,所以装有组态王的PC机与S7-200仍为主/从协议。PC机通过MPI卡(如CP5611通讯卡)接入MPI网中作为主站。其通信设置和使用与前类同。
4.4 组态王与S7-200的自由口通信方式
自由口通讯方式是S7-200的一个很有特色的功能。它是一种通讯协议完全开放的工作方式,不受PPI协议的限制,是PPI方式的一个补充。在该方式下的通讯口的协议由外设决定,PLC通过程序来适应外设。从而使得S7-200系列PLC可以与任何具有通讯能力的并且协议公开的设备相通讯,即S7-200可以由用户自己定义通讯协议。
在与组态王采用自由口协议方式通讯时,为主从的问答方式,装有组态王的上位机为主呼方,下位机S7-200为应答方。亚控公司提供了使用STEP 7 Micro/WIN编写的自由口通讯的PLC初始化程序,该梯形图程序通过接收中断和发送中断以及发送指令(XMT)控制通信口的操作,其默认的PLC通讯端口为PORT0,地址为2,波特率9600bps。若要更改通讯端口、地址和波特率,可在S
在使用亚控的PLC初始化程序具体操作时,首先用PC/PPI电缆将PC机的串口与S7-200的通讯口相连,当CPU为226时,有两个通讯口:PORT0和PORT1,应选择PORT0与组态王进行通讯,因为此时使用PORT1通讯不上。在PC/PPI电缆上有DIP开关,用于设置通讯的波特率,此处设为9600bps,与SET PG/PC intererface中的设置一致。使用PLC编程软件STEP 7-Micro/WIN32安装和设置PC/PPI电缆,建立计算机与S7-200的连接后将亚控公司提供的自由口通讯的初始化程序下传至PLC中去。在组态王中定义外部设备为西门子S7-200系列编程口通信,并设定如下通信参数:波特率9600bps,数据位
4.5 组态王与S7-200的Profibus-DP通信方式
Profibus-DP是用于分布式的I/O设备高速通信的一种协议,该协议定义了主站和从站,支持单主或多主系统,各主站间为令牌传递,主站与从站间为主/从传送,主站周期地读取从站的输入信息并周期地向从站发送输出信息。
S7-200可通过增加EM277 Profibus-DP扩展模块的方法支持Profibus-DP网络协议,作为DP从站。使用Profibus-DP协议方式S7-200和组态王通讯时,需要通过OPC方式来实现,组态王不再提供直接的DP驱动,其中西门子提供OPC Server,组态王作为OPC Client进行数据通讯。具体配置过程为:
(1) 将CP5611通讯卡安装在PC机中,并根据硬件安装向导安装卡的驱动程序,用Profibus-DP通讯电缆将CP5611卡与EM277通讯口相连,CP5611作为DP主站。
(2) 在PC机上安装Simatic net 6.0软件,它用于组态整个Profibus-DP网络。软件安装后,首先选择SIMATIC NET→Settings→Configuration Console,在PC Station中添加OPC Server程序及CP5611通讯卡;然后使用SIMATIC NET→Settings→Commissioning Wizard→PC Station Wizard创建项目和虚拟PC Station;更改硬件组态时,在弹出PC Station 的配置图中添加EM277的GSD文件后,设置CP5611卡的地址和通讯波特率及协议模式,此处我们将CP5611卡的地址设为1,通讯波特率设为1.5M,协议选择DP,并将CP5611卡操作模式选择设为DP Master;在HW Config窗口的DP Master 总线上添加EM277模块作为DP从站,双击总线上的EM277模块设置其地址(要求与实际模块的拨码设置一致) ,此处我们设为2,并为EM277建立数据交换区,可根据实际需要选择交换区大小;在SET PG/PC Interface设置为S7ONLINE(STEP 7)→PC internal(local), CP_L2_1:→CP5611(PROFIBUS);然后将以上配置信息下载到虚拟PC站中,如图2所示:
图2 Profibus-DP硬件组网界面
(3) 通过西门子提供的OPC Server程序读写PLC中的的数据。用鼠标点击SIMATIC NET→Profibus→Softnet Profibus→OPC Scout",进入OPC Server的项目配置环境;在OPC Server中用鼠标双击"OPC.SimaticNet",新建一个组名,双击创建的组则可打开"OPC-Navigator",此时
可看到在配置网络过程中选择的协议;双击“DP”项,在OPC中作相应的定义。定义完毕后,运行OPC Server程序,则可通过Profibus-DP总线协议和PLC建立连接。(4) 用组态王读取OPC Server中的数据。在组态王中选择OPC.SimaticNET建立OPC服务器,在“数据字典”中定义变量,变量为I/O型,连接设备为OPC服务器,即OPC.SimaticNET,寄存器中可直接引用OPC中所定义的所有变量元素;在制作好的画面上建立变量的动画连接并运行组态王,则组态王可通过OPC与S7-200通信。
5 结束语
利用组态王开发简单,网络通信不需了解协议的具体细节的优点,结合S7-200良好的开放性和兼容性,可建立多种实时监控系统,提高工业自动化水平。