分享

半实物仿真-半实物仿真技术发展综述

 GAO202 2016-08-07

1半实物仿真技术

1.1半实物仿真系统定义

半实物仿真,又称为硬件在回路中的仿真(Hardware in the Loop Simulation),是指在仿真实验系统的仿真回路中接入部分实物的实时仿真。实时性是进行半实物仿真的必要前提。

半实物仿真同其它类型的仿真方法相比具有经济地实现更高真实度的可能性。从系统的观点来看,半实物仿真允许在系统中接入部分实物,意味着可以把部分实物放在系统中进行考察,从而使部件能在满足系统整体性能指标的环境中得到检验,因此半实物仿真是提高系统设计的可靠性和研制质量的必要手段。

1.2 半实物仿真的先进性及其特点

半实物仿真技术自20世纪60年代问世直到目前美国研制航天飞机,始终盛行不衰。美国大多数国防项目承包商都有一个或多个半实物仿真实验室,这些实验室代表了当前世界先进水平。其先进性体现在:

(1) 有高速高精度的仿真机;

(2) 有先进完备的环境模拟设备。国内半实物仿真技术在导弹制导、火箭控制、卫星姿态控制等应用研究方面也达到了较高水平。

半实物仿真的特点是:

(3) 在回路中接入实物,必须实时运行,即仿真模型的时间标尺和自然时间标尺相同。

(4) 需要解决控制器与仿真计算机之间的接口问题。

(5) 半实物仿真的实验结果比数学仿真更接近实际

1.3半实物仿真系统的基本组成与原理

半实物仿真系统属于实时仿真系统。它是一种硬件在环实时技术,把实物利用计算机接口嵌入到软件环境中去,并要求系统的软件和硬件都要实时运行,从而模拟整个系统的运行状态,如图2所示。实时系统由以下几部分组成。

(1)仿真计算机

仿真计算机是实时仿真系统的核心部分,它运行实体对象和仿真环境的数学模型和程序。一般来说,采用层次化、模块化的建模法,将模块化程序划分为不同的速率块,在仿真计算机中按速率块实时调度运行。对于复杂的大型仿真系统,可用多台计算机联网实时运行。

(2)物理效应设备

物理效应设备的作用是模拟复现真实世界的物理环境,形成仿真环境或称为虚拟环境。物理效应设备实现的技术途径多种多样,方案之一是采用伺服控制回路,通过伺服控制回路控制形成相应的物理量,方案之二是在已储存好的数据库中搜索相应的数据,转化为相应的物理量。

(3)接口设备

仿真计算机输出的驱动信号经接口变换后驱动相应的物理效应设备。接口设备同时将操作人员或实物系统的控制输入信号馈入仿真计算机。

半实物仿真系统原理框图如图1所示。在仿真计算机中通过对动力学系统和环境的数学模型解算,获得系统和环境的各种参数。对半实物仿真系统,这些参数通过物理效应设备生成传感器所需要的测量环境,从而构成完整的闭环仿真系统。物理效应设备是实现仿真系统所需要的中间环节,它的动态特性、静态特性和时间延迟都将对仿真系统的置信度和精度产生影响,应该有严格的相应技术指标要求。

1 半实物仿真系统原理框图

半实物仿真系统是虚、实结合的系统,它具有以下特点:

(1)建立仿真模型。任何仿真模型的实现,都必须建立被仿真对象实体的数学模型。除建立被仿真实体的数学模型,还应建立环境模型,例如飞行仿真系统中大气环境(气压、气温、阵风、扰动气流等)模型、地理环境(地形、地貌)模型等。

(2)实物的接入与仿真环境的生成。实时仿真系统一般都接入实物系统,例如将发动机仿真系统进行含实物仿真试验。各种物理效应设备将模拟生成实物系统所需要的物理环境,通过物理效应设备和接口使仿真计算机和接入的实物系统构成一个完整的含实物仿真系统。

(3)系统仿真试验。系统仿真试验具有良好的可控性、无破坏性,可多次重复,经济、安全、不受气象条件和场地环境的限制。

(4)系统仿真的应用。系统仿真技术可广泛应用于国防、能源、水利、工业等工程领域和非工程领域,也可广泛应用于产品研制的方案论证、设计分析、生产制造、试验评估、人员训练的全过程。

(5)系统仿真的实时性。仿真计算机从并行计算的模拟计算机发展到串行计算的数字计算机,其中突出的技术关键是如何保证仿真系统的运行实时性。实时性体现在循环迭代计算的帧周期上,应根据仿真系统内的信息变化速率快慢选定帧周期。联网仿真的网络延迟和物理效应设备的时间延迟都将影响仿真系统的实时性。

1.4半实物仿真工作流程

用户在进行半实物仿真时,一般要经历以下瀑布式流程,如图2所示,对实际系统建模,进行纯数学仿真(即数学仿真模型),对模型进行修改,设计定型,将模型中部分数学化的模型用实物代替作实物实时仿真,再修改模型进行仿真,最后确定模型。

完成了数学模型的建立和仿真验证后,用户可以建立半实物实时仿真系统。在Matlab/Simulink系统平台上建立半实物实时仿真系统十分简便,即将原来的用数学方法表达的输入、输出信号模型用实际的I/O板替换,然后对硬件目标进行描述,生成实时代码,将实时代码下载到本地仿真平台上,最后运行模型、进行仿真数据监视并可以在线修改仿真模型的数学部分。

2 半实物仿真流程

2主要半实物仿真系统

