半实物仿真技术发展综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

半实物仿真技术发展综述
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 的软件环境主要由两大部分组成,一部分是实时代码的生成和下载软件RTI(Real-Time Interface),它是连接dSPACE实时系统与MATLAB/Simulink 纽带,通过对RTW(Real-Time Workshop)进行扩展,可以实现从Simulink模型到dSPACE 实时硬件代码的自动下载。

另一部分为测试软件,其中包含了综合实验与测试环境(软件)ControlDesk、自动试验及参数调整软件MLIB/MTRACE、PC 与实时处理器通信软件CLIB以及实时动画软件RealMotion等。

dSPACE实时仿真系统的结构如图3所示。

图3 dSPACE半实物仿真系统框图
dSPACE实时仿真系统具有许多其它仿真系统具有的无法比拟的优点:组合性强。

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

过渡性好,易于掌握使用。

与MATLAB/Simulink无缝连接,方便地从非实时分析设计过渡到实时分析设计。

快速性好。

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

实时性好。

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

可靠性高。

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

灵活性强。

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

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

2.1.2 dSPACE 软件环境介绍
2.1.2.1 代码的生成及下载软件
描述控制系统的C代码可以由Simulink方框图自动生成并下载到实时系统硬件中,这项工作主要由MATLAB/RTW与dSPACE系统中的RTI 来完成。

RTI 的使用方法就是用图形方式从dSPACE的RTI库中选定相应的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
利用 MLIB和MTRACE,可以大大增强dSPACE实时系统的自动试验能力。

使用这两个库可以在不中断试验的情况下从MATLAB直接访问dSPACE板上运行的应用程序中的变量。

甚至无需知道变量的地址,有变量名就足够了。

这样就可以利用
MATLAB的数字计算及图形能力进行顺序自动测试、数据记录和控制参数的优化。

MLIB和MTRACE联合使用可组成一个完美的整体。

有MATLAB强大的计算能力做支持,可以自动执行所能想到的任何试验。

比如控制器的优化:用MTRACE记录数据,然后将数据传送给MATLAB,MATLAB自动计算出新的控制器参数,并通过MLIB 送回处理器板或控制板。

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

图4 利用dSPACE实时仿真过程
2.1.3 利用dSPACE进行控制系统的开发
在进行控制系统的开发时,常常需要面临许多难以解决的问题,而开发的时间却要求愈来愈紧迫。

由于制造过程中存在误差、老化及元器件装配等问题,对控制系统提出了相当高的可靠性要求;对控制性能越来越高的要求使控制算法也越来越复杂;并行工程要求设计、实现、测试及生产准备同时进行;有时控制对象在开发过程中也在不断发生变化。

由上述过程可以看出,传统的开发方法至少存在三个较大的问题:
1、在对控制规律的控制特性或控制效果还没有一点把握的情况下,硬件电路已经制造了,这时还不知道设计方案能在多大程度上满足要求,或者根本不能满足要求。

2、由于采用手工编程,会产生代码不可靠的问题,这样在测试过程中对出现的问题,很难确定是控制方案不理想还是软件代码有错误。

更重要的是手工编
程将会占用大量的时间,导致虽然有了控制方案,却要等待很长的时间才能对其进行验证和测试,从而在不知道方案是否可行的情况下就浪费了大量的时间、人力和物力,给开发带来了不必要的开支和经济损失。

3、即使软件不存在问题,如果在测试过程中发现控制方案不理想,需要进行修改,则新的一轮工作又将开始。

大量的时间又将耗费在软件的修改和调试上。

另外,由于涉及的部门和人员过多,再加上管理不善造成的种种不协调,导致开发周期长而又长。

而用 dSPACE提倡的基于模型面向应用的现代化开发方法则要有效的多。

现代开发方法的最重要的特征就是计算机辅助控制系统设计(CACSD:
Computer-Aided Control System Design)。

将计算机支持工具贯穿于控制系统开发测试的全过程。

CACSD不仅仅是进行控制方案的设计和离线仿真,还包括实时RCP、产品代码的生成和硬件在回路测试,这是一个完整的流线型控制系统开发步驟。

dSPACE为流线型控制系统的开发提供了一套CACSD的工具包CDP(Control Development Package)。

CDP主要基于下列工具:
MATLAB:用于进行模型的分析、设计、优化和数据的离线处理
Simulink:用来进行基于方框图的控制系统离线仿真
Real-Time-Workshop:用来从方框图模型直接生成C代码。

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

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

总之,利用CDP可以完成从系统建模、分析、离线仿真到实时仿真的全过程。

对大多数用户而言,一般有以下几个步骤:
步骤 1:用线性或非线性方程建立控制对象的理论模型。

