PLC控制系统中OPC技术应用效率研究

2016-12-07 06:00蔡晓霞钱新标
电气自动化 2016年4期
关键词:服务器控制器驱动

蔡晓霞, 钱新标

(1.绍兴职业技术学院,浙江 绍兴 312000; 2.杭州银界科技有限公司,浙江 杭州 310013)



PLC控制系统中OPC技术应用效率研究

蔡晓霞1, 钱新标2

(1.绍兴职业技术学院,浙江 绍兴 312000; 2.杭州银界科技有限公司,浙江 杭州 310013)

针对SIMATIC NET等常用OPC软件包在实际工程应用中存在使用不方便和占用系统资源大等问题,提出了采用InCoSol公司的S7A作为OPC服务器,VB编写OPC客户端,实现客户端与现场设备S7-300/400PLC的数据信息的传递;同时提出了OPC与PLC之间通信以“数据块”的形式交换数据,将OPC与IFIX的I/O有机融合。实践证明,系统占用资源小,通信稳定且数据传输效率高。

PLC;OPC;通信;iFIX;S7A

0 引 言

OPC(OLE for Process Control,用于过程控制的OLE)是一个工业标准,OPC基金会是管理该标准的国际组织,OPC基金会现有会员遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司[1]。 OPC技术是基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)的技术,其包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统[2]。

OPC为工业数据监控软件的开发带来了便利,使得开发人员无需花费大量时间研究各种设备的通讯协议,其设备间的通讯由各个设备厂家的OPCServer来完成,而开发人员只要在应用程序中,添加相应的客户端控件,并且和OPC服务器连接,就可以接收/发送数据。当前主流的自动化控制器制造商和软件提供商都能全方位地支持OPC[3]。如SIEMENS为其S7-300/400可编程控制器(PLC)提供了SIMATIC NET软件包, OMRON为其可编程控制器提供了OMRON-OPCServer软件包等[4]。

当计算机安装了OPCServer,进行正确的设置后,可建立与可编程控制器通讯,此时可编程控制器的所有存储器都在OPCServer中可以浏览,开发人员可以从中取得所需要的一切数据,这是它的优点;在工程实践中,它却可能成为致命的缺陷。

本文提出了两个问题,一是使用的方便性实用性问题,二是占用系统资源及效率问题,并针对存在的问题提出了相应的解决方案。

1 SIMATIC NET软件包的技术缺陷

SIMATIC NET软件包是西门子公司为其S7-300/400可编程控制提供的OPC服务器软件,容量为一张光盘,且必须借助STEP7软件才能完成OPC服务器的应用[5]。这些软件的安装程序繁琐,经常出现安装失败现象;软件运行时,后台要运行许多与之相关的进程,占用不少的系统资源。

以ETHERNET建立SIMATIC_NET OPC服务器与S7-300PLC的连接为例,西门子公司官方提供的教程达35页,除了大量的前提条件,其主要操作步骤有五大步,有的大步骤中又有多达9个分步骤,如图1所示。如此多的步骤,只要一个地方未正确设置,就不能建立通讯连接,且不会提示不能连接的原因,也没有相应的在线帮助。

图1 SIMATIC NET教程

著名的iFIX组态软件有一款驱动程序也要求系统安装SIMATIC NET,将该计算机作为一个PC_Station,然后进行网络组态,这个过程比较复杂,且在操作过程中容易出现各种失败。

SIMATIC NET,集中体现了当前OPC服务器软件普遍存在的缺点:安装不易,使用麻烦,效率低下。

2 S7A软件的技术优势

InCoSol公司(Industrial Communications Solutions)专门做一个产品,即S7A。这款产品既是IFIX与西门子S7-300/400的I/O驱动程序,同时也是一个针对S7-300/400的OPCServer。

S7A的7.20 224版本的软件安装容量不到4M,实在是短小精悍。它既可以作为IFIX的I/O驱动器进行安装,也可以独立安装在计算机上,作为OPC服务器。安装了InCoSol公司的S7A,就不再需要西门子软件的支持。它的使用也很方便,安装完成后,运行S7ADidw.exe进行设置。以ETHERNET建立OPC与S7-300PLC的连接为例:第一步,选择CHANNEL,即S7 TCP/IP,至于CHANNEL的名字是任意取的,如图2所示。第二步,在上述的CHANNEL下面增加一个命名为PLC1的设备,并为PLC1配置IP地址。第三步,定义三个数据块分别是DB1的0~99字节、M区的0~19字节、I区的0~19字节。然后,把这个配置文件命名为SH2013.S7A,保存到默认路径下;在OPTION菜单下进入SETUP,并修改默认的配置文件为SH2013.S7A。如果硬件已经连接,OPC就能正常工作,如图3所示。

图2 S7A设置一个名为S7_TCP的通道

图3 添加1个站点和3个数据块

S7A与SIMATIC NET比较,具有安装简单、易于使用,而且非常高效。以S7A作为OPCServer,使用VB可以轻易编写一个OPC的客户端,实现从S7-300/400PLC采集数据,然后根据要求存储到后台数据库,或者进行数据分析处理,并转发到模拟屏,等等。如图4所示。