2.1 dSPACE半实物仿真平台

在半实物仿真系统中,由于实物的引入,需要模拟这些部件的真实工作环境和激励信号,还需要以一些专用的物理仿真模型加以实现。半实物仿真作为替代真实环境或设备的一种典型方法,既提高了仿真的逼真性,又解决了以前存在于系统中的许多复杂建模难题,因此半实物仿真成了主要的发展方向。另外,在开发的初期阶段,需要快速地建立控制对象原型及控制器模型,并对整个控制系统进行多次离线的及在线的试验来验证控制系统软、硬件方案的可行性,这个过程称之为快速控制(RCP)。dSPACE 实时仿真系统为半实物仿真和RCP 的应用提供了一个协调统一的一体化解决途径。dSPACE 是基于MATLAB/Simulink 的控制系统开发及测试的工作平台,实现了和MATLAB/Simulink的无缝连接。dSPACE实时系统拥有高速计算能力的硬件系统,还拥有方便易用的实现代码生成/下载和试验/调试的软件环境。

2.1.1 dSPACE 简介

dSPACE 实时仿真系统是由德国dSPACE 公司开发的一套基于MATLAB/Simulink 的控制系统在实时环境下的开发及测试工作平台,实现了和MATLAB/Simulink 的无缝连接。dSPACE 实时系统由两大部分组成,一是硬件系统,二是软件环境。其中硬件系统的主要特点是具有高速计算能力,包括处理器和I/O 接口等;软件环境可以方便地实现代码生成/下载和试验调试等工作。dSPACE 具有强大的功能,可以很好地完成控制算法的设计、测试和实现,并为这一套并行工程提供了一个良好的环境。dSPACE 的开发思路是将系统或产品开发诸功能与过程的集成和一体化,即从一个产品的概念设计到数学分析和仿真,从实时仿真实验到实验结果的监控和调节都可以集成到一套平台中来完成。

dSPACE 的软件环境主要由两大部分组成,一部分是实时代码的生成和下载软件RTIReal-Time Interface),它是连接dSPACE实时系统与MATLAB/Simulink纽带,通过对RTWReal-Time Workshop)进行扩展,可以实现从Simulink模型到dSPACE 实时硬件代码的自动下载。另一部分为测试软件,其中包含了综合实验与测试环境(软件)ControlDesk、自动试验及参数调整软件MLIB/MTRACEPC 与实时处理器通信软件CLIB以及实时动画软件RealMotion等。dSPACE实时仿真系统的结构如图3所示。

3 dSPACE半实物仿真系统框图

dSPACE实时仿真系统具有许多其它仿真系统具有的无法比拟的优点:

组合性强。使用标准组件系统,可以对系统进行多种组合。

过渡性好,易于掌握使用。与MATLAB/Simulink无缝连接,方便地从非实时分析设计过渡到实时分析设计。

快速性好。用户可以在几分钟内完成模型/参数的修改、代码的生成及下载等工作,大大节省了时间和费用。

实时性好。一旦代码下载到实时系统,将独立运行,不会产生对试验过程的中断。

可靠性高。dSPACE 系统软硬件均为精心设计、制造和调试的,无兼容性问题,可以信赖。

灵活性强。允许用户在单板/多板系统、单处理器/多处理器系统、自动生成代码/手工编制代码进行选择,适应各方面的应用需求。

基于PC 机、WINDOWS 操作系统,其代码生成及下载软件、试验工具软件都基于WINDOWS 操作系统,硬件接口采用标准总线,方便掌握使用。

2.1.2 dSPACE 软件环境介绍

2.1.2.1 代码的生成及下载软件

描述控制系统的C代码可以由Simulink方框图自动生成并下载到实时系统硬件中,这项工作主要由MATLAB/RTWdSPACE系统中的RTI 来完成。RTI 的使用方法就是用图形方式从dSPACERTI库中选定相应的I/O模型,将其拖放到用Simulink搭建的系统模型方框图中,并指定I/O参数以完成对它的选定,选定后,只要用鼠标点击一下对话框中的Build命令,RTI就会自动编译、下载并启动实时模型。另外,RTI还根据信号和参数产生一个变量文件,可以用dSPACE的试验工具软件如ControlDesk来进行变量的访问。当仿真系统比较复杂时,就需要RTI-MP的帮助以完成多处理器系统的设计并建立多处理器网络结构。

2.1.2.2 测试软件

dSPACE 提供的测试软件主要有:ControlDesk 综合实验环境、MLIB/MTRACE 实现自动试验及参数调整软件。

1 ControlDesk

ControlDesk dSPACE 公司开发的新一代综合试验和测试软件工具,提供对试验过程的综合管理,它可实现的功能包括:

对实时硬件的可视化管理

用户虚拟仪表的建立

变量的可视化管理

参数的可视化管理

试验过程的自动化

2 MLIB/MTRACE

利用 MLIBMTRACE,可以大大增强dSPACE实时系统的自动试验能力。使用这两个库可以在不中断试验的情况下从MATLAB直接访问dSPACE板上运行的应用程序中的变量。甚至无需知道变量的地址,有变量名就足够了。这样就可以利用MATLAB的数字计算及图形能力进行顺序自动测试、数据记录和控制参数的优化。

MLIBMTRACE联合使用可组成一个完美的整体。有MATLAB强大的计算能力做支持,可以自动执行所能想到的任何试验。比如控制器的优化:用MTRACE记录数据,然后将数据传送给MATLABMATLAB自动计算出新的控制器参数,并通过MLIB送回处理器板或控制板。