该方程能用MATLAB 的m-file格式或Simulink方框图方式表示,以便于用MATLAB/Simulink进行动态分析。

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

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

步骤 4:在Simulink框图中,从RTI库用拖放指令指定实时测试所需的I/O、A/D、D/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支持多个目标机之间的数据通讯。

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

分布式的主机平台——从子系统设计到完整系统仿真的虚拟集成
由于将仿真模型分布到目标机上并行运算,因此,RT-LAB也是大型仿真项目的团队开发平台,每个开发小组专注于自己的子系统模型的设计,并在自己的仿真目标机进行实时测试,然后,各个小组的模型可以组合成完整系统的模型。

每个子系统之间的数据交换可以通过目标机之间的实时通讯网络进行。

连接性
RT-LAB的应用程序接口(API)功能全面,并有详细说明文档。

对于熟练的编程人员,它还允许开发者在编写系统级仿真管理软件的时候能够迅速的将自己的应用程序与实时仿真系统整合。

同时,RT-LAB也提供了相应的工具来简化实时仿真系统与运行在主机上的面向非编程人员的应用程序的连接。

如:RT-LAB的LabVIEW 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的组件,如MATLAB的Virtualreality工具箱,WorldUp,Altia等,用户可以读取仿真数据并实时的在3D虚拟现实环境中显示出来,而且可以为仿真模型创立3D显示效果,实时的观察模型的动作并与其交互。

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

主要包括如下内容:实时数据显示和记录—用户可实时读取实时信号或将其记录为文件;
丰富的伙I/O硬件支持—用户可选择第三方提供的ISA/PCI接口的硬件板卡;
支持由opal.RT自行研制的I/O板卡;
触发子系统—用户可自行设置任务在触发时刻开始执行;
硬件同步—可选用NI6602与Opal-RTOP5100系列卡上的时钟作为仿真同步源,以弥补软件时钟精度的不足;
数据采集—支持ADC数据采集卡,用户可自主设置连续或特定周期的高速数据采集,且数据采集过程不占用系统仿真时间:
波形发生功能—RT-LAB模块集提供各种信号产生功能以及各种任意时刻的开关量阶跃信号;
数字波形捕捉的高级特性—检测在计算机步长间隔内产生的外部事件,并且补偿由于事件的影响滞后而导致的计算误差;
通用的共享内存卡驱动—支持共享内存方式的目标机之间的高速数据通讯,允许设备间的数据读写。

2.2.4 RT-LAB的优点
RT-LAB广泛应用于航空、航天、工业和军事武器系统仿真,其基本的优点如下:
(1) 基于PC技术:高性价比,运算速度快。

在仿真模型各个子系统之间可以
获得实时通信和同步控制,高速实时连接,因此仿真是高性能的并行计算。

这些子系统可以任意放在若干个节点上,它们之间采用火线(IEEE-1394)连接。

(2) 支持半实物(硬件在回路)仿真。

在Target节点上既可以插入模拟I/O卡也可以插入数字I/O卡。

因此仿真系统可以与外部设备进行通信,如HIL、Target 和I/O卡之间由RT-LAB仿真平台进行同步管理。

(3) 支持与其它非实时仿真平台的协同仿真。

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

(4) 能自动划分模型并产生分布式仿真代码。

RT-LAB利用自身的Simulink 图标解释Simulink模型,划分各个子系统,生成源代码,编成可执行程序,下载到Target节点上,这一切过程都是RT-LAB自动完成。

因此,RT-LAB工具自动照顾编码细节的优点不但可以加速开发过程,而且使得仿真模型具有灵活的伸缩能力。

(5) 支持MATLAB/STATEFLOW。

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

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

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

2.2.5 RT-LAB开发流程
RT-LAB的操作主要有十个步骤,下面就以RT-LAB自带的模型rtdemo2.mdl 为例来对RT-LAB的操作流程进行详解:
(1)Open Model打开模型
双击RT-LAB Main Control图标启动RT-LAB程序,如图1点击Open Model按钮,弹出一个文件选择框,选择<RT-LAB>\simulink\models\rtdemo2\rtdemo2.mdl,这个模型是安装完RT-LAB之后自带的演示模型,它已经编辑好了,不用再经过编
辑就可以用了。

(2)Edit编辑模型
接上步点击Edit,RT-LAB自动调用MATLAB打开模型(如果打不开的话先用MATI AB直接打开模型一遍,然后再用Edit打开)。

打开模型后可以看到
rtdemo2.mdl模型的是由三个子模型组成,分别是sm-controller,ss-plant和sc_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选项下面是不是选择了正确的目标平台,它有三个选项QNX,WNT,Neutrino。

Neutrino是指QNX6.0以后的版本。

点击Configuration 进入修改配置。

相关文档
最新文档