基于 OPC的 MATLAB与组态王的数据通信

来源:本站
导读:目前正在解读《基于 OPC的 MATLAB与组态王的数据通信》的相关信息,《基于 OPC的 MATLAB与组态王的数据通信》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于 OPC的 MATLAB与组态王的数据通信》的详细说明。
简介:介绍了 OPC 的接口规范和 MA TLAB 的 OPC 工具箱 ,分析了客户端 MA TLAB 与组态王 OPC 服务器之间通信的基本原理 ,给出了一个具体的数据通信实例。

0 引 言

现代工业生产过程先进控制技术的一个关键问题就是如何实现先进控制软件与现场控制系统之间可靠的数据通信 ,从而实现复杂的智能控制 ,满足生产过程的工艺精度要求。针对这些要求 ,国内外许多公司开发了组态软件 ,目前 ,较为流行的组态软件有 In Toch , Wincc , MCGS 和组态王等。组态王是一款全中文的工控组态软件 ,具有组态灵活 ,可生成友好的交互式图形界面 ,提供各种现场设备的驱动 ,上位机与现场控制系统之间连接简单等特点 ,但它的数据处理能力较弱 ,难以实 现 复 杂 的 控 制 算 法。MA TLAB 是 Mat hWorks 公司的一款科学工程计算软件 ,数据处理效率高 ,提供了丰富的控制工具箱 ,容易实现复杂的控制算法。鉴于此 ,文中提出了一种基于 OPC技术的 MA TLAB 和组态王的互连方法 ,实现了两者之间的数据通信 ,有效地实现了 MA TLAB和组态王的集成。1 OPC接口规范OPC(OL E for Process Control) 规范是在微软倡导下 ,由 OPC 基金会所建立的硬件和软件接口标准 ,它基于微软现有的 OL E、组件对象模型COM (Component Object Model) 和分布式组件对象模型 DCOM (Distributed COM) 技术 ,己得到越来越多的硬件和软件制造商的承认和支持 ,成为事实上的国际标准。OPC 规范包括 OPC 服务器和 OPC 客户端两个部分 ,其实质是在硬件供应商和软件开发商之间建立了一套完整的“规则”。只要遵循这套规则 ,数据交互对两者来说是透明的 ,硬件供应商无需考虑应用程序的需求和传输协议 ,只需要提供一套符合 OPC 服务器规范的程序组 ,便能够提供一个功能齐备的应用接口。而软件开发商也无需了解硬件的实质和操作过程 ,只需要一套具备 OPC 客户能力的软件 ,就可以与所有符合 OPC 服务器规范的程序组连接 ,实现两者之间的数据交互。OPC 服务器由三类对象组成 ,包括服务器(Server) 、组( Group) 和数据项( Item) 。三种层次

对象的关系如图 1 所示[1 ] 。基于 OPC的 MATLAB与组态王的数据通信

图 1 OPC 服务器三种层次对象的关系OPC

服务器对象拥有服务器的所有信息 ,同时也是组对象的容器。组对象 OPC 项拥有本组的所有信息 ,同时 ,包含并在逻辑上组织了 OPC数据项。它提供了客户组织数据的一种方法 ,客户可以对其进行读和写。而 OPC 数据项是服务器定义的对象 ,包括值(value) 、品质(quality) 、时间戳(time stamp) 三个基本属性。OPC 客户对设备寄存器的操作都是通过数据项来完成 ,但 OPC数据项并不提供对外接口 ,客户不能直接对其进行操作 ,所有的操作都是通过组对象来进行的。

2 OPC的 MATLAB 与组态王数据通信实现

2. 1 通信原理

MA TLAB 和组态王互连的方法通常有 DDE和 OPC 技术两种。其中 OPC 技术采用开放式的数据交互 ,能使不同公司的软硬件组成一个有机的整体 ,传输可靠、速度快 ,适于大批量数据交换 ,已经成为工控行业新的通信标准 ,广泛应用在工控行业的各个领域[2 ] 。Mat h Works 公司推出的MA TLAB 7. 0 以上版本中 ,集成了 OPC 工具箱[3 ],它是一个 OPC 客户端数据访问软件 ,提供了一种服务器和客户端互访的通信机制 ,通过OPC 工具箱可以连接任何一个 OPC 数据服务器 ,实现对连接的 OPC 服务器数据的读或写。利用 MA TLAB OPC Toolbox 建立连接后的 OPC客户端和 OPC 服务器之间的关系如图 2 所示。基于 OPC的 MATLAB与组态王的数据通信

图 2 OPC 客户端和 OPC 服务器之间的关系

借助该工具箱 ,可以方便地实现 MA TLAB客户端与组态王服务器端之间的数据通信。基于OPC 的 MA TLAB 与组态王通信流程图如图 3所示。

2. 2 通信实例