总之,dSPACE是进行基于Simulink模型半实物仿真和实时控制的首选工具,利用以上软件工具可以完成从系统建模、分析、离线仿真到实时仿真的全过程如图4所示。

4 利用dSPACE实时仿真过程

2.1.3利用dSPACE进行控制系统的开发

在进行控制系统的开发时,常常需要面临许多难以解决的问题,而开发的时间却要求愈来愈紧迫。由于制造过程中存在误差、老化及元器件装配等问题,对控制系统提出了相当高的可靠性要求;对控制性能越来越高的要求使控制算法也越来越复杂;并行工程要求设计、实现、测试及生产准备同时进行;有时控制对象在开发过程中也在不断发生变化。由上述过程可以看出,传统的开发方法至少存在三个较大的问题:

1、在对控制规律的控制特性或控制效果还没有一点把握的情况下,硬件电路已经制造了,这时还不知道设计方案能在多大程度上满足要求,或者根本不能满足要求。

2、由于采用手工编程,会产生代码不可靠的问题,这样在测试过程中对出现的问题,很难确定是控制方案不理想还是软件代码有错误。更重要的是手工编程将会占用大量的时间,导致虽然有了控制方案,却要等待很长的时间才能对其进行验证和测试,从而在不知道方案是否可行的情况下就浪费了大量的时间、人力和物力,给开发带来了不必要的开支和经济损失。

3、即使软件不存在问题,如果在测试过程中发现控制方案不理想,需要进行修改,则新的一轮工作又将开始。大量的时间又将耗费在软件的修改和调试上。另外,由于涉及的部门和人员过多,再加上管理不善造成的种种不协调,导致开发周期长而又长。

而用 dSPACE提倡的基于模型面向应用的现代化开发方法则要有效的多。现代开发方法的最重要的特征就是计算机辅助控制系统设计(CACSDComputer-Aided Control System Design)。将计算机支持工具贯穿于控制系统开发测试的全过程。CACSD不仅仅是进行控制方案的设计和离线仿真,还包括实时RCP、产品代码的生成和硬件在回路测试,这是一个完整的流线型控制系统开发步驟。

dSPACE为流线型控制系统的开发提供了一套CACSD的工具包CDPControl Development Package)。CDP主要基于下列工具:

MATLAB:用于进行模型的分析、设计、优化和数据的离线处理

Simulink:用来进行基于方框图的控制系统离线仿真

Real-Time-Workshop:用来从方框图模型直接生成C代码。

dSPACE 公司的RTI:用来使代码可以在单处理器目标系统中运行。

dSPACE 系列软件工具:用来对闭环试验进行交互操作。

总之,利用CDP可以完成从系统建模、分析、离线仿真到实时仿真的全过程。对大多数用户而言,一般有以下几个步骤:

步骤 1:用线性或非线性方程建立控制对象的理论模型。该方程能用MATLABm-file格式或Simulink方框图方式表示,以便于用MATLAB/Simulink进行动态分析。

步骤 2:用MATLAB工具箱设计原始控制方案。

步骤 3:用Simulink对控制方案进行离线仿真。

步骤 4:在Simulink框图中,从RTI库用拖放指令指定实时测试所需的I/OA/DD/A,并对其参数进行设置。

步骤 5:选择RTW Build,自动完成目标DSP系统的实时C代码的生成、编译、连接和下载。即使是复杂的大型控制系统,该过程也只需几分钟左右。

步骤 6:用ControlDesk试验工具软件包与实时控制器进行交互操作,如调整控制参数,显示控制系统的状态、跟踪进程响应曲线等。

步骤 7:返回步骤1

总之,利用dSPACE,可以把精力全神贯注于控制方案的构思,可以大大缩短开发周期。

2.2 RT-LAB半实物仿真平台

RT-LAB实时仿真器是加拿大Opal-RT Technologies公司推出的基于模型的工程设计与测试应用平台。应用此仿真器,工程师可以在一个平台上实现工程项目的设计、实时仿真、快速原型与硬件在回路测试的全套解决方案。

RT-LAB的应用,为基于模型的设计带来了不同的方法。由于其开放性,RT-LAB可以灵活的应用于动力学系统仿真与控制场合;其优秀的可扩展性能为所有的应用提供了一个低风险的起点,使得用户可以根据项目的需要随时随地对系统运算能力进行验证及扩展——不论是为了加快仿真速度或者是为满足应用的实时硬件在回路测试的需要。

2.2.1 RT-LAB特性

RT-LAB的主要特性是分布式运算。将复杂的模型分布到若干处理器上并行运算是RT-LAB的独创,通常可以用普通的COTS硬件作为模型运行的载体目标机,这样做除了扩展运算能力外,还意味着用户可以在较短的时间内灵活的组建符合自己需要的实时仿真平台,并能结合项目的需要扩展。

RT-LAB的分布式特点表现为两个方面:分布式的目标机(最多可达63)和分布式的主机平台。

分布式的目标机运行一运算负荷的分配

RT-LAB提供的工具可以方便的将系统模型分割为若干个子系统模型,并分配到若干个目标机上并行运算。通过这种方式,当用户的模型在单个目标机上不能实时运行时,RT-LAB可以将运算负荷分配到多个目标机上,这样就有足够的运算能力满足实时性要求。

在模型运行时,RT-LAB支持多个目标机之间的数据通讯。可以用TCPIPIEEE-1394、共享内存,或者将这些技术结合起来实现目标机间的实时数据通讯,用户也可以在主机平台上与目标机上的仿真模型通过TCP/IP或者IEEEl394进行实时在线交互。

