iFIX与MATLAB间的数据交换技术及其应用
iFIX与MATLAB间的数据交换技术及其应用

6 6・
工业仪表与 自动化装 置
20 08年第 6期
i I 与 M ATLAB 间 的 数 据 FX
交 换 技 术 及 其 应 用
盛 凯, 曹顺安 , 李 睿
( 武汉 大学 动 力 与机 械 学 院, 湖北 武 汉 4 07 ) 302
摘要: 介绍 了 iI FX与 M T A A L B的 3种数据 交换技术 D E O C和 A t e 详 细 阐述 了用 D E和 D 、P c vX, i D
S HEN Ka ,C h n a G i AO S u —n,L i IRu
( oeeo o e & Mahn n e W h nU i rt, bi hn4 0 7 ,C ia C lg l fP w r ci udr ua nv sy Hue Wua 30 2 hn ) e ei
中图分 类号 :M 6 T 79
文献标识 码 : A
文章 编 号 :0 0— 6 2 20 )6— 06— 5 10 0 8 (08 0 06 0
Da a e c a g e h l g e we n i X nd M ATLAB n i p ia i n t x h n e t c no o y b t e FI a a d t a pl to s c
程控制, 或接受操作站发出的控制策略, 实现控制信
号输 出等功能 ; 站 的工业 P 操作 c机通 常运 行组 态软
件, 接收控制站传递过来的各种过程参数信号 , 并进
行处 理 、 分析和储 存 , 现数 据 、 实 曲线 、 警 和报 表 的 报 实 时显示 , 或进一步进行数 据挖掘实 现过程设 备 的故 障诊 断 , 通过人机对话 对下位机 的过 程控制参 数进行 修 改调整 。但是 由于下 位机 P C不 能胜任 复 杂 的控 L
MATLAB与Excel的链接及其在频谱监测数据处理中的应用

队园地Military World中国无线电 2007年第8期481 概述 MATLAB是Mathworks公司于20世纪80年代推出的软件,经过不断完善和发展,目前已成为涉及多学科、多领域的软件平台。
M A T L A B拥有四大特点:一是强大的数值运算能力和符号运算能力;二是强大的数据可视化功能;三是丰富的工具箱;四是可延拓性和开放的架构。
Excel是Microsoft公司推出的一个非常出色的电子表格软件,它以图、文、表三者完美结合的形式被广泛应用于财务、统计和分析等领域。
目前,无线电频谱监测系统中的数据有一大部分是以Excel格式存储的,如果能够将Excel与Matlab进行链接并完成数据交换,将会大大有利于无线电频谱监测数据的后期处理。
2 MATLAB与Excel的链接方法2.1 利用动态数据交换(D D E )和ActiveX技术 A c t i v e X技术和与之相关的C O M(c o m p o n e n t object mode1)是由Microsoft开发的提供开发人员使用的编程技术和软件接口。
ActiveX技术能够大幅度提高工作效率,因此,在Matlab中利用动态数据交换(DDE)和ActiveX技术编程可自动处理Excel数据。
利用动态数据交换和ActiveX技术处理Excel数据共分七个步骤。
第一步:利用uigetfile函数(如[FileName,Path Name]=uigetfile('*.xls'))产生一个标准Windows 查找文件对话框,查找相应的文件后,所选择的文件名和文件所在的路径名传递给参数FileName和PathName。
第二步:使用fullfile函数(如file=fullfile(PathNa me,FileName))将文件的全路径传递给参数file。
第三步:利用函数actxserver(如he=actxserver('Excel.Application'))启动Excel软件。
MATLAB在LabVIEW开发虚拟仪器中的应用_郑红梅

MA TLAB在LabVIEW开发虚拟仪器中的应用郑红梅张克仇成群刘莉(合肥工业大学,机械与汽车工程学院,合肥,230009,Email:Hongmeizh@)摘要:虚拟仪器编程软件LabVIEW结合计算功能强大的MATLAB将大大提高虚拟仪器的开发功能。
专业工具箱是MATLAB的特色,功能强大。
在虚拟编程软件LabVIEW中结合MATLAB工具箱就能够开发出独具特色的虚拟仪器。
本文分析了LabVIEW中如何调用MATLAB脚本节点以及MATLAB工具箱的应用。
本文还给出了MATLAB在LabVIEW开发机器人六维腕力传感器系统的动态标定虚拟仪器中的应用,表明了MATLAB工具软件使LabVIEW开发虚拟仪器更为方便有效。
关键词:LabVIEW软件;MATLAB软件;六维腕力传感器;动态标定The Application of MATLAB in LabVIEWZHENG Hong-mei,ZHANG Ke,QIU Cheng-qun,LIU Li(School of Mechanical and Automobile Engineering ,Hefei University of Technology,230009,Email:Hongmeizh@)Abstract:Making use of MATLAB toolboxes in LabVIEW will develop virtual instrument programming software. Math software MATLAB makes a feature of its professional toolboxes which function is powerful. The paper analyzes the application of using MATLAB Script and the use MATLAB of tool boxes. An example is also given which is developing a virtual instrument to calibrate dynamic performance for robot’s 6-axis wrist force sensor in LabVIEW. It is indicated that the help of MATLAB using LabVIEW to develop virtual instrument will become more convenient and more effective.Keywords:LabVIEW;MATLAB;6-Axis Wrist force sensor;Dynamic characteristic calibration0 引言随着计算机技术的飞速发展,计算机与传统的仪器仪表结合成为一种趋势,其强大的功能是传统仪器无法比拟的。
LabVIEW与MATLAB的结合强大的数据分析工具

LabVIEW与MATLAB的结合强大的数据分析工具LabVIEW与MATLAB的结合:强大的数据分析工具在科学研究和工程领域,数据分析是十分重要的环节。
为了更好地分析和处理数据,科学家和工程师们经常使用多种工具和软件。
LabVIEW和MATLAB是两个常用且功能强大的数据分析工具。
本文将探讨LabVIEW和MATLAB的结合,介绍它们在数据分析方面的优势。
一、LabVIEW介绍及其在数据采集和控制方面的应用LabVIEW是国际上广泛使用的一种图形化编程环境。
它以数据流为基础,在数据的采集、控制和处理方面具有独特的优势。
LabVIEW可以将传感器和仪器的数据直接输入到计算机,通过图形化界面进行实时监控和控制。
它提供了丰富的工具箱和模块,使得用户能够轻松地进行数据采集、处理和控制。
在数据分析方面,LabVIEW提供了强大的信号处理和模拟工具。
用户可以通过图形化编程方式,快速构建数据分析的算法和模型。
LabVIEW支持多种图形化表示方式,可以清晰地展示数据的变化和趋势。
用户还可以根据需要,将数据导出到Excel、CSV等格式的文件中,方便与其他软件进行进一步的分析和处理。
二、MATLAB介绍及其在数学计算和数据分析方面的应用MATLAB是一种数学计算和编程环境,被广泛应用于科学、工程和商业领域。
它提供了丰富的数学函数和工具箱,支持矩阵运算和符号计算。
MATLAB的语法简洁明了,易于学习和使用,使得用户可以根据自己的需求,编写复杂的数据分析和算法。
在数据分析方面,MATLAB提供了丰富的统计和机器学习工具。
用户可以使用MATLAB进行数据预处理、特征提取、聚类分析和分类模型的构建。
MATLAB还支持数据可视化,用户可以通过绘制图表和曲线,更直观地展示数据的特征和规律。
此外,MATLAB还具有丰富的数据导入和导出功能,方便与其他软件进行数据交换和共享。
三、LabVIEW与MATLAB的结合:优势与应用案例LabVIEW和MATLAB作为两款独立的软件,在数据分析方面各有其优势。
第章MATLAB与excel数据连结及绘图概要

(1)在excel电子表格中输入命令=MLOpen()
(2) 利用excel的宏工具,在宏对话框中输入Matlabinit, 然后单击执行按钮。
(3)按左上按钮"startmatlab"。
1、ExcelLink连接管理函数
(1) Matlabinit 该函数只能在宏子例程中使用。初始化 ExcelLink和启动Matlab进程。只有在 MLAutoStart函数中使用“no”参数,才需要 手动使用Matlabinit来初始化ExcelLink和启 动Matlab进程, 如果使用参数“yes”,则Matlabinit是自动执 行的。 使用语法:Matlabinit
(3) MLAppendMatrix
将Excel工作表中的数据追加到Matlab中指 定的矩阵中如果该矩阵不存在,则创建矩阵。 在工作表中使用的语法: MLAppendMatrix(var_name,mdat)
注意要追加的数据维数要和原矩阵中的维数 相匹配,否则出错
假设matlab中,矩阵a是个2行3 列的矩阵,如下图:
4. xlswrite与xlsread
➢ MATLAB提供的函数xlswrite,具有将 MATLAB中的数据写入EXCEL的功能。
➢ MATLAB提供的函数xlsread,具有将EXCEL 中的数据读入MATLAB的功能。
xlswrite的调用方式
xlswrite('', M) xlswrite('', M, sheet) xlswrite('', M, 'range') xlswrite('', M, sheet, 'range')
第23章 MATLAB与Word和Excel的

23.1.2
Notebook的使用环境
Notebook的功能都是通过Word软件中创建的Notebook菜 单来实现的。下面对Notebook菜单的各个菜单项进行详 细的介绍。 1.Define Input Cell 2.Define AutoInit Cell 3.Define Calc Zone 4.Undefine Cells 5.Purge Selected Output Cells 6.Group Cells 7.Ungroup Cells 8.Hide Cell Markers 9.Toggle Graph Output for Cell
10.Evaluate Cell 11.Evaluate Calc Zone 12.Evaluate M-book 13.Evaluate Loop 14.Bring MATLAB to Front 15.Notebook Options
23.1.3
Notebook实例分析
在M-book文档中,可以使用MATLAB工作空间中的变量。 M-book文档中的函数或程序传送到MATLAB中进行执行 ,然后把结果返回给M-book文档。在使用循环或分支等配 对使用的语句时,必须将输入单元合并变为单元组,否则 程序会出错。例如,在M-book文档中,输入如下程序: for i=1:10 disp(i) end
23.1
MATLAB与Word混合使用
MATLAB软件通过Notebook可以和Word软件进行数据的 交换。微软公司的Word软件在文字处理领域应用非常的 广泛。MATLAB中的Notebook允许用户在Word中编写 程序,然后送到MATLAB软件中执行,最后将结果返回 到Word软件中。
基于ActiveX技术的LabVIEW与MATLAB混合编程总结

ActiveX技术总结LabVIEW可以调用MA TLAB ActiveX接口提供的8个方法和1个属性:(1)Execute:Execute方法调用MA TLAB执行一个合法的MA TLAB命令,并将结果以字符串的形式输出。
其输入参数Name为字符串类型变量,表示一个合法的MA TLAB命令。
(2)GetFullMatrix(Name,Workspace,*pr,*pi):使用GetFullMatrix方法,LabVIEW从指定的MA TLAB工作空间中获取一维或二维数组。
Name为数组名,Workspace标识包含数组的工作空间,其默认值是“base”。
Pr包含了所提取数组的实部,Pi包含了所提取数组的虚部,它们在LabVIEW中为变体(V ariant)数据类型。
(3)PutFullMatrix(Name,Workspace,*pr,*pi);此方法向指定的MA TLAB工作空间中设置一维或二维数组。
如果传递的数据为实数型,pi也必须传送,不过其内容可以为空。
(4)GetCharArray(Name,Workspace):此方法从指定的MA TLAB工作空间中获取字符数组。
(5)PutCharArray(Name,Workspace,charArray):此方法向指定的工作空间中的变量写入一个字符数组。
(6)MinimizeCommandWindow():此方法使MA TLAB窗口最小化。
(7)MaximizeCommandWindow():此方法使MA TLAB窗口最大化。
(8)void Quit():用于MA TLAB退出。
(9)属性Visible:当Visible为1时,MA TLAB窗口显示在桌面上;当Visible为0时,隐含MA TLAB窗口。
举例说明:LabVIEW程序中有二维数组A、B,通过MA TLAB计算表达式B=A.*3(即A 的每个元素均乘以3),得到的结果保存在LabVIEW的数组B中,并显示在前面板上。
用Delphi和Matlab联合编程实现瞬变电磁法数据处理及解释系统

用Delphi和Matlab联合编程实现瞬变电磁法数据处理及解释系统发表时间:2015-12-03T15:11:53.507Z 来源:《基层建设》2015年17期供稿作者:苗圃胡坚[导读] 1新疆维吾尔族自治区煤炭科学研究所 2成都新元地球物理地质勘查咨询服务有限公司采用Delphi和MatLab联合开发的模式,编制瞬变电磁法数据处理及解释系统,形成全程可视化的资料解释处理软件。
1新疆维吾尔族自治区煤炭科学研究所,新疆乌鲁木齐 830091;2成都新元地球物理地质勘查咨询服务有限公司摘要:采用Delphi和MatLab联合开发的模式,编制瞬变电磁法数据处理及解释系统,形成全程可视化的资料解释处理软件。
关键词:瞬变电磁;Delphi;MatLab瞬变电磁法数据处理及解释系统,是在瞬变电磁反演行业实际工作应用中需要的非常重要的一套系统,通过将瞬变电磁测量仪器中的原始数据导出,进行数据转化成有序数据,对无规则繁琐的数据进行处理,最后进行图像化数据展示,用于进行地质结构的反演解释1.问题及需求瞬变电磁法数据处理及解释,涉及到的数据体非常大,而且需要设置的专业性参数也非常多,其中需要图形化数据模型来进行数据逻辑性判断。
因此首先我们考虑整套系统所涉及到的问题1)大量的数据需要管理。
2)数据管道需要将底层专用的数据通过一些函数及接口代码进行抓取出来。
3)进行数据处理的时候需要图形化人机交互处理,并即使保存,保存不同版本可以回退。
4)系统操作、设置等各种配置,选项参数都很多,需要更友好的界面进行操作。
5)数据模型的数据测算,建立三维模型查看等操作需要有数据支撑和快速查看,各个角度查看。
6)需要更高效率的软件及数据处理能力。
综合上述问题,我们思考可以用Delphi和Matlab 结合的方式来完成。
Delphi 是当前主流的Windows平台下主流的开发的工具,它能方便的形成应用软件中所需要的各种用户界面和工具,并能与系统底层交换数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2008-03-24作者简介:盛 凯(1985-),男,湖北武汉人,硕士生,研究方向为电厂化学过程自动控制与故障诊断。
i FI X 与MAT LAB 间的数据交换技术及其应用盛 凯,曹顺安,李 睿(武汉大学动力与机械学院,湖北武汉430072) 摘要:介绍了iFI X 与MAT LAB 的3种数据交换技术DDE 、OPC 和ActiveX,详细阐述了用DDE 和OPC 技术实现iFI X 与MAT LAB 间数据交换的具体过程,并结合电厂水汽化学过程监控系统,介绍了工控组态软件iFI X 与MAT LAB 之间3种数据交换技术的设计、实现和应用,具有重要的应用价值。
关键词:iF I X;MAT LAB;数据交换中图分类号:T M769 文献标识码:A 文章编号:1000-0682(2008)06-0066-05Da t a exchange technology between i F I X and M ATLAB and its appli ca ti onSHE NG Kai,CAO Shun 2an,L I Rui(College of Po w er &M achine underW uhan U niversity,Hubei W uhan 430072,China ) Abstract:This paper describes three kinds of data exchange technol ogies bet w een iF I X and MAT 2LAB ,which are DDE 、OPC and ActiveX .Both DDE and OPC are used t o i m p le ment the s pecific p r ocess of the data exchange bot w een iF I X and MAT LAB ,which is discussed in detail and de monstrated in a mo 2nit oring syste m f or water and stea m che m istry p r ocess in power p lant .The design and realizati on of these data exchange technol ogies and their app licati on are als o p resented in the paper,which have great p racti 2cal value .Key words:iF I X;MAT LAB;data exchange0 引言 工业PC +P LC 控制器是常见的分布式监控系统结构,P LC 作为现场控制站来完成过程参数的数据采集并将采集的数据传送到操作站,同时实现闭环过程控制,或接受操作站发出的控制策略,实现控制信号输出等功能;操作站的工业PC 机通常运行组态软件,接收控制站传递过来的各种过程参数信号,并进行处理、分析和储存,实现数据、曲线、报警和报表的实时显示,或进一步进行数据挖掘实现过程设备的故障诊断,通过人机对话对下位机的过程控制参数进行修改调整。
但是由于下位机P LC 不能胜任复杂的控制算法,上位机运行iF I X 组态软件,虽具有强大的图形界面功能和很强的交互性,且支持VBA 扩展[1],但其计算功能却很薄弱。
随着工业过程控制要求的提高以及先进智能控制算法的不断涌现,模糊算法、神经网络算法、遗传算法等复杂控制算法取代传统的P I D 算法成为工业过程控制的发展趋势;基于过程监测的故障诊断更需要应用程序具有强大的运算功能。
鉴于MAT LAB 具有强大的数值计算能力和大量的标准算法,若将iF I X 采集到的实时数据通过数据交换传给MAT LAB 进行计算处理,再将运算处理结果交由iF I X 图形界面进行显示,或将由运算结果得到的控制输出传递给iF I X,再由iF I X 将控制输出传送给下位机P LC,由P LC 输出模块输出控制信号,实现过程控制,这样将可极大地提高监控系统的作用,也扩展了iF I X 的功能,有利于基于复杂算法的故障诊断和过程控制的设计与实现。
要实现上述目的,最核心的问题在于iF I X 和MAT LAB 之间的数据交换。
通过在MAT LAB 的Si m ulink 中设计数据传输模块来实现两者之间数据交换的文献鲜见报道。
该文介绍了MAT LAB 与工控组态软件iF I X 之间进行数据交换的3种主要技术:动态数据交换(DDE)技术、过程控制对象链接与嵌入(OPC)技术及ActiveX自动化服务技术。
重点探讨了使用DDE和OPC技术在Si m ulink平台下实现复杂控制算法的方法,并且介绍了这些数据交换技术在电厂水汽化学过程监控和故障诊断系统中的应用。
1 动态数据交换技术(DD E) 动态数据交换(Dyna m ic Data Exchange简称DDE)是W indo ws环境提供的一种基于消息的进程间通信技术协议。
以客户应用程序和服务器应用程序的形式来实现信息共享,DDE服务器负责维护其他应用程序所使用的数据,而DDE客户机则负责从服务器获取数据[2]。
只要成功建立起DDE连接,就可以实现两个应用程序之间信息的自动更新,无须用户参与。
MAT LAB作为客户程序时,可以使用MAT LAB 中的DDE客户端模块提供的函数与服务器应用程序进行通讯。
这些函数包括:服务初始化函数ddeinit()、数据请求函数ddereq()、数据发送函数ddepoke()等。
iF I X提供了DDE客户端和服务器支持。
当iF2 I X作为客户端时,需将DDE驱动添加到iF I X的I/ O驱动中,并在数据块设置中使用DDE I/O驱动器和地址。
当iF I X作为服务器时,应运行iF I X的DM2 DDE.EXE文件。
iF I X本地DDE编址方式为:应用程序名|主题名|项目名,iF I X使用DMDDE作为应用程序名,使用DAT A作为数据的文件名,项目名为进行数据传递的iF I X数据块的名称。
2 过程控制对象链接和嵌入技术(O PC) OPC是Object L inking and Embedding(OLE) for Pr ocess Contr ol的缩写,它是以微软公司COM和DCOM技术为基础,创建的一种应用于自动化领域的软件接口标准。
OPC采用开放式的数据交互,能使不同公司的软硬件组成一个有机的整体,传输可靠,速度快,适于大批量数据交换,已经成为工控行业新的通信标准,广泛应用在工控行业的各个领域[3]。
由于iF I X和MAT LAB都支持OPC技术,所以,两者也可以通过OPC实现数据通信。
MAT LAB6.5及以上版本中,集成了OPC工具箱,它是一个OPC客户端数据访问软件,提供了一种服务器和客户端互访的通信机制,通过OPC工具箱可以连接任何一个OPC数据服务器,实现对连接的OPC服务器数据的读或写。
借助该工具箱,可以方便地实现MAT LAB客户端与iF I X服务器端之间的数据通信[4]。
iF I X能与任何本地OPC服务器进行通信。
通过运行数据服务器安装程序(DataServerI nstaller),能给iF I X节点添加、修改和删除一个OPC服务器。
OPC地址语法如下:Server Na me,Gr oupNa me, Ite m I D,AccessPath,其中Server Na me是OPC服务器的名称,Gr oupNa me是要访问的OPC组的名称, Ite m I D是要读写的OPC项目的名称,AccessPath是可选项。
当iF I X作为客户端时,需将OPC驱动添加到iF I X的I/O驱动中,并且在OPC PowerTool中配置OPC驱动。
当iF I X作为服务器时,其服务器名称为:I ntelluti on.OPCiF I X.1,同时需运行相应I/O 驱动的PowerTool工具来配置OPC I/O Server。
3 Acti veX自动化服务技术 ActiveX是M icr os oft公司提供的一种用于模块集成的新协议,它是V isual Basic工具箱的扩充,允许用不同编程语言生成的软件组件可以跨进程、跨平台并能在网络上进行交互[5]。
ActiveX自动化服务技术是ActiveX的一个协议,它允许应用程序或组件控制另一个程序或组件的运行。
ActiveX自动化服务包含两个方面:自动化服务器和自动化控制器[6]。
自动化服务器指的是由其他应用程序编程驱动的应用程序或组件。
MAT LAB 提供了广泛使用的外部程序接口———ActiveX接口。
当使用MAT LAB作为自动化服务器时,其提供的自动化对象的外部名称为Matlab.App licati on。
利用此对象含有的Execute()、PutFull M atrix()、GetFull M a2 trix()、Quit()等方法均可对MAT LAB进行调用。
自动化控制器是使用和操纵自动化对象的应用程序或组件。
常见的编程软件VB、VC++、JAVA都支持ActiveX自动化控制器端协议。
iF I X不但有ActiveX控件的嵌入,而且提供了V isual Basic Edi2 t or,可通过VB程序调用ActiveX。
因此,MAT LAB 和iF I X的通信也可以通过ActiveX方式实现。
文中所述的3种方法均涉及到两种应用程序之间的数据传递,故数据处理速度较之在一种应用程序中时会有不同程度的降低。
ActiveX方式通过iF2 I X的VBA来操纵MAT LAB语句的执行,数据处理速度相对最快,而DDE方式比OPC方式数据处理速度略快。
但对于大部分过程参数而言,以上3种方法均能满足控制的要求。
4 应用实例 常见的火电厂水汽化学过程的监测控制与故障诊断系统为分散控制架构,下位机一般为P LC控制器,完成现场过程参数的采集和过程控制,即P LC控制器一方面将采集的数据上传给上位机,同时基于在线仪表的反馈信号,按照一定的控制算法,对给水加氨、加联氨和炉内加药过程实现闭环控制;上位机为工业PC,运行组态软件,接收下位机传递来的数据,实现过程数据的实时显示、趋势显示、报警显示、报表管理和故障诊断等功能。
对于下位机闭环控制系统,由于提供反馈信号的在线监测仪表远离汽水系统的取样点,且取样和加药管道绵长,系统具有大时滞性;同时,由于锅炉负荷波动,药箱中药剂浓度受人为因素的影响,现场干扰和环境条件的变化,被控对象又具有显著的非线性和时变特性。