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

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

第27卷第7期2007年7月

电力自动化设备

ElectricPowerAutomationEquipment

V01.27No.7

Jul.2007@

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

李安伏,崔亚量

(安阳工学院电气工程系,河南安阳455000)

摘要:ManabOPC(OLEforProcessContr01)T001box提供了一种服务器和客户端互访的通用机制,应用于0PC客户端数据访问,通过OPCToolbox可以连接任何一个OPC数据访问服务器,方便地对连接的0PC服务器的数据进行读写,每个0PC数据访问服务器由唯一的ID号来确定,每个OPC数据访问服务器。由0PC数据访问服务器所在机器的主机名和ID号组成其在网络中唯一确定的身份。

关键词:OPC;Matlab;组态王;数据通信

中图分类号:TP273文献标识码:B文章编号:1006—6047(2007)07一0113—03

组态王是一款全中文的工控组态软件.它具有

高度的实用性,组态灵活,可生成复杂、友好的交互式

图形界面,而且提供了各种可编程逻辑控制器(PLC)

等现场设备的驱动软件,使得上位机与现场控制系

统之间的连接变得简单,但是它的数据处理能力较

弱。不易实现复杂控制算法[1‘2]。Matlab是MathWorks公司的一款科学工程计算软件,其数据处理的效率很高,提供了丰富的控制工具箱,可以很容易实现复杂控制算法[3】。鉴于此,提出了一种基于OPC技术的Matlab和组态王的互连方法q),实现两者间的数据通信。将Matlab和组态王相结合,实现两者优势互补。

lOPC接口规范

OPC(OLEforProcessContr01)规范是在微软倡导下.由OPC基金会所建立的硬件和软件接口标准,它基于微软现有的OLE、组件对象模型COM(ComponentObjectModel)、分布式组件对象模型DCOM(Dist曲utedCOM)技术②,目前已得到越来越多的工控领域硬件和软件制造商的承认和支持,并已成为事实上的国际标准。OPC规范包括OPC服务器和OPC客户端2个部分,其实质是在硬件供应商和软件开发商之间建立了一套完整的“规则”⑧,只要遵循这套规则,数据交互对两者而言是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议.只需要提供一套符合0PCServer规范的程序组,便能够提供一个功能齐备的应用接口,而软件开发商也无需了解硬件的实质和操作过程,只需要一套具备0PC客户能力的软件,就可以与所有符合0PC服务器规范的程序组连接,获取需要的数据[4]。

OPC服务器由3类对象组成,包括服务器(server)、组(group)和数据项(item),3种层次的对象的关系如图1所示④。OPC服务器对象拥有服务器的所有信息,同时也是组对象的容器,组对象OPC项拥有本

收稿日期:2006—09—18:修回日期:2007—01—19

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

Fig.1.11lreelayersof0PCseⅣer