分布式的主机平台——从子系统设计到完整系统仿真的虚拟集成

由于将仿真模型分布到目标机上并行运算,因此,RT-LAB也是大型仿真项目的团队开发平台,每个开发小组专注于自己的子系统模型的设计,并在自己的仿真目标机进行实时测试,然后,各个小组的模型可以组合成完整系统的模型。每个子系统之间的数据交换可以通过目标机之间的实时通讯网络进行。

连接性

RT-LAB的应用程序接口(API)功能全面,并有详细说明文档。对于熟练的编程人员,它还允许开发者在编写系统级仿真管理软件的时候能够迅速的将自己的应用程序与实时仿真系统整合。同时,RT-LAB也提供了相应的工具来简化实时仿真系统与运行在主机上的面向非编程人员的应用程序的连接。如:RT-LABLabVIEW API工具能建立实时模型和LabVIEW的直接联系,不需要编写任何代码;允许用户使用Python(RT-LAB自带插件)语言来配置模型以及自动化运行测试步骤。同时,模型可以运行在不同的RT-LAB目标机处理器上,且不需要重新设置或编译模型;可以使用Test Stand的测试自动化;从Simulink程序框图中调用Python的脚本函数;在主机和目标机之间的自动文件传输。

2.2.2 Internet上的远程操作

由于RT-LAB的主机与目标机系统之间是通过DUP/IP协议来进行通讯,可以通过Internet来与仿真目标机进行通讯,这使得RT-LAB仿真实验室可以与外界共享资源协同开发。此外,还允许实时系统的远程操作,如在对一个远程对象上的控制器仿真,控制工程师可以在办公室内修改数个远程目标工作站的控制参数,甚至完全改变控制策略。

RT-LAB环境中的软件包DINAMO可以进行航空工程设计,利用DINAMO的可适用于静态配平和动态的操纵飞行的自动批量参数估计,可以进行动力学分析;选用RT-3D的组件,如MATLABVirtualreality工具箱,WorldUpAltia等,用户可以读取仿真数据并实时的在3D虚拟现实环境中显示出来,而且可以为仿真模型创立3D显示效果,实时的观察模型的动作并与其交互。

2.2.3 I/O数据与记录性

RT-LAB的数据I/O和记录特性包括模型仿真的采集与记录,数字信号的采集和产生,以及目标机平台实时操作系统QNX下的硬件驱动。主要包括如下内容:

实时数据显示和记录用户可实时读取实时信号或将其记录为文件;

丰富的伙I/O硬件支持用户可选择第三方提供的ISA/PCI接口的硬件板卡;

支持由opalRT自行研制的I/O板卡;

触发子系统用户可自行设置任务在触发时刻开始执行;

硬件同步可选用NI6602Opal-RTOP5100系列卡上的时钟作为仿真同步源,以弥补软件时钟精度的不足;

数据采集支持ADC数据采集卡,用户可自主设置连续或特定周期的高速数据采集,且数据采集过程不占用系统仿真时间:

波形发生功能—RT-LAB模块集提供各种信号产生功能以及各种任意时刻的开关量阶跃信号;

数字波形捕捉的高级特性检测在计算机步长间隔内产生的外部事件,并且补偿由于事件的影响滞后而导致的计算误差;

通用的共享内存卡驱动支持共享内存方式的目标机之间的高速数据通讯,允许设备间的数据读写。

2.2.4 RT-LAB的优点

RT-LAB广泛应用于航空、航天、工业和军事武器系统仿真,其基本的优点如下:

(1) 基于PC技术:高性价比,运算速度快。在仿真模型各个子系统之间可以获得实时通信和同步控制,高速实时连接,因此仿真是高性能的并行计算。这些子系统可以任意放在若干个节点上,它们之间采用火线(IEEE-1394)连接。

(2) 支持半实物(硬件在回路)仿真。在Target节点上既可以插入模拟I/O卡也可以插入数字I/O卡。因此仿真系统可以与外部设备进行通信,如HILTargetI/O卡之间由RT-LAB仿真平台进行同步管理。

(3) 支持与其它非实时仿真平台的协同仿真。为了提高仿真模型的实时性,系统的非实时部分独立运行在RT-LAB平台之外的其它平台上,这些非实时平台上的程序通过RT-LAB仿真界面接口程序与仿真模型系统之间交互非实时数据。

(4) 能自动划分模型并产生分布式仿真代码。RT-LAB利用自身的Simulink图标解释Simulink模型,划分各个子系统,生成源代码,编成可执行程序,下载到Target节点上,这一切过程都是RT-LAB自动完成。因此,RT-LAB工具自动照顾编码细节的优点不但可以加速开发过程,而且使得仿真模型具有灵活的伸缩能力。

(5) 支持MATLAB/STATEFLOWSTATEFLOWMATLAB软件专门用于复杂逻辑系统建模的状态机工具包,支持MATLAB/STATEFLOW就意味着提供了对复杂过程系统和离散事件的建模工具。

(6) 系统结构随着项目的展开可以向上扩展;当运算量增大,增加/升级运算节点的效费比高;使用商业RTOS(实时操作系统),保证了系统的稳定性,可靠性与实时性能。

(7) 开放系统:可以与其它软件接口,独立于硬件平台,可以满足用户的定制要求。

2.2.5 RT-LAB开发流程

RT-LAB的操作主要有十个步骤,下面就以RT-LAB自带的模型rtdemo2mdl为例来对RT-LAB的操作流程进行详解:

(1)Open Model打开模型

双击RT-LAB Main Control图标启动RT-LAB程序,如图1点击Open Model按钮,弹出一个文件选择框,选择\simulink\models\rtdemo2\rtdemo2.mdl,这个模型是安装完RT-LAB之后自带的演示模型,它已经编辑好了,不用再经过编辑就可以用了。

(2)Edit编辑模型

接上步点击EditRT-LAB自动调用MATLAB打开模型(如果打不开的话先用MATI AB直接打开模型一遍,然后再用Edit打开)。打开模型后可以看到rtdemo2.mdl模型的是由三个子模型组成,分别是sm-controllerss-plantsc_user_interface。此模型已经根据RT-LAB的规则修改完成。RT-LAB规定所有的收集和显示数据的模块(如示波器,手动开关等)必须放在一个子系统图中,系统命名以sc_打头,而且每个模型只能有一个sc_子系统:规定sm_子系统只能有一个,它是整个模型计算过程中的主导模块;ss_在整个计算过程中是从属地位,在RT-LAB中可以有多个。所以,在RT-LAB的模型中所有的子系统只能以sm_sc_ss三种命名方式出现,而且在子系统中有信号输入的地方要插入一个RT-LAB的信号同步模块OpComm通讯块。

5 RT-LAB主控

(3) Configuration配置修改

完成了模型修改之后就要做一些编译前的配置修改工作。确认在MainControll面板的Target选项下面是不是选择了正确的目标平台,它有三个选项QNXWNTNeutrinoNeutrino是指QNX6.0以后的版本。点击Configuration进入修改配置。

6 Configuration界面图

(4) Compile编译过程

编译过程出现问题时可以通过编译窗口来检查。整个编译过程先是分割模型,有多少个子模块就分割成多少块,这也是RT-LAB分布式计算的核心思想,然后利用MATLABRTWqnxnto_r13.tlc模块生成C文件,生成QNX底下的可执行文件,完成编译过程。

(5) Assign Nodes分配节点

点击Assign Nodes进入节点分配控制界面。在Subsystems一项下面有sm_controllerss_p1ant两个子系统。在Remaining Physical Nodes一项下面有NTO 1NTO2两个节点,添加节点的方法在前面的Configuration说明中有提到。

6)建立模型

可以将使用MATLAB/Simulink开发的模型结构LoadRT-LAB中,完成方针前的准备工作。

(7) Execute执行程序

完成上述步骤之后就可以执行程序了,点击Execute就可以通过示波器看到程序执行的结果,通过调节滑块可看到波形的变化。

8 Pause暂停执行

Pause按钮是一个暂停键,起暂停的作用。

9 Reset结束程序

要想真正地结束程序必须通过Reset按钮。如果想再执行一遍程序就再Load一次,然后Execute(如果模型没有修改的话,不用执行Compile,直接可以LOAD)。

(10) Disconnect断开模型连接

最后一步就是一定要断开模型。点击Disconnect模型就断开连接了。以上是以rtdemo2.mdl为例作的一个RT-LAB的使用说明。其中提到的目标机,节点,下位机其实指的是同一个对象。只要按照以上所讲的十个步骤一步步执行,就完全可以把RT-LAB使用起来。

2.3 xPC半实物仿真平台

MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络、图像处理等于一体,具有极高的编程效率。特别是利用Simulink工具箱中丰富的函数库可以很方便地构建数学模型,并进行非实时的仿真。而xPC目标是Mathworks提供一种用于产品原型开发、测试和配置实时系统的PC机解决途径。为了提高系统实时仿真的能力,xPC目标采用了宿主机一目标机的技术途径,两机通过网卡连接,以TCP/IP协议进行通信。宿主机用Simulink建立模型,进行仿真前的参数配置,然后用RTW和一个VC编译器将模型编译为一个可执行文件下载到目标机。目标机通过软盘启动xPC Target实时内核,运行从宿主机下载的RTW生成的目标应用程序,通过I/0通道与外部实物进行数据交换,最终实现半实物的实时仿真测试。在xPC目标环境下,可以从MATLAB中使用命令行或xPC Target的图形交互界面对程序的执行进行控制。在程序执行期间,可以交互地在线调整模型参数,信号绘图功能可以使人动态地观察信号波形,实现数据可视化和信号跟踪。如果目标机有监视器,则可以使用xPC目标的目标管理器功能在目标机上直接观察信号和目标机的各种状态信息。

2.3.1 xPC仿真平台特性

xPC目标采用宿主机目标机的技术途径,其中宿主机拥有运行MATLAB/Simulink,用Simulink模块图来创建模型,进行非实时仿真,用RTW代码生成器和C 编译器来生成可执行代码;目标机执行所生成的代码,通过以太网或串口连接实现宿主机和目标机之间的通信。xPC目标工作模式如图1所示,其具有如下特点:

两机可通过RS-232TCP/IP协议进行通信,也可通过局域网、Internet进行连接;

支持任何台式PC机、PC/104CompactPCI、工业PCSBC(单板机)作为实时目标系统;

依靠处理器的高性能水平,采样率可达到100 kHz

扩展了I/O驱动设备库,现已支持超过150种标准I/O板;

可以得到来自主机或目标机的信号,也可以动态调整参数;

在宿主机和目标机上都可进行交互式的数据可视化和信号跟踪;

使用xPC Target Embedded Option能针对独立操作进行系统配置。

