首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

基于OPC及工业以太网的iFIX与PLC的通信

2022-07-24 来源:华拓网
(8)2064 2009,30

计算机应用技术

0引言

在工业控制领域,一般可以把控制系统分为上位机和下位机两部分。上位机控制系统常通过组态软件来实现,组态软件能以灵活多样的组态方式提供良好的开发环境,提高控制系统的开发效率,iFIX是由美国Intellution公司开发研制的

工业自动化组态软件;以PLC作控制系统的下位机,PLC(pro-grammablelogiccontroller)的全称是可编程逻辑控制器,PLC和iFIX广泛应用于工业控制的各个领域。对于控制系统的实时性、可靠性及稳定性等而言,上位机与下位机之间的通信是十分重要的。OPC(OLEforprocesscontrol)技术在上位机与下位机之间提供了一系列标准的方法和接口,提高了整个系统的可扩展性。工业以太网与普通以太网兼容,通过工业以太网可以在企业内部建立从底层设备到高层信息系统无缝连接的网络控制系统,提高控制系统的自动化与信息化水平。

下位机由分散的PLC组成,负责采集现场数据及控制现场设备;上位机由OPC服务器和iFIX组态软件组成,负责显示人机交互界面,实时反映生产过程的各种数据,接受操作人员的控制命令,上位机与下位机通过工业以太网连接。

1系统结构

如图1所示,整个系统可以分为上位机部分和下位机部分。

1.1

OPC介绍

OPC(OLEforprocesscontrol)既用于过程控制的对象链接

收稿日期:2008-05-16;修订日期:2008-07-16。

陶峥,陈曾汉:基于OPC及工业以太网的iFIX与PLC的通信

和嵌入,是将Microsoft的对象的连接和嵌入技术(objectlinkandembed,OLE)应用于过程控制[1]。在OPC技术得到广泛应用之前,上位机的应用程序通过编写专用的驱动程序,来存取硬件设备的数据。这样,不同的应用程序及不同的硬件设备之间需要不同的驱动程序,硬件设备的升级也需要修改应用程序。另外,当多个应用程序访问硬件设备时,会造成设备访问的冲突。OPC技术的出现,建立了一套符合工业控制要求的通信接口规范,硬件设备只需要一个驱动程序按照OPC的标准提供数据源,而上位机应用程序只要按照OPC规范去存取数据,便可以实现应用程序与硬件设备的通信。OPC技术由两个部分组成:OPC服务器和OPC客户端。OPC服务器负责采集数据,将现场设备与驱动程序封装起来,作为数据源,供应用程序使用。在系统中,我采用KEPServerEx作为OPC服务器。KEPServerEx是Kepware的OPC服务器产品,具有广泛的设备驱动程序插件和组件,可以很方便的与多种设备建立连接。

[1]

2009,30(8)

系统的通信原理

2065

2

系统的通信原理如图2所示,在读取现场数据的过程中,首先由PLC采集信息,保存在CPU模块的数据块中。PLC的运行包括5个不断循环的过程:内部处理、通信服务、输入采样、程序执行、输出刷新[4]。在通信服务过程中,PLC的CPU模块经过CP341-1Lean通信模块和以太网与上位机建立连接,KEPServerEx作为OPC服务器通过相应的驱动程序获取CPU模块中的数据。OPC服务器包括3个层次的对象:OPCserver,OPCgroup,OPCitem。在访问OPC服务器的过程中,OPCClientV7.34a(OPC驱动)首先建立OPCserver对象,OPCserver对象包含OPC服务器的信息,是OPCgroup对象的容器,用于与具体OPC服务器建立连接;然后OPC驱动建立OPCgroup对象,OPCgroup对象是OPCitem对象的容器,其中包括有数据采集

