Matlab下实现的实时数据采集和处理
RealTimeDataGathering&ProcessingRealizedUnder TheEnvironmentofMatlab
李成功 赵 昱 北京航空航天大学
【摘要】实时数据采集与处理是风机状态监测与故
因此,若能将两者结合运用,实现优势互补,效果会更好。
二、基本特性
在各种控制系统中,对系统的各种状态应及时进行检测、处理,并及时发出控制信号。数据采集一般是通过软件或硬件的定时中断,通过A/D
来读取外界传感器的数据。因此实时数据采集最基本的要求是定时准确,即采样间隔具有较好的一致性。Matlab5.3以上版本提供了对接口的数据采集模块,并提供了实时开发环境,称为Real_TimeWorkshop。作为Simulink3.0的一个重要功能模块,能直接从Simulink的模型中产生出可以移植的程序源代码,并自动构造出能在多种环境中实时执行的源代码,它具有可扩充的驱动程序库,并支持第三方的硬件和工具。在Simulink下建立的实时数据采集及控制模型,其优先权仅次于系统优先权,有效地保证了数据采集及处理的实时性,数据采样间隔能达到毫秒量级。
本文结合实际介绍了如何用Matlab5.3实现实时数据采集和处理。至于更高级的版本也是大同小异。
三、仿真模式简介
Simulink运行建立实时模型时,数据的采集及处理均由其自动建立的C程序执行,所以需要生成C程序的C语言编译器,Matlab5.3选择了WatcomC11.0编译器。
Matlab提供了两种用于仿真的模式。其中外部模式(ExternalMode)用于运行实时模型,支持在实时环境中在线调整参数。外部指的是这种模
障诊断系统的一个关键问题,介绍了在MATLAB环境下利用Real_TimeWorkshop实现实时数据采集与处理的一种方法。
关键词:风机 故障诊断 监测
Abstract:Realtimedatagathering&processingis
thekeyproblemoffanconditionmonitoring&troublediagnosissystem.Themethodofrealtimedatagathering&processingrealizedbyrealtimeworkshopundertheenvironmentofMATLABisintroduced.
Keywords:Fan Troublediagnosis Monitor
一、引言
设备状态的实时监测对于风机的故障诊断以及保证机组的安全可靠运行具有重要的意义。只有进行实时采集、记录机组运行状态的各种数据,才能及时发现异常情况,快速、准确地诊断出故障产生的原因,提出对策。这些都是通过对采集到的数据进行加工处理来实现的。而如何实现对数据的实时采集是其中一个关键问题。过去实时数据采集系统一般是在DOS操作系统下应用汇编语言开发或者用C语言开发,目前多采用C语言开发。因为其效率较高、可读性较强、实时性较好。但是其在数值分析和算法工具方面的效率却远远低于Matlab语言。在准确方便地绘制数据图形方面,Matlab语言更具有无可比拟的优势。此外,Matlab还可提供功能强大的工具箱。但Mat-lab的缺点是不能实现端口操作和实时处理。
2001年10月8日收到 北京市 100083
—41—◆计算机应用 风机技术 2002年第1期
式包括两个不同的环境:主机(host)和目标机(tar-get)。主机是MATLAB和Simulink运行的计算机;目标机指用Real_TimeWorkshop生成的可执行文件运行的计算机。外部模式通过在Simulink和Real-TimeWorkshop生成的代码之间建立一个通信通道进行工作。通信通道可以是网络协议(如TCP-TransmissionControlProtocol),也可以是共享内存。本文介绍的事例中,主机和目标机即使用同一台计算机,采用共享内存方式。
在外部模式下,等待参数的改变,一旦接收到参数的变化,它就把新的参数提供给目标。
要使用外部模式,首先需作如下几方面的设置。
(1)在Simulation菜单下选择External选项。(2)在SimulationParameters对话框的Solver页中设置SolverOptionsType为Fixed_step。
(3)在SimulationParameters对话框的Real_TimeWorkshop页中按下Options按钮,选择其中的Externalmode复选框。
(4)在SimulationParameters对话框的Real_TimeWorkshop页中不能选择Inlineparameters复选框,否则外部模式将不能运行。
为了便于理解,在介绍实例之前,首先介绍几个基本概念。
①定位(Targeting)、目标(Target)、主机(Host)
使用Real-timeWorkshop必须确定把生成的代码放到什么环境中,这就叫做定位。而这个环境本身则称为目标(Target)。主机(Host)是指运行Matlab、Simulink和Real-timeWorkshop的环境。利用主机中的构造工具,可以生成在目标系统上运行的可执行文件,而主机本身也可以作为目标机使用。
②目标语言编译器文件(TargetLanguageCompilerfiles)
目标语言编译器文件(TLC)是指由目标语言编译器编译并执行,描述如何生成目标代码的文件。Real-TimeWorkshop利用TLC文件把仿真模型翻译为代码。
③构造过程(TheBuildprocess)
Real-TImeWorkshop的构造过程由make-rtw控制,当按下Build按钮时Real-TimeWork-shop自动调用make-rtw开始构造。—42—“RTOut”是输出模块,用它向I/O板写数据;
“Scope”是示波器,用于显示数据波形;“Adapter”是用来为输入和输出模块选择I/O板的驱动(这里选择研华818hd板)。
Matlab5.3提供了60多种可供选择的I/O板
图1
首先make-rtw编译模型的模块框图,生成model-rtw文件,然后make-rtw启动目标语言编译器(TLC)生成代码。
④模板make文件(Templatemakefiles)Real-TimeWorkshop用模板make文件(Templatemakefiles)把代码编译为可执行文件。模板make文件的扩展名是“.tmf”,名字和系统目标文件有关。例如grt-msvc.tmf指的是一般实时(GenericReal-Time)目标的VisualC/C++模板make文件。
Make文件是用模板make文件生成的,生成的make文件的名字是model.mk。通过修改模板make可以对构造过程进行设置。
当实时运行模型时,Real-TimeWindowsTarget从I/O板通道中采集数据,作为模型模块的输入,然后立即处理数据,再通过I/O板的输出通道输出。它的数据采集是通过Matlab利用Watcom11编译器自动生成的C代码完成。
四、一个实时数据采集模型
下面结合程序简单介绍实现过程。(1)在Matlab的Simulink下建立自己的控制模型。
图1所示是一个实时数据采集及处理模型,“RTIn”是输入模块,用它从I/O板中读取数据;
Matlab下实现的实时数据采集和处理
驱动,如果所用I/O板不在其中,则需要自己写驱动,详细内容可参看有关资料。
(2)进行参数设置。
在菜单Simulink下的Parameters设置对话框中选择Solver,把解法设为定步长(Fixed_step),否则Real_TimeWorkshop将不能运行。然后选择Real_TimeWorkshop,在Systemtargetfile中填写win_watc.tlc,再分别在Templatemakefile和Makecommand中填写win_watc.tmf和make_rtw,然后按下Build按钮,将实时模型转化成C源程序及可执行文件。
(3)选择Simulation下的Connecttotarget项,把主机连接到指定的目标。
(4)选择Start菜单选项,开始执行实时程序。Real_TimeWorkshop为外部模式提供了一个图形用户界面的控制面板来对外部模式进行设置。在Tools菜单下选择ExternalModeControlPanel就会弹出这个控制面板,如图2所示。仿真过程中的在线参数调整有两种方式,一种是选择控制面板中的Parametertuning区域内的batchdownload(批量下传)夫选框,Download按钮会被激活,一批参数调整好后按下Download按钮调整的参数才传递到目标;另一种是不选择batchdownload方式,那么参数调整后立即下传到
目标。
如果你设置的采样速率太快,在程序执行过
程中,Matlab会检测到并给出信息。若信息中所示的执行效率太低,则需减小采样速率。
五、结论
本文简单介绍了用Matlab实现风机机组状态的实时数据采集和处理的方法及过程。实践证明这是一种简单而行之有效的方法。目前国内的应用范围还不广泛,但应用前景非常乐观。并且随着Matlab版本的不断升级,其功能也将不断增强。
图2
(上接第22页)
图6 供气管路示意图
作面上的沉积物产生有效的冲刷力、完全达到了设想的效果。
近一年来,通过综合测算,采用该方法后,除省去人工清灰大量的繁重劳作外,与往年相比,每年由此尚可降低生产成本120多万元,故此方法在有压缩气源的情况下,对叶轮的粘灰处理,不失
为一种投资少,效果好的治理方案。
参
考
文
献
1 西安交通大学.离心式压缩机.机械工业出版社,1984.2 B埃克.通风机.机械工业出版社,1983.
3 刘红,幸福堂.离心通风机粘灰机理的探讨.风机技术,2000(4).
—43—
因篇幅问题不能全部显示,请点此查看更多更全内容