7 基于Matlab/Simulink环境的仿真系统原理图

8 基于xPC的半实物仿真系统原理图

9 半实物仿真过程图

2.3.2系统的硬件连接

xPC目标的半实物仿真中,主要通过数据采集卡来实现计算机和外部设备的连接,既需要通过数据采集卡的A/D接口从外部模拟设备采集数据送到目标机,也需要通过D/A接口将目标机的计算结果送往外部模拟设备。

1 采用xPC目标提供的I/O设备

xPC目标提供了支持超过150种标准I/O板的I/O驱动设备库。xPC目标所提供的D/AA/DDIDO等模板,它实际上是为不同的板卡提供不同的驱动程序。在应用中,将所用到的I/O设备对应的模板拖人模型中,进行采集卡的参数设置(如通道数、电压范围、采样时间、基地址等),并在实际仿真测试系统中接入相应板卡。在编译模型文件时,其中的板卡的信息就会被编译为可执行代码,下载到目标机上后,目标就通过数据采集卡和外部设备建立了联系,构成实时仿真测试回路。在仿真过程中可以从这些板上输入输出数据,以进行半实物仿真。

2 采用其他I/O设备

如果没有采用xPC目标提供的I/O设备,则需自己编写设备驱动程序,这时可参考xpcblocks文件夹下的各种设备驱动程序模块的源代码来编写程序,并存为filename.c,然后在MATLAB命令窗口输入命令:mex filename.cMATLAB自动调用编译器生成mex动态连接库文件filename.dll,并将其设置到MATLAB的搜索路径中,最后将文件封装成一个S-function模块,进行参数设置即可。

2.3.3 xPC目标应用程序的创建和下载

1 仿真参数的设置

Simulink中创建需要进行仿真的模型,仿真和实时运行参数都可在Simulation Pammeters对话框中设置,主要包括So1verworkspace I/ODiagnosticsReal-Time workshop4个下拉菜单的参数设置。

2 创建和下载XPC目标应用程序

仿真参数设置完毕后,同时通过启动盘启动目标机的实时内核,在Simulink窗口中选择Tools\Real-Time workshop\Build Model命令,就可对Simulink模型进行编译、链接生成可执行的目标应用程序,并将其下载到目标机。

2.3.4在实时仿真测试系统中运行xPC目标应用程序

1 信号输入、输出

信号的输入、输出通过采集卡的I/O通道实现。数据采集卡的D/ID/O可为数字量提供输入输出,然后运行xPC目标应用程序。

2 信号跟踪

(1)使用Xpcscope进行信号跟踪.当xPC目标应用程序下载到目标机后,在Matlab命令行输入Xpcscope,在宿主机上出现管理器窗口(Manager),根据需要可决定示波器的个数和选择要跟踪的信号,这样就可进行多示波器窗口和多信号的跟踪显示。

(2)使用Xpctgscope进行信号跟踪。在MATLAB命令行输入Xpctgscope,在目标机的监视器上出现示波器窗口同样可进行多示波器窗口和多信号的跟踪。

(3)使用MATLAB命令进行信号跟踪。使用xPC目标提供的函数生成目标sce对象,对信号进行选择和观察。

3 xPC目标应用程序的参数调整

(1)使用MATLAB命令进行参数调节。可使用MATLAB函数来改变模块的参数,不需重新创建模型的目标应用程序,就可改变程序的参数。

(2)使用Simulink外部模式在线调节参数。使用Simulink外部模式下,在Simulink外部模块图的任何位置改变参数,Simulink都将改变后的参数自动下载到正在运行的目标应用程序中.根据信号跟踪波形可随意改变模型参数检验励磁控制器的调节效果,也可实时地测试控制器的控制算法,参数设计,直至得到满意效果。

4 数据存储

在环境下,进行信号跟踪的同时也可对所跟踪信号实现数据存储,供以后分析处理。在Xpcscope中选择要跟踪的信号,然后单击Export选项,这时在MATLABWORKSPACE中就会自动生成MAT文件。这里可记录任意时间段的任意个(500)信号数据,这样就可很方便地对测试结果进行分析、处理。

5 数据分析

在测试中所采集的实时数据是分析的依据,利用MATLAB提供的图形编辑模块GUI,按照测试要求很容易编写友好的用户界面,并根据MAT数据文件绘制试验曲线、打印报表等,进行数据分析.试验测得的数据可以通过各个试验模块进行分析处理。

2.4 NI 半实物仿真平台

NI半实物仿真平台系统构架主要包括cRIO实时控制器(内置嵌入式处理器)、可重配置FPGA、及模块化I/O构成。CompactRIORIOFPGA) 核心内置数据传输机制,负责把数据传到嵌入式处理器以进行实时分析,数据处理,数据记录或与联网主机通信。利用LabVIEW FPGA基本的I/O功能,用户可以直接访问CompactRIO硬件的每个I/O模块的输入输出电路。所有I/O模块都包含内置的接口,信号调理,转换电路(如ADCDAC),以及可选配的隔离屏蔽。这种设计使得低成本的构架具有开放性,用户可以访问到底层的硬件资源。

下面以柴油机电控系统(ECU)的开发和测试为例简要介绍NI半实物仿真系统的开发流程。

2.4.1 ECU半实物仿真系统总体结构

ECU半实物仿真系统由目标ECU、实体执行机构和仿真控制与监测模块三部分构成,总体结构见图10

10 ECU半实物仿真系统结构图