方式(同步或异步,读数据缓存或设备)、采样率以及激活状态等信息;最后建立OPCitem对象,OPCitem对象对应着硬件设备具体的存储地址,是读写的最小逻辑单元。iFIX通过OPCClientV7.34a(OPC驱动)按照采样率从OPCitem对象中读取数据,保存在驱动器映像表DIT(driverimagetable),然后扫描报警控制程序SAC按照配置的扫描时间,从DIT中读取数据保存到过程数据库PDB(processdatabase)。最后,画面显示、历史数据保存等应用就可以通过结点名、标签名及域名访问PDB,这样就完成了iFIX读取PLC数据的过程。在PLC与iFIX之间的数据流是双向的,相应的可以通过相反的顺序从iFIX向PLC写入数据。

状态显示、历史趋势、操作命令等应用

1.2iFIX组态软件介绍

iFIX是一类组态软件,所谓组态的概念来自configuration,

含义是使用软件工具对计算机及软件的各种资源进行配置,达到使计算机或软件按照预先配置,自动执行任务,满足使用者要求的目的。组态软件是数据采集与过程控制的专用软件,是在自动化控制系统监控层一级的软件平台和开发环境,以灵活多样的组态方式提供良好的用户开发环境,利用其内部预置的常用软件模块,可以方便的实现监控层的常用基本功能。目前,主要的组态软件包括有:InTouch、iFIX、Citech、

WinCC、组态王、Controx(开物)、ForceControl(力控)等。其中,iFIX是由美国Intellution公司开发研制的工业自动化组态软件,软件功能强大,组态灵活方便,采用许多工业标准技术,保证其开放性和扩展性。

[2]

1.3PLC及工业以太网简介

可编程逻辑控制器PLC,是以微处理器为基础,综合了计

过程数据库PDB

(ProcessDatabase)

扫描、报警和控制程序SAC

算机技术、自动化控制技术和通信技术而发展起来的一种通用的工业自动控制装置[3]。在该系统中采用的PLC是由西门子公司生产的S7-300系列,该系列采用模块化结构,可靠性高,抗干扰能力强,硬件配套齐全,具有高速的计算能力,适用于快速的过程处理或对数据处理能力有特别要求的中小型自动化控制系统。

工业以太网是指技术上与以太网兼容,但在产品设计时,需要在产品的强度、适用性以及实时性、可靠性、抗干扰性和安全等方面满足工业现场的需要。相对于其它通信方式,工业以太网技术的优点表现在:①以太网技术应用广泛,标准统一;②软硬件资源丰富,成本低廉、安装方便;③以太网的传输通讯速率高,可实现高速处理大量数据;④易于与Internet连接,实现办公自动化网络与工业控制网络的无缝连接;⑤由于以太网的广泛应用,设备与软件都非常成熟,可以方便的移植现有的技术,降低开发难度。

图2

系统通信原理

KEPServerEx(OPC服务器)OPCClientV7.34a(OPC驱动)

驱动器映象表DIT(DriverImageTable)

3iFIX与PLC通信的实现

首先将PLC各模块搭建好,然后通过工业以太网,CP341-1Lean通信模块以及以太网交换机,将PLC与上位机在物理上连接起来,然后对系统进行配置。

配置的内容包括3个方面:PLC的配置,KEPServerEx的配置,iFIX的配置。

1.4系统的软硬件配置

硬件配置:CPU314C-2DP,西门子PC适配器,以太网网

线,以太网交换机,CP341-1Lean通信模块,电源模块,计算机。

软件配制:iFIX4.0,STEP7-V5.3,KEPServerEx。

2066

3.13.1.1

2009,30(8)

PLC的配置

配置PLC硬件结构

计算机工程与设计ComputerEngineeringandDesign

3.3.3

建立过程数据库PDB

以结点名FIX1和对应的SCU文件启动iFIX后,进入数据库管理器,添加一个DI数字量输入类型数据块,标签名DI1,I/O地址为Server1;Group1;Siemens.S7_300.DB1.X1.0。在I/O地址中,Server1表示PowerTool中添加的OPCserver,即KEPSe-rverEx;Group1表示在PowerTool中自动建立一个叫Group1的OPCgroup;在Siemens.S7_300.DB1.X1.0中,Siemens表示的是OPC服务器的通道Siemens,S7_300表示通道下的设备S7_300,DB1.X1.0表示设备中的数据块DB1的第1个字节的第0位。保存数据块,并刷新数据库就能看到PLC中DB1.X1.0的值了。再建立一个AI类型的数据块,命名为AI1,I/O地址为Server1;Group1;Siemens.S7_300.DB1.REAL4,便可以从PLC中读取DB1中第4个字节开始的一个浮点数。