组的所有信息。同时包含并在逻辑上组织了0PC数据项。它提供了客户组织数据的一种方法,客户可以对之进行读和写,还可以设置客户端的数据更新速率。0PC数据项是服务器定义的对象,OPC客户对设备寄存器的操作都是通过其数据项完成的。OPC数据项并不提供对外接口,客户不能直接对之进行操作,所有的操作都是通过组对象来进行的,OPC项则表示了与0PC服务器中数据的连接,包括值(value)、品质(quality)、时间戳(timestamp)3个基本属性[引。

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

MathWorks公司推出的Matlab7.0以上版本中集成了OPC工具箱——Matlab0PCT001box[6。8].它是一个客户端软件.提供了一种服务器和客户端互访的通用机制,应用于OPC客户端数据访问,通过0PC工具箱不需了解OPC服务器的内部配置和具体操作,就能连接任何一个0PC数据访问服务器[9],可以方便地对连接的0PC服务器数据进行读写,每个0PC数据访问服务器由唯一的ID号确定,每台主机的服务器ID号是唯一的,由服务器所在机器的主机名和ID号组成,使其在网络中能唯一地确定身份。建立连接后的0PC客户端和OPC服务器之(D0PcDateAccessspecification1.OA.0PcFundation,1997.

(多0Pc0verview1.o.0PcFundation,1998.

(90PccommonDe矗nationsandInterfaces1.0.0PcFundation,1998.(D0PcFoundation.0PcDataAccesscustomIntedacestandardVersion2.05.December17。2001.

电力自动化设备

第27卷

间的关系如图2所示,借助于MatlabOPCT00lbox可以方便地实现Matlab客户端与组态王服务器端之间的数据通信。

r‘季芦硫溉玩…j

Matlab

服务器计算机0PC工具箱OPC服务器0Pc主函数

LOPC组

10Pc工具箱引擎l

L0PC

数据项

OPC数据访问

0PC数据访问

COM/DCOM

COM/DCOM

网络

图2

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

Fig.2

Relationship

between

OPCclient

and0PC

senrer

MatlabOPC

T00lbox提供了命令行和GUI2种

方式在客户端和0PC服务器之间建立连接.OPC基金会提供了一套可以在网络上浏览其他计算机并能与之通信的核心组件[10],但这些核心组件并没有安装.在使用OPCToolbox之前需要安装到计算机中去,在Matlab环境中可以使用opcre舀ster(‘install’)来安装[11]。此外,为使OPCToolbox中的对象和OPC服务器对象之间建立连接,还需要在OPC服务器和OPC客户端进行分布式COM的环境设置[71。为说明

Matlab与组态王的数据通信。在组态王组态软件中建

立了一个模拟的2个水箱的水位控制系统。在组态王

OPC数据服务器建立了4个变量,分别是:水箱1液位值,水箱2液位值,水箱l上限值和水箱2上限值,

用于表示2个水箱的液位变化量和上限值。利用命令行方式编写的实现与组态王数据通信的Matlab的应用程序如下:

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

clear

da=opcda(‘10calhost’,‘KingView.View.1’);connect(da);

grp=addgroup(da);

itml=additem(grp,‘水箱1液位值’);itm2=additem(grp,‘水箱2液位值’);set(grp,‘UpdateRate’,0.5);

set(grp,‘RecordsToAcquire’,60);set(grp,‘RecordsAcquiredFcnCount’,2);set(g印,‘RecordsAcquiredFcn’,@mydisplay);start(grp)wait(grp)

%显示子程序

function

mydisplay(obj,event)

numRecords=min(obi.RecordsAvailable,60);lastRecords=peekdata(obj,numReeords);[i,v,q,t,et]=opcstmct2array(1astRecords);plot(t,v(:,1),t,v(:,2));

grid

on

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

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

eventTime=event.Data.LocalEventTime:

title(sprintf(‘EventoccuI.edat%s’,datestr(event—Time,15)));

%Madab向组态王OPC数据服务器写人数据程序

clear

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

g叩=addgroup(da);

itml=additem(grp,‘水箱l上限值’);itm2=additem(grp,‘水箱2上限值’);writeasync(itml,5),writeasync(itm2,10)

图3是运行Matlab读取组态王OPC数据服务器数据程序后得到的水箱1液位变化曲线和水箱2液位变化曲线(矗为液位),在Matlab界面中可以实时地看到2个水箱液位值的实时数据所绘制的趋势图。运行Matlab向组态王OPC数据服务器写入数据程序,从组态王的界面可以看到水箱1上限值和水箱2上限值也相应地发生了改变。

3结论

图3水箱液位变化趋势图F唔3

Variationsof

waterlevel

oftank

1and2

0PC技术为有效实现生产过程管理和控制信息的集成提供了一种新的途径,利用0PC技术能实现不同的应用程序之间的有效集成,利用MatlabOPC

Toolbox可以和同一台机器上的0PC服务器通信.也可以和网络上的不同OPC服务器通信,是Matlab

存取外部实时数据的有效方法,该方法提供了一条存取外部实时数据简单、方便的途径,其应用的领域将会越来越广泛。参考文献:

[1]郭红晓,莫德举.OPC技术及其软件的开发[J].北京化工大学

学报:自然科学版,2002(3):73—75,80.

GUOHong—xiao,M0De—ju.Application

of0PC

in

neldbus

a11ddevelopmentofits

software[J].JoumalofBe玎ingUniver-

sity

0f

ChemicalTechn0109y:NaturalScience

Edition,2002(3):

73—75.80.

[2]王海波.基于0PC的现场控制程序设计[N].计算机世界报:2002

—10一07(C22).

[3]廖伯林,朱秀慧,张勇,等.基于0PC技术的CIPS信息集成方法

的研究[J].可编程控制器与工厂自动化,2006(1):83—86.

LIAOBo—lin,ZHUXiu?hui,ZHANG

Yong,eta1.Researehof

CIPS

info珊ationintegration印proach

based

on

OPCtechnology

第7期李安伏,等:基于0PC的Matlab与组态王的数据通信

『J].PLC&FA,2006(1):83—86.

[4]马国华.监控组态软件及其应用[M].北京:清华大学出版社,2001|[5]潘爱民.COM原理与应用[M].北京:清华大学出版社,1999.『6]ROGERSOND.COM技术内幕[M].杨秀章,江英,译.北京:清华大学出版社.1999.

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

ZHANGWen.chao,UJing,CHENWei-bin,eta1.Applicationof0PCinindustrialEthemetcontrolsystemlJI.ProcessAutomationInstrumentation,2002,23(12):59—61.

『8]|I'lleMathworksInc.0PCToolboxforusewichMadablEB/0L].(20()4一10).[2006一09一15].http:∥www.mathworks.com/access/helpdesk/help∥pdf:_doc/opc/opc.pd£

[9]高宏岩,毕丽君,王毅.基于0PC技术的上位机与PLC之间的通信[J].可编程控制器与工厂自动化,2006(5):79—80,94.

GA0Hong—van,BILi—jun,WANGYi.ComrnunicationbetweenPCandPLCbasedon0PCtechnolog了[J].PLC&FA,2006(5):

79—80.94.

[10]季胜鹏,林中达.基于0PG规范的客户/服务器模型设计[J].电力自动化设备,2002,22(11):59.62.

JISheng-peng,LINZhong—da.Client/servermodeldesignbasedonOPCspeci6cations[J].HectricPowerAutomationEquipment,2002,22(11):59—62.

[11]林跃,张彦武.0PC技术及其在工控组态软件中的应用[J].基础自动化,2001(2):43—45.

LINYue,ZHANGYan—wu.Applicationof0PCtechn0109yinthe

industrycon仃olsoftware[J].BasicAutomation,2001(2):43—45.

(责任编辑:李玲)

作者简介:

李安伏(1966一),男,河南林州人,副教授,研究方向为控制理论与控制工程(E-mail:ayliar如@126.eom);

崔亚量(1950一),男,河南安阳人,副教授,研究方向为电子与电气工程。

oPC.baseddatacomm咖icationbetweenT讧aUabandⅪngView

LIAn—fu。CUIYa一1iang

(AnyangInstituteofTechnology,Anyang455000,China)

Abstract:Matlab0PC(OLEforPmcessContr01)‘roolboxpmvidesauniversalcommunicationmecha-nismbetweensenrerandclientforthedataaccessingof0PCclient.Any0PCservercanbeconvenientlvconnectedbv0PCTbolboxfordataaccessing.EachOPCsenrerisidentifiedbyanonlvID.ItsuniqueidentitvinnetworkiscomposedofitshostnameanditsownID.

Keywords:OPC;Matlab;KingView;datacommunication

?+-+-+-+-+-+-+-+-—+—?+一+一十-+-+—+一+一+一+-+-+-+-—+——+-+-+—+一+-+-+-+-+‘’■一’+。+。+。+。—。+一。—。+一。—+一’—’卜’—。+-’。。卜。—。●一。—1卜’—十。—‘卜‘(上接第94页continuedf南mpage94)

ZHoUhn昏Study0nthreeph鹪ehi曲powerfactorrever8iblerectmer[D].Na雌ng:N删ingunive碍ity0fAemnauticsandAstronautics.2002.

[8]刘胜利.现代高频开关电源实用技术[M].北京:电子工业出版社.2001.

[9]阮新波,严仰光.直流开关电源的软开关技术[M].北京:科学出版社.2000.

『10]GATLANC,GATLANL.ACtoDCPWMvoltagesourceconverterunderhvsteresiscuⅡent

contIDl[J].IEEETransonPowerE1ectron,1997(2):464—473.

『11]AROUDIAE,MARTINEZ.SALAMER0L,NINOMIYAT.Investi朗tingstabilitvandbifurcationsofaboostPFccircuitunderpeakcurTentmodecontml[J].IEEE7I’ransCircuitsandSvstems,2005,3(6):2835—2838.

[12]HIROTAA,NAGAIS,AIMA,eta1.Anovelhysteresiscurrentcontrolschemeforsin出eswitchtypesin出ephasePFcconVen材

[c]∥P0werconversionconference.0saka,JapaIl:IEEE,2002:1223.1225.

[13]林渭勋.现代电力电子电路[M].杭州:浙江大学出版社,2002.[14]UUCP,TSECK,P00NNK,eta1.Synthesisofinput—rec—tifiedessAC/DCconverters[J].IEEETransonPowerElectron,20a14,19(1):176-182.

[15]王志强.开关电源设计[M].北京:电子工业出版社,2005.

(责任编辑:汪仪珍)

作者简介:

蒋龙浩(1962一),男,山东济南人,工程师,主要从事航空地面技术保障工作;

李岩(1967一),女,山东淄博人,副教授,主要从事电源技术方面的教学与研究(E-mail:liyan671002@163.com)。

Designand

simulationofsingle-phaseactiVepowerfactorcorrectioncircuit

JIANGLong-ha01,LIYan2

(1.YantaiAirport,Yantai264007,China;2.DepartmentofContr01Engineering,NavalAeronauticalEngineeringInstitute,Yantai264001,China)

Abstract:APFC(ActivePowerFactorCorrection)isanefkctivewayforha珊onic

suppression

andpowerfactorimprovement.Itsprincipleandmethodarestudied.BoostDC—DCconverteristakenaspowerampli矗erandUC3854isusedtocontr01thedutyratioofpulsewidthmodulatoranddriveMOSFETdirectly.Bytrackingtheinputvoltage,thephaseofinputcurrentfollowsthatofinputvoltagetoimprovethepowerfactor.Thep啪metersoftheprimarycircuitandUC3854peripheralcircuitfbra1.2kW400VBoostAPFCcircuitcontrolledwithaveragecurrentmodearedesignedandcalculated,aswellassimulatedwithOrcad,withpowerfactorreaching0.9984.activefactorUC3854

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

作者:李安伏, 崔亚量, LI An-fu, CUI Ya-liang

作者单位:安阳工学院电气工程系,河南,安阳,455000

刊名:

电力自动化设备

英文刊名:ELECTRIC POWER AUTOMATION EQUIPMENT

年,卷(期):2007,27(7)

引用次数:4次

参考文献(15条)

1.郭红晓.莫德举OPC技术及其软件的开发[期刊论文]-北京化工大学学报(自然科学版) 2002(3)

2.王海波基于OPC的现场控制程序设计 2002

3.廖伯林.朱秀慧.张勇基于OPC技术的CIPS信息集成方法的研究 2006(1)

4.马国华监控组态软件及其应用 2001

5.潘爱民COM原理与应用 1999

6.ROGERSON D.杨秀章.江英COM技术内幕 1999

7.张文超.李京.陈伟彬.凌志浩"工控软件互操作规范OPC技术"讲座 第8讲 OPC技术在工业以太网控制系统中的应用[期刊论文]-自动化仪表 2002(12)

8.The Mathworks Inc OPC Toolbox for use with Matlab 2006

9.高宏岩.毕丽君.王毅基于OPC技术的上位机与PLC之间的通信 2006(5)

10.季胜鹏.林中达基于OPC规范的客户/服务器模型设计[期刊论文]-电力自动化设备 2002(11)

11.林跃.张彦武OPC技术及其在工控组态软件中的应用[期刊论文]-基础自动化 2001(2)

12.OPC Date Access Specification 1.0A 1997

13.OPC Overview 1.0 1998

14.OPC Common Definations and Interfaces 1.0 1998

15.OPC Foundation OPC Data Access Custom Interface Standard Version 2.05 2001

相似文献(10条)

1.期刊论文谌海云.彭利果.冯庆华.武卫丽.CHEN Hai-yun.PENG Li-guo.FENG Qing-hua.WU Wei-li基于OPC的力

控与MATLAB的实时通讯-仪器仪表用户2009,16(3)

在工业控制中常用的组态软件力控编写控制算法具有局限性,特别是随着智能技术的发展,复杂实时控制算法是很难解决的,而MATLAB具有强大的数值分析和计算处理功能,可以完成对复杂的智能控制器设计,及对数据分析处理.将二者优势互补,实现力控与MATLAB结合的实时控制,可促使智能控制技术在工业控制界广泛应用,但其关键技术就是实现力控和MATLAB的实时通讯.本文阐述了开放式标准接口OPC技术,在此基础上提出了基于OPC技术实现力控与MATLAB之间的实时通讯的实现方案,为实现力控与MAT-LAB两者优势互补,有效地实现复杂控制算法提供了一条有效途径.

2.期刊论文张烈平.牛秦洲.敖茂尧.ZHANG LIEPING.NIU QINZHOU.AO MAOYAO基于OPC的MATLAB与MCGS实时通讯的

实现-微计算机信息2007,23(4)

论文阐述了开放式标准接口OPC技术,在此基础上提出了一种基于OPC技术的MATLAB与MCGS实时通讯的实现方案,并给出了具体的实现过程.该方案利用MATLAB集成的OPC toolbox实现MATLAB对MCGS实时数据的读取和写入,完成MATLAB与MCGS数据的实时通讯.试验证明了该方法省去了复杂的语言编程,简化了开发过程,是实现MATLAB与MCGS数据实时通讯的一种有效方法.

3.期刊论文陈德美.牛秦洲.张烈平.CHEN De-mei.NIU Qin-zhou.ZHANG Lie-ping基于OPC的MATLAB与组态王的数

据通信-长春工业大学学报(自然科学版)2006,27(4)

介绍了OPC的接口规范和MATLAB的OPC工具箱,分析了客户端MATLAB与组态王OPC服务器之间通信的基本原理,给出了一个具体的数据通信实例.

4.期刊论文胡剑杭.陈冲.HU Jian-hang.CHEN Chong基于OPC技术的MATLAB实时过程控制系统-福州大学学报(自

然科学版)2008,36(z1)

使用OPC技术将MATLAB与现场过程设备连接,实现了MATLAB仿真在现场设备的实时控制.通过MATLAB的Simulink实时读取数据和控制设备.利用MATLAB在工程计算方面的强大能力和组态软件在现场实时数据采集和监控系统方面的优势,使MATLAB仿真不再只局限于传统的离线计算和纯数字的仿真.而易于在实际系统上实现先进算法.以单神经元PID算法为例验证了系统的可行性.

5.会议论文胡剑杭.陈冲基于OPC技术的MATLAB实时过程控制系统2008

使用OPC技术将MATLAB与现场过程设备连接,实现了MATLAB仿真在现场设备的实时控制.通过MATLAB的Simulink实时读取数据和控制设备.利用MATLAB在工程计算方面的强大能力和组态软件在现场实时数据采集和监控系统方面的优势,使MATLAB仿真不再只局限于传统的离线计算和纯数字的仿真

.而易于在实际系统上实现先进算法.以单神经元PID算法为例验证了系统的可行性。

6.期刊论文唐立学.梁伟平.杨维波.Tang Lixue.Liang Weiping.Yang Weibo基于OPC的MATLAB与iFIX数据通信实

现的过程控制-电力科学与工程2008,24(2)

MATLAB被广泛应用于科学计算、数学建模与仿真,而始终未能应用于实际控制系统中.采用OPC通讯技术,介绍了MATLAB通过与iFⅨ程数据库连接,实现与下位PLC进行数据交换的方法,从而将MATLAB运用到实际工业控制系统中.

7.期刊论文冯江涛.FENG JIANGTAO基于OPC的组态软件和MATLAB的通信实现-微计算机信息2008,24(1)

MCGS作为优秀的国产组态软件,具有实用性强、组态灵活等优点,但它的数据处理能力较弱.MATLAB被广泛应用于科学计算、数学建模与仿真上,始终未能应用于实际的控制系统中.如果使用MATLAB实现复杂的控制算法,再结合工控组态软件作为系统的主控,在实际的工程项目中必将达到非常理想的控制效果.本文以OPC技术为例,实现了MATLAB和组态软件MCGS的数据通信.该方法具有编程简单、实现方便等特点.

8.期刊论文梁艳争.孙斌.黄咏梅基于OPC和Matlab/Simulink的半实物仿真系统-工业控制计算机2008,21(8)

基于Matlab/Simulink平台进行半实物仿真,可以充分提高Matlab/Simulink在控制系统设计中的应用水平.使控制系统设计更加方便快捷.采用OPC技术实现Simulink与数据采集卡进行通信,利用原有的试验装置作为控制对象,开发完成了一套新的半实物仿真系统.利用该系统可以方便实现过程控制中的各种控制结构及不同复杂控制算法.实验证明.该方法简单易行、价格很低、具有很好的通用性.

9.期刊论文李相育.钱宇.LI XIANGYU.QIAN YU基于OPC的Matlab与WinCC的无缝集成-微计算机信息2007,23(31) 为了实现产品开发过程实时控制及实时数据的获取,采用WinCC作为产品开发装置Kilo-Plant的控制系统.它提供了适合于工业的图形、消息、归档、报表、过程监控及报警功能.但在实时数据校正及实时曲线绘制等方面的功能有待改善.基于此,提出了利用OPC技术实现Matlab与WinCC的无缝集成问题

,充分利用Matlab在数据校正.回归分析,实时曲线绘制等方面的功能,实现产品开发过程中实时数据的有效处理.

10.期刊论文冯江涛.FENG Jiang-tao MATLAB和监控组态软件的OPC数据交换-仪器仪表用户2007,14(4)

本文简要说明了工业控制系统中MATLAB和监控组态软件数据交换的必要性,阐述了OPC数据交换的方法.本文以MCGS监控组态软件为例,实现了MATLAB和MCGS的数据交换.

引证文献(4条)

1.盛凯.曹顺安.李睿iFIX与MATLAB间的数据交换技术及其应用[期刊论文]-工业仪表与自动化装置 2008(6)

2.张渝.刘枫.潘东波一种通用型EPA OPC服务器的研发及应用[期刊论文]-西南大学学报(自然科学版) 2008(11)

3.胡剑杭.陈冲基于OPC技术的MATLAB实时过程控制系统[期刊论文]-福州大学学报(自然科学版) 2008(z1)

4.曹顺安.盛凯.李睿iFIX与MATLAB间数据交换技术在水汽化学过程监控系统的应用[期刊论文]-工业控制计算机2008(06)

本文链接:https://www.360docs.net/doc/7014312385.html,/Periodical_dlzdhsb200707030.aspx

下载时间:2009年12月24日

相关主题
相关文档
最新文档