硬件在环仿真系统无柴油机燃烧过程,用伺服电机模拟不同工况的柴油机运转,为ECU和仿真系统提供转速信号;电机带动绝对式角度传感器提供曲柄转角信号;变频电机驱动高压燃油泵和伺服油泵组成供油模块;燃油喷射模块和排气阀驱动模块是实体执行机构,根据ECU的电信号控制伺服油驱动燃油喷射阀与排气阀启闭。仿真控制与监测模块由配置了FPGA芯片的cRIO控制器、PXI主机和工控机IPC)组成,与目标ECU组建CAN网络进行数据通讯;报警模块通过串口(RS232)接收PXI主机发出的某参数越限报警信号,控制继电器发出声光报警。

2.4.2 ECU半实物仿真平台硬件组成

1 仿真控制与监测模块

仿真控制与监测模块硬件采用NI公司cRIO(采用可重新配置I/OFPGA技术实现超高性能和可自定义功能)PXI主机以及可热插拔工业cRIO I/O模块。

cRIO控制器为200 MHz类奔腾实时处理器,安装VxWorks实时操作系统,能可靠执行LabVIEW Real-Time应用程序,实现实时控制、数据分析、记录和通信等功能;PXI主机选用8106实时处理器,配置可带4R系列扩展机箱(支持cRIO I/O模块)PXI 7813R FPGA板卡。cRIO控制器和PXI主机都可借助LabVIEW FPGA的基本I/O功能,将硬件与每个I/O电路直接连接:使用嵌入式RIO FPGA硬件,能实现40MHz(25ns)单周期定时循环.PXI主机配置了PXI 8464CAN卡,与cRIO系统9853CAN模块和应用模块构成CAN网络。cRIO I/O模块具有内置式信号调理功能,可直接与传感器和激励器相连。硬件配置能满足硬件在环仿真系统信号同步采集、快速计算与输出及系统实时监测等功能。

2 信号I/U转换及滤波

考虑现场环境干扰,传感器输出信号选用电流信号,但为保证采集信号的同步,选用的NI-9215 I/O模块为电压采集模块,因此需将信号在采集前端进行电流/电压线性转换。设计中采用RURR-BROWN精密I/U变送器RCV420芯片,其转换精度为0.1%,共模抑制比CMB86dB,共模输入范围达±40 V,保证了4mA20 mA电流与0~5 V电压的线性对应,在软件上,利用NI LabVIEW数字滤波器设计工具包(Digital Filter Design Toolkit),根据信号种类采用不同算法设计数字滤波器,将滤波器编译后自动生成的FPGA代码部署到RIO FPGA硬件中。

2.4.3仿真控制与监测模块软件设计

柴油机仿真控制和监测模块软件以NI LabVIEW 8.5为开发环境,利用Real-TimeFPGA Toolkit完成对板卡和模块可重配置FPGA程序的开发,再通过LabVIEW编译服务器对LabVIEW代码进行编译得到Bit File并部署到硬件设备;实现LabVIEW(Windows)LabVIEW实时应用程序的集成。

1 仿真控制模块

ECU参数标定、性能试验及控制策略研究,要关注的是ECU与柴油机外部性能参数间关系,可不考虑柴油机内部热力过程,只要柴油机仿真模型能较真实地模拟柴油机的负载特性,其测试结果就能反映ECU实际配机性能。柴油机仿真控制模块通过I/O硬件实时采集喷油量、排气阀升程信号等,经仿真模型计算,向ECU发送控制信号,同时驱动曲轴电机提供相位信号,结构见图11

11 仿真控制模块结构图

仿真控制程序在cRIO控制器上运行,信号同步采集、滤波处理、逻辑运算和输出刷新均在FPGA上完成。实时控制器中主要完成整型到浮点工程单位转换的数据换算,实时FIFO数据缓存、CAN通讯和FPGA程序间数据传输。为保证大量数据传送实时、同步和完整,程序采用了DMAIRQ数据通讯方式。

1)燃油喷射控制仿真

为了测试不同负荷下ECU对燃油喷射的控制,燃油喷射控制仿真模块由位移传感器测量燃油活塞位移(油量信号),绝对式角度编码器测量曲柄转角,旋钮电位器模拟柴油机负荷,输入cRIO控制器FGPA I/O模块,经FPGA VIcRIO控制器Real-Trine VI数据交换,单位换算和燃油喷射模型计算得出当前柴油机转速,由D/A输出以调节曲轴电机转速。进气压力影响喷油正时,为使仿真模型更为精确,查表得到仿真归纳的模拟进气压力,修正曲轴电机转速,使之与柴油机实际值更接近。

2)排气阀控制仿真

排气阀控制仿真程序分为FPGA VIReal-T'ime VI两部分。FPGA VI完成各缸排气阀开启、关闭信号、排气阀升程信号采集、IRQ中断、DMA配置、与Real Time连接、数据交换及逻辑判断;Real-Time系统VI是整个仿真模型程序:逻辑判断、内存分配、数据转换和保存、DMA通道竞争裁决等。当系统运行时,FGPA VI判断首次接收的排气阀开启信号是否为实体排气阀装置所发出,若是其它模拟气缸发出,则调用存储在cRIO控制器内经仿真计算的排气阀升程信号,通过模拟量输出模块提供给ECU。若是实体排气阀装置所发出,则FPGA VI采集此冲程实体排气阀装置的升程信号,并记录当前曲柄转角,同时开启DMA通道,将采集到的信号传送到cRIO控制器内存中。当检测到排气阀装置关闭信号时,停止升程信号采集。该冲程其它模拟气缸升程信号,以内存中实体排气阀装置升程信号为缸平移递推基准;一旦有虚拟气缸排气阀开启,则将保存的升程信号由另一DMA通道传回FPGA VI,通过电流模块输出给ECU