OPC 基金会提供了一套可以在网络上浏览其它计算机 ,并能与之通信的核心组件 ,但这些核心组件并没有安装 ,在使用 OPC Toolbox 之前需要事先安装好。此外 ,还需要在 OPC 服务器和OPC 客户端进行分布式 COM 的环境设置。在组态王组态软件中建立了一个简单的两个水箱的水位控制系统 ,完成基于 OPC 技术的 MA TLAB 与组态王的数据通信实验。在组态王的工程中建立水箱 1 液位值 (用来表示水箱 1 的水位高度变化) ,水箱 2 液位值 (用来表示水箱 2 的水位高度变化) ,水箱 1 上限值和水箱 2 上限值 (分别用来在运行环境中设定水箱 1 和水箱 2 的上限报警值) 4 个变量。之后 ,就可以在 MA TLAB 客户端 ,利用 MA TLAB OPC Toolbox 编写读取组态王 OPC 数据服务器中的水位控制系统实时数据 ,或通过将数值写入组态王 OPC 数据服务器来改变控制过程中的相应数据。基于 OPC的 MATLAB与组态王的数据通信

图 3 MA TLAB 与组态王通信流程图

与组态王数据通信的 MA TLAB 客户应用程序如下。

%MA TLAB 读取组态王 OPC 数据服务器数据程序

clear

da = opcda‘( localhost’‘, KingView. View. 1’) ;

connect (da) ;

grp = addgroup (da) ;

itm1 = additem(grp ‘, 水箱 1 液位值’) ;

itm2 = additem(grp ‘, 水箱 2 液位值’) ;

set (grp ‘, UpdateRate’,0. 5) ;

set (grp ,‘RecordsToAcquire’,60) ;

set (grp ‘, RecordsAcquiredFcnCount’,2) ;

set (grp ‘, RecordsAcquiredFcn’, @mydisplay) ;

start (grp) ;wait (grp)

%显示子程序

function mydisplay(obj ,event)

numRecords = min (obj. RecordsAvailable , 60) ;

lastRecords = peekdata (obj ,numRecords) ;

[i , v , q , t , et ] = opcstruct2array(lastRecords) ;

plot (t , v( : ,1) ,t , v ( : ,2) ) ;

grid on

legend‘( 水箱 1 液位变化曲线’‘, 水箱 2 液位变化曲线’)

set (gca‘, YLim’,[0 , 10 ]) ;datetick‘( x’‘, keeplimits’) ;

event Time = event. Data. LocalEvent Time ;

title (sprintf ‘( Event occured at % s’, datestr ( event Time ,

15))) ;

%MA TLAB 向组态王 OPC 数据服务器写入数据程序

clear

da = opcda‘( localhost’‘, KingView. View. 1’) ;

connect (da) ;

grp = addgroup (da) ;

itm1 = additem(grp ‘, 水箱 1 上限值’) ;

itm2 = additem(grp ‘, 水箱 2 上限值’) ;

writeasync (itm1 ,5) ,writeasync (itm2 ,10)

运行 MA TLAB 读取组态王 OPC 数据服务器数据程序后 ,得到水箱 1 液位变化曲线和水箱2 液位变化曲线 ,如图 4 所示。基于 OPC的 MATLAB与组态王的数据通信

图 4 水箱液位变化实时数据曲线图

从运行结果来看 ,在 MA TLAB 界面中 ,可以实时地观察到液位控制系统中的两个水箱液位变化的实时数据曲线 ,其变化与组态王界面中的水箱液位变化完全一致。运行 MA TLAB 向组态王OPC 数据服务器写入数据的程序 ,从组态王界面可以观察到水箱 1 上限值和水箱 2 上限值相应地发生了改变 ,实现了 MA TLAB 向组态王 OPC 数据服务器写入数据的功能。

3 结 论

OPC 技术为生产过程管理信息和控制的集成提供了一种新的途径 ,利用 OPC 技术能有效地实现不同应用程序之间的有效集成。利用 MA T2LAB 的 OPC 工具箱来实现读写组态王中实时数据的方法 ,简单有效 ,具有一定的代表性 ,其应用领域将会越来越广泛。

参考文献 :

[ 1 ] OPC Foundation. OPC Data access custom interfacestandard version 2. 05[ S]. 20012122171

[2 ] 张文超 ,李 京 ,陈伟彬 ,等. OPC 技术在工业以太网控制系统中的应用 [J ]. 自动化仪表 , 2002 , 23(12) :602631

[3 ] The Math Works Inc. OPC Toolbox For Use withMA TLAB [ EB/ OL ]. (2004210202) [2006206230 ]1http :/ / www. mathworks. com/ access/ helpdesk/help/ pdf_doc/ opc/ opc. pdf1

Implementation of data communication betweenMATLAB and Kingview ba sed on OPC

CH EN De2mei , NIU Qin2zhou , ZHAN G Lie2ping

(Department of Electronic and Computer , Guilin University of Technology , Guilin 541004 , China)

Abstract : The OPC (OL E for Process Control) interface standard and its toolbox in MA TLAB areintroduced. The basic principle of data communication between MA TLAB customer and Kingview DA

server based on OPC are analyzed. We give an example of data communication.

Key words : OPC; MA TLAB ; Kingview ; data communicatio

提醒:《基于 OPC的 MATLAB与组态王的数据通信》最后刷新时间 2024-03-14 01:10:21,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于 OPC的 MATLAB与组态王的数据通信》该内容的真实性请自行鉴别。