吴明永 王国伟 吴明亮
(1.兰州城市学院 培黎石油工程学院,甘肃兰州 730070;2.兰州理工大学 机电工程学院,甘肃兰州 730050)
信息技术的飞速发展,引起了自动化系统结构的变革,以网络为主干的自动化分布式控制系统成为行业趋势,并深入到工业自动化的各个层次当中,从现场设备、PLC、I/O设备等硬件到操作系统、驱动设备以及HMI的应用,可谓无处不在,它已经成为整个自动化控制系统的灵魂。
目前,随着网络化的日趋完善,锅炉监控系统亦采用网络化的设计方法成为必然。本文以甘肃省天水市某集中供暖工程为背景进行了基于OPC和Industrial Ethernet和Profibus技术的锅炉监控系统的网络开发设计,以实现控制系统整体的计算机化、最优化和网络化,获得最佳的节能效果。
系统根据锅炉设备实际安装位置和监控任务,本着“分散控制、集中管理”的原则,整个控制系统按3层结构和3种网络进行结构规划和系统组态。三层结构即为操作管理层、过程控制层和现场检测层;3种网络即为工业以太网、Porfibus-DP现场总线网络和Modbus网络[1]。其系统拓扑结构如图1所示。
操作管理层主要由1台工程师站(ES)和2台操作员站(OS)组成。ES负责PLC硬件和通讯组件的组态,并设计带有操作功能和工艺图的操作界面,以及对归档和协议的设计等;OS用来控制锅炉设备,并同时承担过程值和消息的管理、维护和归档功能等。
操作管理层采用西门子的PROFINET工业以太网,具有实时通道通讯服务和等时同步实时通讯服务功能,在网络通信量增大和实时性要求较高的情况下保持系统的良好网络性能和鲁棒性。
过程控制层的S7-300 PLC站一方面通过Porfibus-DP现场总线网络与现场检测层的远程I/O站ET200M和智能从站S7-200进行通讯,采集系统相关的现场传感器、变送器、执行机构和其他设备的实时运行数据和状态信息,控制相关设备的运行,如调节循环水泵、补水泵和炉排的运行速度等。另一方面将系统的数据信息通过PROFINET工业以太网上传到操作管理层的监控中心进行处理,同时执行OS站发出的操作指令。该层将支持Porfibus-DP和PROFINET工业以太网接口的S7-300 PLC数据通过SIMATIC NET OPC和Ethernet/IP通讯方法连接到OPC服务器,通过OPC服务器对现场检测层实时数据进行封装,OPC客户端可以通过OPC服务器接口存取数据,实现信息流的纵向流动;在设备层横向通信方面,OPC服务器之间可以通过标准接口规范进行数据交换,实现现场检测层设备之间的通讯[2]。
现场检测层由远程I/O站ET200M和S7-200 PLC组成。它们作为过程控制站S7-300 PLC的从站,采集现场电气设备的开关信号和模拟信号,控制相关设备的启停、PID闭环调节等。并通过Profibus-DP现场总线网络与过程控制层进行数据实时交换。
图1 系统的网络结构
智能从站S7-200 PLC与现场变频器进行Modbus网络通讯,完成引风机和鼓风机等变频器的频率设定,采集变频器的反馈频率、电压、电流参数。
通过以太网实现S7-300 PLC与OPC通讯的前提条件是PLC配备以太网模块(如CP343-1)或者使用带有PN接口的PLC(这里采用了CPU315-2PN/DP型PLC),并在组态计算机(PC)上安装了STEP7 V5.4和SIMATIC NET 2006等软件。
OPC(OLE for Process Control)指用于过程控制的对象链接与嵌入技术。它以微软的COM(组件对象模型)和DCOM(分布式组件对象模型)技术为基础,定义了一套标准接口,使不同的应用程序、控制器能够相互交换数据[3]。若上位监控软件(如WinCC)和各种应用程序通过Siemens提供的SIMATIC NET OPC技术进行读写S7-300 PLC主站数据,可大大提高了系统的可扩展性和系统集成的兼容性,同时,也提高了软件运行的稳定性和可靠性,便于系统的升级和日常维护。
在组态之前,要先把PG/PC接口改为“PC internal(local)”。因为组态的PC站的组态结果最终要下载到PC本机上,PC站要实现两个功能,一是OPC服务器的组态,二是CPU315以太网通讯PN口的客户端组态。在该项目中插入一个PC站,在1号槽位中插入OPC Server,在3号槽位中插入IE General,然后双击IE General模块并点击“Properties”按钮,在组态画面中输入IP地址和子网掩码,这里的地址与PC机上的IP地址和子网掩码必须相同[4],如图2 所示。
在Windows界面的开始菜单栏“运行”中键入CMD,进入DOS界面,使用网络命令PING测试以太网通讯是否建立,PING的命令如下:ping目标IP地址,参数。
这里 PN 口的 IP 地址为 192.168.0.2,子网掩码:255.255.255.0;PC 组态机的 IP 地址为 192.168.0.1,子网掩码:255.255.255.0。在测试界面中,若显示数据连续读取,表示以太网通讯已经建立。
在SIMATIC NET的组态软件“Station Configuration Editor”中组态OPC服务器。在1号槽位中插入“OPC Server”,在3号槽位中插入“IE General”,这与Step7中组态的PC站是相对应的,其中“Station Name”一定要与在Step7中组态的“PC Station”的名字相同,在本项目中使用的默认的名字“SIMATIC PC Station(1)”。组态好的OPC服务器如图3所示。
组态好OPC服务器,就要对其进行通讯测试。由于SIMATIC NET提供了测试OPC服务器的客户端程序,在本机器上运行OPC Scout软件,测试本机OPC Server的建立是否成功,选择所需变量后观察变量连接 OPC Server的 Quality栏,如果显示为“good”则连接成功,表示此时OPC Server已在这台机器上正常运行,可以在PLC主站和OPC Server之间交换数据。
用Profibus紫色电缆将CPU315、IM153的DP口与EM277的DP相连,并将两个IM153端的网络连接器上的拨钮拨到“off”,
并将首端CPU315和末端EM277的网络连接器上的拨钮拨到“on”。并分别对两个ET200M和EM277的“BUS ADDRESS”拨盘开关的PROFIBUS地址设定为3、4、5(可任意设定)。
组态远程I/O站ET200M,是为了减少电缆的敷 设,可以在现场设备附近放置不同类型的I/O模块,其网络组态如图 4所示。组态过程如下[5]
(1)先插入一个S7-300站,然后双击“Hardware”选项,进人“Hw config”窗口。点击“catalog”图标打开硬件目录,按硬件安装次序和订货号依次插人机架、电源、CPU等。
(2)点击 DP总线“master:DP master system(1)”,在 PROFIBUS-DP选项中,通过左边的“PROFIBUS-DP→ET200M→IM153-1”路径,选择接口模块IM153-1,添加到PROFIBUS网络上。
(3)定义ET200M接口模块IMl53-1的PROFIBUS站地址,组态的站地址必须与IMl53-1上拨码开关设定的站地址相同。
(4)在ET200M站上添加I/O模块。
组态之后,分布式I/O将如同集成在S7-300 PLC机架上的I/O一样。
图4 ET200M网络组态图
S7-300与S7-200通过EM277进行PROFIBUS-DP通讯时,需要在STEP7中进行S7-300站组态,而在S7-200系统中不需要通讯组态和编程,只需对进行通讯的数据整理存放在V存储区与S7-300组态EM277从站时的硬件I/O地址相对应就可以了。
3.2.1通讯映射区对应关系
EM277通过 PROFIBUS进行数据交换时,必须对硬件组态预先设定通讯区来实现。这个数据区通常称为通讯映射区或缓冲区,因为该通讯区就通讯双方来说是互为映射的。主从站缓冲区的关系如图5所示。
3.2.2在STEP7中 组态EM277
选中STEP7的硬件组态窗口中的菜单Option GSD,导入SIEM089D.GSD 文件,安装 EM277从站组态文件[6]。
图5 通讯映射区地址对应关系
EM277的输出和输入数据缓冲区驻留在S7-200 CPU变量存储器(V存储器)内,输入缓冲区紧跟随输出缓冲器。缓冲区的大小是由 DP主站组态设定的(设定为16?Word?Out/16?Word?In)。组态后,EM277可接收从主站S7-300来的输出数据,并将输入数据返回给主站。?
进行硬件网络组态时设定的EM277站地址必须与EM277本机的左上方的拨码开关设定的地址一致。在变动旋转开关之后,必须重新启动S7-200 CPU电源才能使通讯地址生效。
目前国产的过程仪表和变频器大都采用基于串行接口的Modbus RTU通讯模式,西门子S7-200的编程软件专门为Modbus RTU通信开发了指令库,极大地简化了Modbus RTU通信的开发,以便于快速实现相关应用。通过Modbus RTU主站指令库,使得S7-200可作为Modbus RTU中的主站设备集成到Modbus网络中,以实现与Modbus从站设备(国产变频器)的通信。其编写部分程序如图6所示。
图6 Modbus主站通讯程序
西门子Modbus主站协议库包括两条指令:MBUS_CTRL指令和MBUS_MSG指令。
(1)MBUS_CTRL指令
MBUS_CTRL指令用于S7-200端口0的MBUS_CTRL指令可初始化、监视或禁用Modbus通讯。在使用MBUS_MSG指令之前,必须正确执行MBUS_CTRL指令。指令完成后立即设定“完成”位,才能继续执行下一条指令。MBUS_CTRL指令在每次扫描且EN输入打开时执行。该指令必须在每次扫描时(包括首次扫描)被调用,以允许监视随MBUS_MSG指令启动后所出现的通讯进程消息。除非每次调用MBUS_CTRL,否则Modbus主设备协议将不能正确运行。
(2)MBUS_MSG指令
MBUS_MSG指令用于启动对Modbus从站的请求并处理应答。当EN输入和“首次”输入都为1时,MBUS_MSG指令启动对Modbus从站的请求。发送请求、等待应答、并处理应答,通常需要多次扫描。EN输入必须打开以启用请求的发送,并应保持打开直到“完成”位被置位。必须注意的是,一次只能激活一条MBUS_MSG指令。如果启用了多条MBUS_MSG指令,则将处理所执行的第一条MBUS_MSG指令,之后的所有MBUS_MSG指令将中止并产生错误代码6。
以OPC、Ethernet和Profibus技术构建的锅炉监控系统网络,使得开关和模拟信号不再用电线、电缆进行互连,这样就使信号传递方式发生了根本性变化。采用现场总线技术构成的控制系统,其控制功能将更加分散,系统的构成更加灵活、可靠性更高。通过OPC、Ethernet和Profibus技术的相互融合,有效地解决了基础自动化控制网络、过程和管理控制系统之间的无缝集成问题。
[1]李正军.现场总线与工业以太网及其应用系统设计[M].北京:人民邮电出版社,2006.
[2]向东,王润孝,秦现生.基于OPC的多层控制系统架构设计与实现[J].计算机应用,2003,23(3):68-70.
[3]贾智平.基于OPC技术的分布式监控系统研究[J].计算机工程与应用,2004,1(20):208-210.
[4]邢晨.基于以太网和OPC技术的异构网络系统设计与实现[D].武汉:武汉理工大学控制理论与控制工程,2005:40-48.
[5]崔坚.西门子工业网络通信指南[M].北京:机械工业出版社,2005.
[6]孙承志.西门子S-200/300、400 PLC基础与应用技术[M].北京:机械工业出版社,2009.