2 监测模块

测试研究ECU控制策略,需采集记录ECU相关输入输出信号,系统设有专门监测模块对信号进行同步采集、分析、显示和存储,并对参数越限进行逻辑比较,通过串口输出至报警模块,驱动声光报警。

系统根据LabVIEW支持子VI调用模式,采用模块化设计方法,可简化程序,提高程序执行率。为保证数据采集同步,PXI实时操作系统每采集一角标信号同时记录当前时钟,并把该时钟下所有同步信号如曲轴转速、燃油活塞位移、针阀升程、排气阀升程等信号打包,生成以角标基础的数据包,通过DMA传输方式送至RT系统内FIFO中,再将数据包通过TCP/IP网络上传至工控机,进行数据转换、分析、显示、保存和回放。

基于LabVIEWcRIO控制器的高压共轨柴油ECU硬件在环仿真系统,在LabVIEW环境可调用LabVIEW FPGA模块和重新配置型输入/输出模块,可方便实现不同的测控方案,提高了硬件资源利用率。基于曲轴转角的缸平移算法简化了仿真模型,提高了模型的实时。由于系统尚未建立低速柴油机的数学模型,在以后工作中需根据记录的数据和信息,细化仿真模型以提高模型精度。所设计的系统为测试、分析和开发高压共轨柴油机的ECU系统提供了研究平台;可节省ECU测试试验费用、缩短ECU开发优化周期。

2.5 四种典型半实物仿真平台的比较

由以上的分析知道,四种半实物仿真平台都是成熟的分布式、可以用于实时仿真和半实物仿真的平台;都是基于PCwindows操作系统,具有高度的集成性和模块化;用户可以根据需要,在运算速度不同的多处理器之间进行选择,选用不同的I/O配置,以组成不同的应用系统。

相对来说,RT-LABxPC侧重于工程设计与测试方面,而dSPACENI PXI更侧重于控制系统开发及测试方面。下面就从软、硬件来对两者作一个简单的比较:

(1) 硬件方面

RT-LAB不需要专门的硬件配套设施,本身也没有专业化的硬件需求,其计算机系统是采用商业化的PC机,也就是家用或办公PC机即可。

xPC也不需要专门的硬件配套设施,只需根据目标对象的需要配置相应的数据采集卡即可。

dSPACE需要购买其专业化的硬件系统,其硬件系统主要有两类:一是单板系统,处理器和的集成到一块板上,形成一个完整的实时仿真系统(DS1103等控制板);二是组件系统,处理器与用户接口完全分开,以实现两者各自的自由扩展,两者之间的通信由PHS总线实现(DS1005 PPC控制器等)

NI PXI有一整套的半实物仿真系统,包括实时控制器、机箱、可重置FPGAI/O模块等。

(2) 软件环境

两者面向用户的主操作系统都是基于PC机的Windows,其中:

RT-LAB的主机需要安装RT-LAB实时仿真平台,目标机需要安装QNX实时操作系统;可以经过Internet进行远程操作。

xPC需要主机安装MatlabRTW开发界面和VCc语言编译器。

dSPACE所需要的软件环境是Real-Time IntefaceRTI)或Real-Time MultiprocesserRTI-MP),与MathWorks公司的Real-Time WorkshopRTW)配合使用,ControlDesk实时监控软件,TargetLink等。

NI PXI下位机程序通过labVIEW软件平台开发形成FPGA程序和RT程序(Real Time程序,实时控制程序);上位机程序的开发通过LabVIEW软件平台开发形成人机交互界面;通信程序的开发通过LabVIEWcRIO平台,开发形成上位机与下位机的通信程序。

(3) 成本

由于需要配置相应的专业化硬件和开发系统,dSPACENI PXI的成本较高;

xPC需要根据目标对象的不同购置相应的数据采集卡,成本比RT-LAB略高,RT-LAB的成本较低。

1是四种半实物仿真平台之间软、硬件和成本的比较:

1 四种半实物仿真平台对比

比较类型

仿真平台

硬件

软件

成本

dSPACE

需要专业化硬件系统

RTIRTWControlDeskTargetLink

较高

RT-LAB

无专业的硬件需求,计算机系统采用商业化的PC

RT-LAB实时仿真平台,QNX实时操作系统,可经Internet远程连接

较低

xPC

目标机、宿主机采用商用的PC机或工控机,需要相应的数据采集卡

RTIRTWTargetLinkLabVIEW

较低

NI

专业化的硬件系统

LabVIEWcRIOFPGA软件开发系统

很高

3、结语

随着计算机技术、通信技术与传感技术为主导的信息技术的发展,仿真技术作为高科技、定量化的辅助研究手段,在科研、军事等领域研究中发挥着越来越重要的地位。半实物仿真作为仿真技术的重要代表之一,其经济效益和军事效益日益凸显,特别在武器系统研究、军事装备训练等重要方面有着举足轻重的作用。各国一直长期重视半实物仿真,近年来,在计算机技术飞速发展的信息化产业背景下,半实物仿真技术已成为现代工程技术的重要支撑力量,广泛的应用于航天、电工、化工、通信,特别是军事等领域方面的工程设计研究,成为现代高技术的代表之一。半实物仿真将朝着高智能化和综合化发展,必将在工程技术领域发挥出更大的作用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多