SCI期刊 | 网站地图 周一至周日 8:00-22:30
你的位置:首页 >  通信技术 » 正文

OPC接口程序的设计实现

2021-4-9 | 通信技术

 

0引言

 

可视化界面软件是在生产过程自动化中解决可视化和控制任务的人机接口软件[1]。它具有高度的实用性和组态灵活性,可开发生成友好的交互式图形界面。但是它的数据运算能力较弱,不易实现复杂的数据处理和控制算法。比如DCS系统中的组态软件,虚拟仪器软件LabVIEW[2]等。而在数据处理和复杂控制算法的实现方面有突出优势计算机编程语言如MAT-LAB,C,C++等,由于其编程方便、使用灵活、易于移植、便于模块化处理的特性,成为工程技术人员开发实现复杂算法不可或缺的实现工具。尤其是MATLAB语言,针对不同的工程应用领域,系统有相应的工具箱,这不仅能够方便地进行算法的设计与实现,而且能极大地缩短开发周期。但是这些开发语言不能与工业现场设备直接进行数据交换,而且在界面设计方面也明显逊色于组态软件。如何在可视化界面系统中,综合采用先进智能算法,使整个系统满足生产过程的目标要求,从而提高界面监控系统数据处理性能,是界面监控系统亟待改善和提高的课题。OPC通讯技术的出现为解决该问题开辟了一条有效的途径[3]。

 

1开放性的OPC接口协议

 

OPC(ObjectLinkingandEmbeddingforProcessControl)技术即过程控制中的对象连接和嵌入技术[4],它为基于Win-dows的应用软件和现场过程控制架起了桥梁[5]。作为工业标准的OPC技术,不仅解决了不同软件和硬件之间的通讯障碍,而且也很好地解决了不同软件之间由于数据格式不一致而带来的通讯问题[6]。OPC采用典型的客户机/服务器模式:一个OPC客户程序可以连接一个或多个不同的OPC服务器程序,同时多个不同的OPC客户程序也可以连接到同一个OPC服务器程序上,结构模型如图1所示。OPC数据存取服务器主要包括服务器对象、组对象和项对象。OPC服务器对象负责维护相关服务器的信息,并作为OPC组对象的包容器,可以动态地创建或释放组对象;组对象除了维护自身相关的信息外,要提供包容和组织OPC项对象的机制;OPC项对象则需维护OPC服务器中与数据有关的信息,但它并不是实际数据源,仅是指向数据源的连接。服务器对象、组对象和项对象之间的组织关系如图2所示。基于OPC通讯的标准协议,是由世界上领先的自动化软、硬件厂商连同微软公司通力开发的,它使工业控制无论是在硬件还是软件方面都有了统一的依据标准[7]。在软件方面,目前几乎国内外所有流行的组态软件都支持OPC数据交换标准。而且主流的计算机编程语言,都支持OPC通讯协议。值得提出的是当今最优秀的科技应用软件之一MATLAB在其7.0以上版本中还专门集成了OPC工具箱。硬件方面,当前几乎所有的PLC及其他工业现场设备都支持OPC数据通讯协议[8]。

 

2系统构架

 

当前,在工业DCS系统中,对现场生产过程的控制,多数是由在监控室中的工程技术人员根据现场监测数据并结合工程经验来完成的。这种控制方式对操作员的经验有过高的依赖性。尽管在某些先进的DCS系统中对一些参数的控制采用了诸如PLC等硬件来实现,这也从一定程度上提高了控制效果,但是过于复杂的控制算法就难以实现了。基于OPC通讯技术,设计了DCS系统的复杂控制算法的实现方法。该DCS监控系统充分利用了算法软件的运算优势,实现对工业过程的复杂、智能控制,同时也不需对原DCS系统进行大的改变,控制效果也远优于传统方式。系统结构框图如图3所示。系统运行后,DCS实时数据库系统按照一定的采样频率从生产现场采集的实时数据。这些数据一方面通过组态软件显示在系统的监控界面上;另一方面,被存储到DCS系统的历史数据库中,以备以后的查阅使用。而后台的控制算法应用程序一旦被DCS监控系统唤醒,后台控制程序将按照事先设定的周期通过OPC数据交换通道读取实时采集而来的数据,然后结合数据信息并调用相应后台算法,计算出控制器当前和接下来一段时间内应采取的控制量,并将该控制量及时地通过OPC数据交互通道传递到DCS实时数据平台,并由该平台向工业现场控制器发出相应的控制指令。从而完成一次控制动作。后台控制算法按照一定的周期,反复如此,直到接收到DCS实时数据平台发出停止指令为止。

 

3系统仿真实验设计

 

为检验以上系统构架的可行性和控制的实时性,选择广泛应用于矿山、码头、冶金和化工等行业的传送带配料系统为被控实验对象。控制器通过接收来自上位机的设定流量数据作为给定量,与实际检测到的流量进行比较,得出偏差,然后根据偏差来决定控制系统的输出,即电流控制信号,进而控制电机的转速,使物料流量稳定在期望值上。基于以上的被控对象,采用力控组态软件开发DCS仿真系统并用MATLAB设计相应的控制算法,利用远程网络上的另一台计算机上运行的simulink仿真框图来模拟现场工业过程。

 

3.1DCS监控界面的构建

 

根据系统构架,原有DCS系统不需要做大的改变和调整,只需要在后台DCS实时数据库中增加对相关对象的控制量即可,为验证系统构架的可实现性,设计了如图4所示的DCS仿真界面。

 

3.2OPC接口程序的设计实现

 

系统的后台控制算法由MATALB编写实现,并通过OPC接口程序与DCS交换实时数据。MATLAB为OPC提供了专门的接口函数,以方便创建和配置OPC对象,并读写和记录数据。下面给出了MATLAB与三维力控组态进行数据通信的部分程序。3.2.1MATLAB获取实时数据da=opcda('localhost','PCAuto.OPCServer');connect(da);%与OPC本地服务端相连grp=addgroup(da);%添加组itm=additem(grp,'flag.PV');%把变量元素添加到组中;itm1=additem(grp,'def.PV');itm2=additem(grp,'out.PV');itm3=additem(grp,'u.PV');while(flag==1)r=read(itm1);%读取设定输入值rin=r.Value;y=read(itm2);图5后台模型simulink框图yout=y.Value;上述程序实现了MATLAB应用程序对DCS系统的实时数据的读取操作。后台程序可以利用这些数据进行计算推导,得到下一控制周期应该施加的控制量。3.2.2MATLAB运算结果写入力控实时数据库grp=addgroup(da);%创建项目组Itm3=additem(grp,'u.PV');%把变量添加到组中…%计算控制量u的值write(itm3,u);%向力控实时数据库写数据通过上述程序的执行,MATLAB的运算结果u将被写入到力控的实时数据库,并由组态软件将控制作用发送到工业现场执行机构。

Top