经过以上设置就完成了iFIX与PLC之间的基本通信,重复上述过程可以完成多台PLC与iFIX的通信。通过在画面中调用过程数据库,就可以将PLC中的数据显示出来。例如,在画面中添加DataLink,数据源设置为Fix32.FIX1.AI1.F_CV,其中FIX1表示iFIX的结点名,AI1是过程数据库所建数据块的标签名,F_CV是数据块的域名,表示数据块的当前值。运行画面,DataLink就会显示PLC中DB1的第4个字节开始的一个浮点数。

打开SIMATICManager,新建一个项目,在新建的项目中插入一个SIMATIC300的站点,然后将其重命名为STATION1。双击STATION1中的Hardware,进入HWConfig界面。在界面右侧的目录中选择PLC的各种模块,首先插入S7-300的导轨RAIL,然后在1号插槽插入电源模块,在2号插槽插入CPU314C-2DP模块,在4号插槽插入CP341-1Lean通信模块。双击CP341-1Lean通信模块,CP341-1Lean属性窗体中新建网络连接并设置IP地址,例如192.168.1.21,最后编译并保存。

3.1.2建立DB数据块

在SIMATICManager中选中STATION1中的Blocks,在里

面插入一个DataBlock,命名为DB1。双击DB1,在其中建立一个一定大小的数组,作为以后通信的数据源。

3.1.3下载组态信息

为了将相关的数据下载到PLC中,先要设置下载方式。

在SetPG/PCInterface窗体中选择PCAdapter(MPI),并在其属性窗口的本地连接中选择USB方式。将西门子PC适配器分别与PLC的MPI接口和计算机的USB接口连接起来,SI-MATICManager中选中STATION1,然后点击Download按钮,完成下载。

3.2KEPServerEx的配置

在运行KEPServerEx后,首先建立一个通道,命名为Sie-

4结束语

该文对基于工业以太网及OPC技术的iFIX与PLC的通

mens。根据向导程序,输入通道的名字,设备驱动选择SiemensTCP/IPEthernet,随后的一些网络优化的选项保持默认值,完成了对通道类型的设置。

在该通道内建立新设备,根据向导程序,输入设备名字为S7_300,设备类型选择S7_300。设备的ID号(deviceID)要与在PLC配置中的CP341-1Lean模块的IP地址相同,例如192.168.1.21,随后的选项保持默认值,这样就确定了要进行通信的具体PLC。

信原理及实现过程进行了介绍。针对于在实际工程应用中还需要对通信系统参数进行优化,在PLC与iFIX中编写相应的控制程序,图3是iFIX在某烟草企业动力能源管理系统上的应用画面。

3.33.3.1

iFIX的配置

配置iFIX的SCU文件

SCU文件是iFIX的系统配置文件,通过SCU配置,可以

对iFIX结点的网络结构,报警记录,数据库,安全等内容进行设置。在SCU配置程序的本地启动中,设置本地结点名为FIX1,组态文件为当前的文件。然后对SCADA进行设置,以确定iFIX如何获得数据。在SCADA组态窗体中,选择启动SCADA,选择数据库名称,I/O驱动器选择OPCClientv7.34a,这表示将通过OPC方式获取数据。

该系统能通过iFIX4.0实现了对现场数据的采集,如:温度,压力等,对现场设备的远程控制,历史数据的保存,报警记录以及打印报表等。相较于其它方式而言,基于工业以太网及OPC技术的iFIX与PLC的通信具有以下的优点:

(1)由于采用以太网通信,通信速率快,提高了系统实时性。

(2)工业以太网抗干扰能力强,采用光纤冗余环网可以进一步提高通信的可靠性。

(3)OPC技术为控制系统提供了规范的接口,提高了系统的扩展性。通过该系统的长期运行,证明了基于工业以太网及OPC技术的iFIX与PLC的通信是稳定可靠的。

