MATLAB和监控组态软件的OPC数据交换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
启动MCGS将自动启动OPC服务器功能。作为OPC服务 器,MCGS运行环境的服务器名为:MCGSRUN.OPCDataCentr e;组对象的创建和管理由MCGS在后台进行,即组对象一级对用 户来说,是隐藏起来的,用户只需指定服务器,就可以通过直接浏 览来察看所有可用的数据项。其项目名为各个变量的名字。
第二,设置服务器名、组对象和项目名。 第三。在MATALB中,定位使用的OPC服务器。创建OPC 数据存取对象,并能够连接到服务器上。 第四,创建0PC数据存取组对象.并增加相应项目。 第五,设置数据的保持间隔和次数。 至此,MA'VLAB就可以通过其建立的组对象和项目名对OPC 服务器——监控组态软件采集的实时数据进行访问。
itmn=additem(grp,’an’); itmVec=[itml,itm2,…,itmn]
%设置保存间隔和次数 set(grp,'UpdateRate',0.2): set(grp,'RecordsToAcquire',40); %设置保存位置和类型 set(grp,'LoggingMode’,’disk&memory’); set(grp l,’LogFileName’,’a.olf’): set(grp,'LogToDiskMode’,’overwrite’); set(grp,'LogToDiskMode’,’append’): %记录开始 start(grp) pause(2) 至此将实时变量a1,a2…an读取到a.olf文件中。然后 MATLAB就可以利用这些数据进行相应的运算处理,并处理结果 存放于b。 2.2.2 MATLAB运算结果写入MCGS %创建项目组 grp0=addgroup(da) %把变量元素填加到组中 itm=additem(grp0,’b’) write(grp0,itm) 通过上述程序的执行,MATLAB的计算结果将传输到MCGS 的实时数据库。
基于PCI总线的1 553B总线接口卡设计
瞿朝兵1,_,陈涛1,_,徐智勇1,何培龙1 (1.中国科学院光电技术研究所,四川成都610209;2.中国科学院研究生院,北京100049)
摘要:针对MIL-STD·1553B数据总线协议及其接口技术要求.介绍了一种 基于PCI总线的1553B接口卡的工作原理和设计方案,该接口卡可编程选 择工作在BC.RT或BM模式,并介绍了在这三种模式下的软件编程的基 本例程。 关键词:1553B总线;PCI总线;BC;RT;BM
【5】陈迪泉.OPC技术与服务器开发广东通信技术.2005,5:6-1 I 【6】刘志鸿,杨传颖.利用OPC Toolbox在MATLAB中实现实时数
据的获取.仪器仪表用户,2005,1 2(5):85·86.
作者简介:冯江涛(1969-),女,山西晋城,讲师,硕士,研究方向为分散控 制系统。
文章编号:1671·1041(2007)04-0087·02
%与OPC服务端相连 da=opcda(’localhost’,’MCGS.OPC.Server’) connect(da)
%添加组 grp=addgroup(da,’MyGroup’): %把变量元素添加到组中,并创建向量 itml=additen^(grp,’al’); itm2=additem(grp,’a2’);
Data exchange between MATLAB and Industrial Configuration Software based
on OPC
FENG Jiang-tao (Shanxi University,Taiyuan 03∞13,China)
Abstract:This paper introduces the impedance of data exchangO between MATLAB and configuration software in the industriaI control system.and iIlustrate the method of data exchange based on 0PC.The data exchange of MATLAB and MCGS is implemented.
文章编号:1671·1 041(2007)04-0086-02
MATLAB和监控组态软件的OPC数据交换
冯江涛 (山西大学工程学院,太原03∞13)
摘要:本文简要说明了工业控制系统中MATLAB和监控组态软件数据交换 的必要性,阐述了OPC数据交换的方法。本文以MCGS监控组态软件为 例。实现了MATLAB和MCGS的数据交换. 关键词:MATLAB;OPC;监控组态软件 中图分类号:TP273+.5文献标识码:B
因此,在工业控制中将MATLAB和监控组态软件相结合,实 现优势互补一直是自动控制领域研究的热门话题【2】。其主要问题 是实现MATLAB和监控组态软件之间进行数据交换。
1 MATLAB和监控组态软件的OPC数据交换
收稿El期:2007-03-12
根据现有资料,MATLAB和监控组态软件之间的数据交换方 法有多种,其中以动态数据交换DDE为主。动态数据交换是 Windows系统中支持进程间的通信机制,它是以共享内存来实现数
在工业过程的实际应用中,大多数监控组态软件都拥有开发商 自主开发的专有实时数据库和历史数据库。如果要访问这些数据 库,以前必须编写相应的代码程序调用开发商提供的API函数或其 他特殊方式来实现。随着OPC技术的广泛应用,国内流行的监控 组态软件.如RSVIEW32、Ifix、WinCC,MCGS、Kingview
MATLAB和监控组态软件基于OPC技术的数据交换的步骤 如下:
86 El万C方V数01据.14 2007 NO.4
欢迎光临本刊网站http://www.eic.com.ca
首先,选择监控组态软件作为OPC服务器。因为目前支持 0PC功能的监控组态软件既可作为服务器,又可充当0PC客户 机。而MATLAB7.0只能作为OPC客户机从OPC服务器获取数 据。
2基于OPC技术的监控组态软件和MATLAB数据交换的 实现
本文以北京昆仑通态的监控组态软件MCGS为例,探讨了它 与MATLAB基于OPC技术的数据交换。其中MCGS作为OPC 服务器,与作为OPC客户端的MATLAB相连,为其提供读写 MCGS内部各个变量的功能。MATLAB提供了OPC专门的接口 程序,创建和配置OPC对象,读写和记录数据。 2.1 MCGS的OPC实现
既然MATLAB和监控组态软件都支持OPC功能,因此可以
利用OPC技术,根据工业现场的实际要求,使用监控组态软件作 为系统主控,进行实时数据采样,同时MATLAB作为后台应用程 序进行复杂算法运算、参数在线实时整定、系统在线仿真等功能。 这样可充分发挥监控组态软件和MATLAB各自的优势,实现对工 业现场的完美控制。
3结束语 实现MATLAB和监控组态软件的OPC通信。一方面可以扩
展组态软件的复杂控制功能,另一方面也能够使MATLAB获得现 场实时数据,可以改善MATLAB的纯数字仿真环境,实现系统的 在线辨识。国
参考文献
【1】郭发军.袁爱进等.MATLAB对现场实时数据获取的实现.仪器 仪表用户,2004,1 1(5):66-67.
程学院.2005. 【5】杨燕翔.GPIB接口的CPLD实现.电测与仪表,2005.(5):55—57. 【6】张熙等.基于CPLD的GPIB控制器的设计与实现.测控技术。
2006.25(2):43·45. 【7】王术群.GPIB接口的FPGA实现.电子设计应用.2004,(I o):43-45.
作者简介:尹翠然(1982-),女,硕士研究生,研究方向为电磁污染与电磁 兼容。
另一方面,广泛应用于过程控制系统实时监控的监控组态软件 提供了友好的人机交互界面,强大的通信功能。但是它的数据处理 能力较弱,一般的监控组态软件只具备简单的PID控制算法。随着 工业对象的日益复杂.自动控制水平及控制精度要求的提高,常规 的PID控制算法已经不能满足系统控制的要求。引入神经网络、模 糊控制等复杂控制策略己势在必行。然而这些高级的控制功能无法 直接在通用的组态软件中实现。
Key words:MATLAB:OPC;configuration software
MATLAB语言提供了强大的数值运算和仿真功能。利用它提 供的系统辨识、神经网络、小波分析等工具箱,可以非常方便地解 决数值计算、动态系统仿真等许多特定的课题和数学建模问题。由 于MATLAB很难获取现场数据,现阶段很多基于MATLAB的仿 真研究完全停留在纯数字阶段。在很多实际过程中,不可能准确获 得系统的数学模型,所以也就无从建立simulink所描述的框图,有 时还因为实际模型的复杂性,建立起来的模型也是不准确的,所以 需要将实际系统模型放置在仿真系统中进行仿真研究【l】。
南交通大学电气工程学院。2003. 【2】赵斌.PCI9Q52及其应用.电子技术应用.2004.(10):67—68 [3】PCI 9052 Data Book.Version2.0.USA:PLX Corporation.2001.9. 【4】孙朋.城市电磁环境监测站的设计[D】.北京:北京交通大学电气工
据交换的。大量的文献【3,4】表明了采用DDE数据交换技术实现 组态软件和MATLAB的数据通信的有效性。但是DDE存在的缺 陷是:当通信数据大时,数据刷新速度慢,容易出现死机现象: DDE本身的窄带宽,并不非常适用于实时交换系统,而这种实时 系统却为自动化控制所必需。
OPC技术的出现,打破了传统的DDE方式,以其独有的开放 性、互联性、高效性和产业性占据了主导地位。OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。它采用 客户,服务器体系,其目标是在客户和服务器之间建立一种通信和 数据交换的工业标准机制,将OPC作为一种数据交换的主要方法
【2】石莹。洪悦,钱晓龙.MATLAB与组态软件的数据交换技术.仪 器仪表学报,2003,24(4)增刊:337-340.
【3】王克平.王宪等.基于DDE技术的MATLAB与Wincc通信设 计.自动化仪表,2006.27(4):23-26.
【4】祝磊,雷建军.王桂荣。顾德英.RSView32和MATLAB之间的 通讯.微计算机信息。2003,1 9(2):58—59.
为所有的供货商接受、采用和执行,最终解决终端用户对多供货商 产品之间的互操作问题【5】。OPC不仅能够应用于单台计算机,而
且支持网络上分布式应用程序之间的通讯,以及不同应用平台应用 程序之间的通讯【6】。OPC每秒能够处理成千个事物,能够更快的 传输数据,成为了客户与服务器之间数据交换和通信的主要方式。
end rtl;
4.2数据传输控制 这一部分有两个功能模块组成,分别用来控制PCI9052 FIFO
到外部级联FIFO,外部级联FIFO到CPLD中GPIB接口控制模块 的数据传输。这部分比较简单,就不再详细描述了。
5总结 本卡具有大的数据传输速度,在实际单板调测中。达到了预期
的效果。国来自百度文库参考文献
【11张怡.基于PCI总线的双机高速数据通信系统的研制【D】.成都:西
等氢面支持OPC技耗即遨墼暖澎,件提供了可以访问数糖目毒豹OPC服 务器,任一客户端无需了解接13特性。只要按照OPC规范编写客
户端服务程序即可读取监控组态软件实时数据库中的数据。 另一方面,MATLAB在其推出的7.O版本中提供OPC工具
箱,支持OPC基金会数据访问标准的设备中读取写入和记录OPC 数据.例如分布式控制系统、监控系统和PLC系统。该工具箱允 许过程、制造,化学以及其他领域的工程师在连续和离散制造过程 中将对象数据采集到MATLAB环境中用于分析,可视化、仿真和 快速算法开发。
为方便和MATLAB进行数据通信,在此作者组态了一个 MCGS工程,准备了一些变量al、a2…all,b,提供给 MATLAB进行读写操作。 2.2 MATLAB的OPC实现
MATLAB可以以命令行方式和GUI方式运行所有OPC工具 箱函数。以下将以命令行方式MATLAB与MCGS进行数据交换 的部分程序。 2.2.1 MATLAB获取实时数据
第二,设置服务器名、组对象和项目名。 第三。在MATALB中,定位使用的OPC服务器。创建OPC 数据存取对象,并能够连接到服务器上。 第四,创建0PC数据存取组对象.并增加相应项目。 第五,设置数据的保持间隔和次数。 至此,MA'VLAB就可以通过其建立的组对象和项目名对OPC 服务器——监控组态软件采集的实时数据进行访问。
itmn=additem(grp,’an’); itmVec=[itml,itm2,…,itmn]
%设置保存间隔和次数 set(grp,'UpdateRate',0.2): set(grp,'RecordsToAcquire',40); %设置保存位置和类型 set(grp,'LoggingMode’,’disk&memory’); set(grp l,’LogFileName’,’a.olf’): set(grp,'LogToDiskMode’,’overwrite’); set(grp,'LogToDiskMode’,’append’): %记录开始 start(grp) pause(2) 至此将实时变量a1,a2…an读取到a.olf文件中。然后 MATLAB就可以利用这些数据进行相应的运算处理,并处理结果 存放于b。 2.2.2 MATLAB运算结果写入MCGS %创建项目组 grp0=addgroup(da) %把变量元素填加到组中 itm=additem(grp0,’b’) write(grp0,itm) 通过上述程序的执行,MATLAB的计算结果将传输到MCGS 的实时数据库。
基于PCI总线的1 553B总线接口卡设计
瞿朝兵1,_,陈涛1,_,徐智勇1,何培龙1 (1.中国科学院光电技术研究所,四川成都610209;2.中国科学院研究生院,北京100049)
摘要:针对MIL-STD·1553B数据总线协议及其接口技术要求.介绍了一种 基于PCI总线的1553B接口卡的工作原理和设计方案,该接口卡可编程选 择工作在BC.RT或BM模式,并介绍了在这三种模式下的软件编程的基 本例程。 关键词:1553B总线;PCI总线;BC;RT;BM
【5】陈迪泉.OPC技术与服务器开发广东通信技术.2005,5:6-1 I 【6】刘志鸿,杨传颖.利用OPC Toolbox在MATLAB中实现实时数
据的获取.仪器仪表用户,2005,1 2(5):85·86.
作者简介:冯江涛(1969-),女,山西晋城,讲师,硕士,研究方向为分散控 制系统。
文章编号:1671·1041(2007)04-0087·02
%与OPC服务端相连 da=opcda(’localhost’,’MCGS.OPC.Server’) connect(da)
%添加组 grp=addgroup(da,’MyGroup’): %把变量元素添加到组中,并创建向量 itml=additen^(grp,’al’); itm2=additem(grp,’a2’);
Data exchange between MATLAB and Industrial Configuration Software based
on OPC
FENG Jiang-tao (Shanxi University,Taiyuan 03∞13,China)
Abstract:This paper introduces the impedance of data exchangO between MATLAB and configuration software in the industriaI control system.and iIlustrate the method of data exchange based on 0PC.The data exchange of MATLAB and MCGS is implemented.
文章编号:1671·1 041(2007)04-0086-02
MATLAB和监控组态软件的OPC数据交换
冯江涛 (山西大学工程学院,太原03∞13)
摘要:本文简要说明了工业控制系统中MATLAB和监控组态软件数据交换 的必要性,阐述了OPC数据交换的方法。本文以MCGS监控组态软件为 例。实现了MATLAB和MCGS的数据交换. 关键词:MATLAB;OPC;监控组态软件 中图分类号:TP273+.5文献标识码:B
因此,在工业控制中将MATLAB和监控组态软件相结合,实 现优势互补一直是自动控制领域研究的热门话题【2】。其主要问题 是实现MATLAB和监控组态软件之间进行数据交换。
1 MATLAB和监控组态软件的OPC数据交换
收稿El期:2007-03-12
根据现有资料,MATLAB和监控组态软件之间的数据交换方 法有多种,其中以动态数据交换DDE为主。动态数据交换是 Windows系统中支持进程间的通信机制,它是以共享内存来实现数
在工业过程的实际应用中,大多数监控组态软件都拥有开发商 自主开发的专有实时数据库和历史数据库。如果要访问这些数据 库,以前必须编写相应的代码程序调用开发商提供的API函数或其 他特殊方式来实现。随着OPC技术的广泛应用,国内流行的监控 组态软件.如RSVIEW32、Ifix、WinCC,MCGS、Kingview
MATLAB和监控组态软件基于OPC技术的数据交换的步骤 如下:
86 El万C方V数01据.14 2007 NO.4
欢迎光临本刊网站http://www.eic.com.ca
首先,选择监控组态软件作为OPC服务器。因为目前支持 0PC功能的监控组态软件既可作为服务器,又可充当0PC客户 机。而MATLAB7.0只能作为OPC客户机从OPC服务器获取数 据。
2基于OPC技术的监控组态软件和MATLAB数据交换的 实现
本文以北京昆仑通态的监控组态软件MCGS为例,探讨了它 与MATLAB基于OPC技术的数据交换。其中MCGS作为OPC 服务器,与作为OPC客户端的MATLAB相连,为其提供读写 MCGS内部各个变量的功能。MATLAB提供了OPC专门的接口 程序,创建和配置OPC对象,读写和记录数据。 2.1 MCGS的OPC实现
既然MATLAB和监控组态软件都支持OPC功能,因此可以
利用OPC技术,根据工业现场的实际要求,使用监控组态软件作 为系统主控,进行实时数据采样,同时MATLAB作为后台应用程 序进行复杂算法运算、参数在线实时整定、系统在线仿真等功能。 这样可充分发挥监控组态软件和MATLAB各自的优势,实现对工 业现场的完美控制。
3结束语 实现MATLAB和监控组态软件的OPC通信。一方面可以扩
展组态软件的复杂控制功能,另一方面也能够使MATLAB获得现 场实时数据,可以改善MATLAB的纯数字仿真环境,实现系统的 在线辨识。国
参考文献
【1】郭发军.袁爱进等.MATLAB对现场实时数据获取的实现.仪器 仪表用户,2004,1 1(5):66-67.
程学院.2005. 【5】杨燕翔.GPIB接口的CPLD实现.电测与仪表,2005.(5):55—57. 【6】张熙等.基于CPLD的GPIB控制器的设计与实现.测控技术。
2006.25(2):43·45. 【7】王术群.GPIB接口的FPGA实现.电子设计应用.2004,(I o):43-45.
作者简介:尹翠然(1982-),女,硕士研究生,研究方向为电磁污染与电磁 兼容。
另一方面,广泛应用于过程控制系统实时监控的监控组态软件 提供了友好的人机交互界面,强大的通信功能。但是它的数据处理 能力较弱,一般的监控组态软件只具备简单的PID控制算法。随着 工业对象的日益复杂.自动控制水平及控制精度要求的提高,常规 的PID控制算法已经不能满足系统控制的要求。引入神经网络、模 糊控制等复杂控制策略己势在必行。然而这些高级的控制功能无法 直接在通用的组态软件中实现。
Key words:MATLAB:OPC;configuration software
MATLAB语言提供了强大的数值运算和仿真功能。利用它提 供的系统辨识、神经网络、小波分析等工具箱,可以非常方便地解 决数值计算、动态系统仿真等许多特定的课题和数学建模问题。由 于MATLAB很难获取现场数据,现阶段很多基于MATLAB的仿 真研究完全停留在纯数字阶段。在很多实际过程中,不可能准确获 得系统的数学模型,所以也就无从建立simulink所描述的框图,有 时还因为实际模型的复杂性,建立起来的模型也是不准确的,所以 需要将实际系统模型放置在仿真系统中进行仿真研究【l】。
南交通大学电气工程学院。2003. 【2】赵斌.PCI9Q52及其应用.电子技术应用.2004.(10):67—68 [3】PCI 9052 Data Book.Version2.0.USA:PLX Corporation.2001.9. 【4】孙朋.城市电磁环境监测站的设计[D】.北京:北京交通大学电气工
据交换的。大量的文献【3,4】表明了采用DDE数据交换技术实现 组态软件和MATLAB的数据通信的有效性。但是DDE存在的缺 陷是:当通信数据大时,数据刷新速度慢,容易出现死机现象: DDE本身的窄带宽,并不非常适用于实时交换系统,而这种实时 系统却为自动化控制所必需。
OPC技术的出现,打破了传统的DDE方式,以其独有的开放 性、互联性、高效性和产业性占据了主导地位。OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。它采用 客户,服务器体系,其目标是在客户和服务器之间建立一种通信和 数据交换的工业标准机制,将OPC作为一种数据交换的主要方法
【2】石莹。洪悦,钱晓龙.MATLAB与组态软件的数据交换技术.仪 器仪表学报,2003,24(4)增刊:337-340.
【3】王克平.王宪等.基于DDE技术的MATLAB与Wincc通信设 计.自动化仪表,2006.27(4):23-26.
【4】祝磊,雷建军.王桂荣。顾德英.RSView32和MATLAB之间的 通讯.微计算机信息。2003,1 9(2):58—59.
为所有的供货商接受、采用和执行,最终解决终端用户对多供货商 产品之间的互操作问题【5】。OPC不仅能够应用于单台计算机,而
且支持网络上分布式应用程序之间的通讯,以及不同应用平台应用 程序之间的通讯【6】。OPC每秒能够处理成千个事物,能够更快的 传输数据,成为了客户与服务器之间数据交换和通信的主要方式。
end rtl;
4.2数据传输控制 这一部分有两个功能模块组成,分别用来控制PCI9052 FIFO
到外部级联FIFO,外部级联FIFO到CPLD中GPIB接口控制模块 的数据传输。这部分比较简单,就不再详细描述了。
5总结 本卡具有大的数据传输速度,在实际单板调测中。达到了预期
的效果。国来自百度文库参考文献
【11张怡.基于PCI总线的双机高速数据通信系统的研制【D】.成都:西
等氢面支持OPC技耗即遨墼暖澎,件提供了可以访问数糖目毒豹OPC服 务器,任一客户端无需了解接13特性。只要按照OPC规范编写客
户端服务程序即可读取监控组态软件实时数据库中的数据。 另一方面,MATLAB在其推出的7.O版本中提供OPC工具
箱,支持OPC基金会数据访问标准的设备中读取写入和记录OPC 数据.例如分布式控制系统、监控系统和PLC系统。该工具箱允 许过程、制造,化学以及其他领域的工程师在连续和离散制造过程 中将对象数据采集到MATLAB环境中用于分析,可视化、仿真和 快速算法开发。
为方便和MATLAB进行数据通信,在此作者组态了一个 MCGS工程,准备了一些变量al、a2…all,b,提供给 MATLAB进行读写操作。 2.2 MATLAB的OPC实现
MATLAB可以以命令行方式和GUI方式运行所有OPC工具 箱函数。以下将以命令行方式MATLAB与MCGS进行数据交换 的部分程序。 2.2.1 MATLAB获取实时数据