图4 添加了1个站点和3个数据块

3 OPC与I/O驱动的效率分析

在某高速公路隧道群数据监控项目中,监控软件采用IFIX作为开发平台,现场区域控制器16套、照明控制器14套、通风控制器6套,全部为OMRON的CJ1M可编程控制器[6]。I/O驱动开始采用OPC驱动,先用1套PLC进行测试,通信正常。在现场调试过程中,随着连接到系统的PLC站点的增加,系统响应速度越来越慢,当PLC站点数达到10个左右时,数据刷新时间超过5秒,系统响应速度变慢,滞后严重,影响了监控系统的正常运行,此刻必须放弃OPC。系统改用专用的I/O驱动S7A后,整个系统响应时间在1秒之内,目前已经稳定运行一年多。

为何OPC不如I/O驱动高效,本文通过分析OPC工作流程和I/O驱动的工作流程来说明这一问题。图5为目前OPC服务器的流程,如前述的SIMATIC NET和OMRON-OPCserver等。

图6为IFIX的I/O驱动的工作流程。图5中 “读取标签数据”和图6中“读数据块数据”都是计算机与PLC之间交换数据的过程,需要使用网络资源,这是最费时间的一个节点,也是系统的瓶颈所在。对于隧道群数据监控项目,假设标签数是3 600个,站点数是36个。完成一次数据刷新,按照图5流程,需要交换数据3 600次;按照图6流程,(假设每个站定义3个数据块),只需要交换数据108次。交换数据次数越少,通讯占用的系统资源也越少,这正是IFIX的I/O驱动高效的原因。当然,数据块中的字节数越多,相对时间也会越长,因此,数据块中尽量集中包含有用的数据(在PLC程序设计时配合考虑)。

事实上,OPC和IFIX的I/O驱动并非对立,两者完全可以融为一体。前述的S7A之所以是高效的OPC,正因为它同时是IFIX的I/O驱动,它是两者的完美融合。

图5 常用OPC工作流程图 图6 IFIX的I/O驱动的工作流程图

4 结束语

OPC作为一个工业通信标准,是为方便用户而制定,然而其通信效率普遍非常低下,只能做一些小应用。若OPC和PLC交换数据时,调整为以“数据块”的形式进行,可以大幅提高通信效率。因此,希望“数据块”能够成为OPC标准的内容之一。

[1] 俞辉.OPC技术在电力机车振动试验系统中的应用[J]. 自动化应用,2013,54(12):67-70.

[2] 郭敬,李定坤,朱斌.基于OPC协议的上料机器人控制系统[J].制造业自动化,2014,36(1):6-8.

[3] 陈维琨,吴凤英.基于OPC技术的轧管设备工业网络的通讯改造[J].电气传动,2015,45(4):73-75.

[4] 宋泽帅,王守城,段俊勇,等. 基于OPC技术的电能数据采集系统设计[J].电气自动化2013,35(6):9-10.

[5] 丁承君,张春慧,王宏. 基于OPC技术的IFIX与S7-300的通信[J].煤,2010,19(5):71-74.

[6] 蔡晓霞,赵丹兵,钱新标.基于iFIX高速公路隧道监控系统的设计与实现[J].电子技术应用,2011,37(12):22-24.

A Research on the Efficiency of OPC Application in PLC Control Systems

Cai Xiaoxia1, Qian Xinbiao2

(1. Shaoxing Vocational Technical College, Shaoxing Zhejiang 312000, China;2. Hangzhou Yinjie Science & Technology Co., Ltd., Hangzhou Zhejiang 310013, China)

In respect of inconvenient use and high system resource occupation of SIMATIC NET and other commonly used OPC software packages in their practical engineering applications, this paper proposes application of InCoSol’s S7A as OPC server and VB prepared OPC client to realize data information transmission between the client side and S7-300/400PLC. It is further proposed that data should be exchanged in the form of “data block” between OPC and PLC so that OPC and IFIX I/O may be integrated organically. Practice has proved that this design scheme occupies limited system resources and ensures stable communication and high data transmission efficiency.

PLC; OPC; communication; iFIX; S7A

10.3969/j.issn.1000-3886.2016.04.034

TD672

A

1000-3886(2016)04-0110-03

蔡晓霞(1978-),女,浙江天台人,副教授,硕士,研究方向:设备远程智能维护与智能控制。 钱新标(1968 -),男,金华人,高级工程师,主要从事数据采集系统的研究。

定稿日期: 2015-12-24

猜你喜欢
服务器控制器驱动
基于模糊PI控制的驱动防滑仿真系统分析
工商业IC卡控制器改造为物联网控制器实践
屈宏斌:未来五年,双轮驱动,砥砺前行
通信控制服务器(CCS)维护终端的设计与实现
轨旁ATC系统门控柜接收/驱动板改造
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
基于S3C6410的Wi-Fi驱动移植实现
模糊PID控制器设计及MATLAB仿真