(下转第2070页)

3.3.2配置OPC驱动

在当前窗体中,选择OPCClientv7.34a,点击“配置”,与本

地OPCClientDriver建立连接。连接建立成功后,将弹出Power-Tool应用程序,用于建立OPCClientDriver与OPC服务器的连接。在PowerTool中增加一个OPCServer,选择KEPware.KEPSe-rverEx.V4作为服务器,命名为Server1,并激活服务器。此时,便完成了OPC驱动(OPCclientv7.34a)与OPC服务器(KEPSe-rverEx)的连接。然后以结点名FIX1作为文件名,将其保存在工程路径下的PDB文件夹下。

20702009,30(8)计算机工程与设计ComputerEngineeringandDesign

模式构建的Java类,它能够在一次调用时传输大量数据元素,这样可以减少远程调用次数,减少系统的负担。另外,在业务逻辑层中充分利用了VO模式,对系统主要的数据表都实现其对应的值对象。其中两个比较典型的实例:Order、Product,如图4所示。

Order

Orderid:String

Orderitemid:CollectionUserid:Stringdate:Date

statusid:Stringtotalprice:doublegetOrderid()getOrderitems()getdate()getstatusid()gettotalprice()Order()

setOrderid()setOrderitems()setdate()setstatusid()settotalprice()

ProductProductid:Stringname:Stringunitcost:Doubleprefeprice:Doubledescription:Stringimagepath:StringgetAtts()Product()setAtts()

合企业分销系统的应用开发实例,说明了这一整合方法,实践证明了运用该方法能提高系统的性能和伸缩性,并进一步保证了系统的复用性和可维护性。这为深入研究分布式多层应用系统的开发框架,为系统从开发过程和系统性能上做进一步的改进带来一定的启示和帮助。

图4ValueObject实现类类图

从图4中可以看出,VO本身的代码比较简单,就是成员变量和存、取值的方法,没有业务逻辑,这样保证了层间数据传递的简单。此外,VO都必须能够被序列化,以便于用作RMI参数或返回值在层间传输,而且可以被作为缓存的对象在层间保留,减少了远程调用次数。

另外,本系统使用一个Java类来实现ServiceLocator模式,如图5所示,从类图中可以看出,其中的方法分别对应着EJBHome对象、DAO对象、数据库连接、订阅/发布式消息传递的连接工厂等的获取方法,该模式抽象了并简化所有的JNDI查找,在需要进行查询时,只需实例化该类,并通过其业务方法进行相关查询即可。本系统的开发环境决定,该类与EJB可以使用本地接口,这样节省了系统初始化和查找时间,以及需要的远程调用次数,另外,该类中还提供了缓存功能,利用集合类Map定义缓存,缓存所有已获得的JNDI对象以供再次使用,这样进一步减少了远程调用的次数,从而提高网络性能。

参考文献:

[1][2][3][4][5][6][7][8]

EdRoman,RimaPatelSriganesh,GeraldBrose.精通EJB[M].罗时飞,译.3版.北京:电子工业出版社,2006.

DeepakAlur,JohnCrupi,DanMalks.J2EE核心模式[M].北京:机械工业出版社,2002.

韩伟,范植华.J2EE设计模式在改进系统性能中的应用研究[J].计算机工程与设计,2005,26(4):958-960.

成典勤,崔杜武.J2EE架构下数据库访问的性能优化[J].计算机系统应用,2006(4):64-66.

RobertCMartin,Agile.Softwaredevelopmentprinciples,pat-terns,andpractices[M].PersonEducation,2003.

王爱冬,张涛,阳国贵.J2EE项目中多设计模式集成应用研究[J].微计算机信息,2007,23(11-3):282-283.

SpellB.Java专业编程指南[M].邱仲潘,译.北京:电子工业出版社,2001.

苏林凤,郭跟成.EJB性能优化设计方案[J].计算机工程,2007,33(22):101-103.

5结束语

本文提出了结合多种设计模式的业务层优化模型,并结

因篇幅问题不能全部显示,请点此查看更多更全内容