引言
在工厂或实验室里,实验人员需要实时监测某些动态量和状态量,或用于快速准确的监控某些关键的设备,或用于记录过程,为以后系统的调整(如算法的修改,参数整定等)做参考。其中一个广泛试验是半物理仿真,即所谓硬件在环仿真,配合硬件的输入输出,往往要求在确定的时间里完成确定的监测与控制。此时通常采用实时系统。
实时系统是在确定的时间间隔内对来自外部激励信号完成响应,其中从输入到输出的每一循环抖动足够小,而使每个循环的过程不因为干扰而中断。实时系统往往要求连续循环进行准确控制,这样就对运行实时系统的软硬件环境要求很高。
设计实时系统的关键之一在于待测信号的特性分析,即合理分布被测对象。哪些信号需要实时监控,哪些信号只是普通的检测。由于实时系统所控制的量通常很关键或者影响到全局,被测量都是某些特定或者必需的,所以某些非实时测量都不需要也不应该引入整个系统的实时部分,因为多一个监测量的引入都会影响实时性能。故在多个物理量监测的时候,特别在有实时信号和非实时信号混合监测时候,需要将系统分为实时部分和非实时部分。
实时系统发展很快,境著名的编写实时测试程序的软件有QNX、VxWorks等,LabVIEW RT是National Instrument 公司在基于LabVIEW的Real-Time Module的实时编程环境,其利用LabVIEW的图形化语言,使得我们能够快速编写程序并方便地移植到实时平台。特别在测量领域,很多工程师都很熟悉 LabVIEW编写测控程序,利用NI LabVIEW Module使得工程师不需要再花费额外的时间学习其他平台就能开发很好的实时系统。
设计平台
1.本文所用的硬件平台包括NI的PXI平台、通用PC平台及笔记本平台,采集输出卡包括基于PXI、PCI和DAQCard的多功能采集卡。PXI平台是PXI-1002机箱,PXI-8176实时控制器,PXI-6052多功能采集卡;PC平台是通用PC和PCI-6014采集卡;笔记本平台是IBM 系列和DAQCard-6062多功能采集卡。
2.本文中的软件平台是美国国家仪器(NI)推行的LabVIEW7.0及LabVIEW Real-time 7.0 Module,其中所采用的LabVIEW工具包为Simulation Interface 2.0和Datalogging and Supervisory Module 7.0,同时还采用Mathswork 的Matlab6.5。
模型介绍
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-76-0.jpg)
在很多情况下,工厂或者试验室需要监控室温、湿度等环境量,同时机械运作设备中一般都缺不了动力的核心——电动机。实时监测电动机的运行情况在某些情况下是急需的。如何监控好多个信号,然后动态显示,处理分析,数据记录,远程共享数据等需要综合考虑。
本文利用Matlab中的Simulink Module 开发物理模型来模拟控制对象,模型包括房屋的温度和供暖气设备模型、直流电动机的物理模型,然后利用LabVIEW Toolkit之一中的Simulation Interface调用物理模型,结合LabVIEW的通用采集程序,使得这些模型的输入输出都是真实的信号,从而来实现半物理仿真环境。
构建平台
半物理仿真平台的实现
1.房屋室温模型
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-72-0.jpg)
引用Matlab Simulink Module 中自带的模型,模型的建立不再赘述。
2.直流电机模型
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-85-0.jpg)
引用通用的直流电机模型建立相关的simulink程序,如图2所示。
3.LabVIEW Simulation Interface Toolkit
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-16-0.jpg)
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-87-0.jpg)
LabVIEW发行的Toolkits之一中的Simulation Interface为在LabVIEW调用matlab的simulink提供了很方便的工具。我们可以利用LabVIEW的丰富界面作为 Simulink的输入输出,同时可以利用LabVIEW的无数采集程序或则其他测量方面的应用联系Simulink。鉴于simulink在仿真领域中的优越性能,我们可以通过simulation interface 实现丰富的半物理仿真。Simulation Interface亦可以调用由simulink real-time workshop创建的dll并将其植入到RT系统中。
4.LabVIEW Datalogging and Supervisory Control Module
LabVIEW发行的toolkits之一中的DSC(datalogging and supervisory control)为编写基于LabVIEW的测试程序与通用的工业模块如PLC进行通信提供了方便。DSC监视并记录server(工业网络如OPC)上各节点的数据,报警事件以及其他功能。本文中利用DSC目的在于利用其历史数据的记录功能,DSC将记录的数据记录在内置的数据库中,我们可以查看历史记录并可以将数据库导出做进一步分析。
5.采集卡完成真实信号的采集和输出
进行半物理仿真,需要实际信号的参与,在这里信号的采集和输出有PCI-6014多功能采集卡完成。采集输出程序是连续的硬件控制采样刷新率的缓冲型的普通程序。
6.半物理仿真平台的实现
非实时控制平台的实现
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-94-0.jpg)
![](http://www.ck365.cn/data/upload/201503/23/13-43-05-19-0.jpg)
(1)非实时控制平台主要完成:依据采集房屋温度模型输出的温度值,算法计算,然后输出相关值;
(2)数据(温度设定值和当前温度值)通过datasocket传送至上位机;
(3)前面板如图4所示。
实时控制平台的实现
(1)PXI RT平台包括PXI-8176和PXI-6052E多功能采集卡;
(2)依据实时程序的一般编程方法,将线程分为采集算法输出部分和通信存储部分,其中前者的优先级最高,设定为critical;
(3)通信部分完成数据传输和与远程上位机的某些参数的通行,包括程序的启动停止,PID参数的设置等;
(4)存储部分完成数据的本地存盘;
(5)采集算法输出部分为硬件定时采样,PID算法和硬件定时输出;
(6)通信存储部分与采集算法输出部分之间通过FIFO通信。
上位机的实现
(1)具有网络接口的高性能PC平台;
(2)上位机通过网络远程启动或停止实时平台和非实时平台;
(3)远程动态修改实时平台和非实时平台各参数;
(4)上位机通过网络远程接受从实时和非实时平台过来的数据,显示并保存。
结论
通过半物理仿真平台(房屋温度和直流电机模型)实现被测对象的模拟,由于对象中有非实时信号(房屋温度)和实时信号(直流电机速度)之分,分别通过非实时平台和实时平台进行监控。而控制非实时平台和实时平台是通过远程的上位机进行监控。监控的数据除本地存储外,同时通过网络上传到远程上位机进行远程存储。