基于Modelica的半物理仿真硬件接口控制技术
2015-11-12张洪昌等
张洪昌等
摘要: 针对半物理仿真(HardwareinLoop Simulation,HILS)中Modelica模型无法直接控制硬件设备的问题,基于Modelica研究硬件板卡接口控制模块与多领域仿真模型的统一表达技术.分析可视化模型方程表达机理,建立硬件板卡的接口模型库,从而在同一建模环境中实现多领域物理模型与硬件设备的关联,并实现Modelica离线数字仿真模型至HILS模型的直接转换,为基于Modelica的HILS应用提供技术支持.电机转速控制HILS结果表明该方法可行.
关键词:
半物理仿真; 多领域建模; 硬件接口; 可视化; Modelica
中图分类号: TB391.9文献标志码: B
0引言
半物理仿真(HardwareinLoop Simulation,HILS)在机电系统设计与开发过程中的作用越来越显著,也是当前机电控制系统仿真技术发展的重点.当前的HILS主要基于MATLAB/SIMULINK模型实现.近年来,随着电子技术的发展和嵌入式控制的广泛应用,机电系统的复杂化程度不断增加,成为集机、电、液、控等不同领域子系统为一体的综合体系.采用传统的SIMULINK和AMESim等单一领域建模仿真方法和工具软件对此类系统进行整体设计与分析时,不同领域的子系统之间形成相互作用、互相耦合的复杂关系,导致建模过程十分繁琐和复杂,很难实现系统级的仿真分析应用.基于Modelica的多领域建模和仿真方法能很好地解决系统建模仿真过程中的耦合问题,使得其开始被越来越广泛地关注和应用.
随着工程中越来越普遍地使用Modelica多物理系统建模仿真方法,当前的HILS方法和技术很难与其结合应用.在实际工程应用中,需要分别建立系统的数字仿真模型和HILS模型.这就使得系统设计分析工作前后无法衔接,导致系统设计过程复杂、工作量大、研发周期长.因此,有必要研究支持Modleica多领域数字模型的HILS技术,从而解决当前系统设计分析中因模型不统一而存在的问题.其中,用于关联数字仿真模型与HILS硬件接口的控制模块是首先需要研究解决的关键技术之一.
1硬件接口控制模块作用和原理
硬件接口控制模块是HILS目标机中板卡信号接口与数字仿真模型之间的连接纽带,用于实现数字仿真模型与目标机板卡接口之间的数据和信号传递,以及在建模环境中实现对目标机板卡的通道选择、精度转换等硬件参数设置,也是人机和模型设备间的交互接口.建模环境中的硬件接口控制模块称为硬件接口模型,多个硬件接口模型组成硬件接口模型库.在建模环境中,硬件接口模型与普通模型的使用方法相同,并且可以通过GUI界面设置其参数.
在MATLAB/SIMULINK中,硬件接口模型的作用见图1.硬件接口模型实际为相应目标机板卡接口的驱动程序函数集,其运行于MATLAB,SIMULINK,StateFlow和RTW等与RTSoftware和RTHardware之间,在各个分布软件之间起信息传递和资源共享等作用.在建模环境中,对硬件接口模型进行操作,实际就是对其相应的目标机板卡接口进行操作;对硬件接口模型进行参数设置,实际就是通过板卡接口驱动程序实现对板卡接口的硬件参数设置.硬件接口模型必须满足2点技术要求:1)符合数字仿真模型的建模规范,能够在同一建模环境中实现两者的统一建模;2)自身可以生成目标机运行的实时代码,能够在目标机中实现与数字仿真模型生成的实时代码一起运行.
硬件接口模型在当前HILS系统中的具体作用体现为:1)标准I/O功能;2)指定部分模型为定时执行;3)指定部分模型为软件中断;4)指定部分模型为硬件中断;5)指定中断和定时任务的优先级;6)支持单采样频率和多采样频率;7)支持单任务模式和多任务模式;8)支持连续、离散、混合系统.
在当前以MATLAB/SIMULINK为建模环境的HILS应用中,硬件接口模型存在的不足与面临的问题有:1)数字仿真模型无法添加硬件接口模型时,必须对数字仿真模型进行分解处理,该过程只能通过手工分解方式实现,增加开发工作量,降低开发效率;2)当前用于控制系统的HILS应用的硬件接口模型均基于MATLAB/SIMULINK实现,对于Modelica多领域物理模型等在其他建模环境中所建立的模型必须通过相应技术转换为SIMULINK模型,且必须满足SIMULINK模型的仿真原理和求解计算要求,这使得建模过程复杂,并且相关软件必须支持模型转换和联合仿真.
导致MATLAB/SIMULINK建模仿真软件中的硬件接口模型出现上述不足的原因,一是数字仿真模型与HILS模型之间无法逆向转换,数字仿真模型中添加硬件接口模型后,模型之间的信号传递中断,模型的完整性被破坏,转换后的HILS模型无法进行离线仿真,必须分别建立数字仿真模型和HILS模型;二是受限于MATLAB/SIMULINK建模机理,其主要用于控制系统建模,对控制器进行HILS验证时,SIMULINK很难建立机、电、液等统一模型.
2基于Modelica的硬件接口模型原理分析
Modelica是一种开放的、面向对象的、以方程为基础的多领域建模语言,可以跨越不同领域,建立包括机械、电子、电力、液压、热和控制等的复杂系统模型.基于Modelica规范的建模机理,可以很好地解决MATLAB/SIMULINK无法建立多领域模型这一难题.
通过分析MATLAB/SIMULINK建模仿真软件中的硬件接口模型工作原理可知,在Modelica中实现硬件接口模型,也用以关联Modelica数字仿真模型的输入/输出信号与HILS目标机板卡接口,因此硬件接口模型必须满足Modelica建模规范要求,并且能够与Modelica数字仿真模型一并生成目标机可运行的实时代码.同时,Modelica数字仿真模型中添加硬件接口模型后,还必须保持模型的完整性,使得Modelica的HILS模型依然可以进行离线仿真,实现Modleica数字仿真模型与HILS模型的逆向转换.
硬件接口模型破坏数字仿真模型完整性的关键原因是硬件接口模型将原数字仿真模型分解为多个子模型(即任务或子任务).根据模型编译原理,对于无信息关联的模型,编译过程中将分别进行独立处理.添加硬件接口模型后,由于失去了模型之间的关联信息,使得分解后的模型在编译过程中无法对各个子模型之间的信息进行传递.
基于Modelica规范的模型编译原理主要是对模型的映射关系和模型方程的平坦化进行处理.在模型编译过程中,编译器需要对模型进行平坦化和实例化处理,陈述式的、面向对象的、具有层次结构的Modelica文本模型,被映射为平坦化的微分方程、代数方程和离散方程集合.因此,在Modelica建模环境中,欲实现硬件接口模型不破坏Modelica数字仿真模型完整性,必须针对模型编译过程中的模型映射关系和平坦化原理及处理技术进行相应的技术研究.
以图2中数学方程及其对应的Modelica数字仿真模型为例,Modelica模型映射及平坦化后的方程见图3.
根据Modelica模型映射规则,若在图2模型中虚线上圆圈标记位置加入硬件接口模型,则可以将硬件接口模型映射为一个输入与输出相等的方程,即“HI.inPort1= HI.outPort”.按照图中虚线将模型分解为2部分子模型后,两者的映射方程见图4.
完整的Modelica模型被映射为2个方程块后,两者之间的关联关系依然为“HI.inPort1= HI.outPort”,并且分解后的模型和平坦化方程依然满足Modelica规范中“变量数等于方程数”的基本规则.
从上述分析可以看出,在硬件接口模型映射过程中,只要保持其关联关系信息,就可以保持原数字仿真模型的完整性,因此,在硬件接口模型实现过程中,必须采取相应的措施和方法,使得模型编译过程能够识别该信息.此外,从模型平坦化方程中也可以看出,硬件接口仅适用于分解模型中无耦合关系的2个子模型,这与系统HILS应用过程中硬件接口模型的应用工况完全符合.
3基于Modelica规范的硬件接口模型实现
由于当前Modelica规范不完全具备建立硬件接口模型的功能,因此必须基于Modelica规范采用扩展Modelica语法方式建立HILS目标机板卡的硬件接口模型库,从而实现在Modelica建模环境中以硬件接口模型方式表达目标机板卡的相关信息.[56]对于Modelica模型编译器及其用于HILS目标机的代码生成器,应采用增加目标机硬件系统的分层次处理方法,由单元至整体、由组件至系统分别建立子任务、任务、内核或处理器、目标机.根据目标机硬件系统层次划分,对HILS模型依次进行定义和设置,以确定数字仿真模型分解出的各个子任务和任务最终运行的目标机,或者用于确定其运行于目标机处理器的具体内核.
在HILS目标机板卡接口模型库中,需要建立以下几个主要子模型库[9]:
1)接口子模型库,是目标机板卡接口模型库的基本部件库,用以定义板卡及板卡的通信接口,即确定目标机板卡的使用边界,选择目标机的板卡等实际硬件,并实现HILS模型与目标机板卡管理.板卡接口可以是同一个目标机中的板卡外部I/O,网络通讯接口或者目标机内部的任务通信接口.
2)通讯子模型库,是HILS目标机板卡接口模型库的中心部分,也是系统数字仿真模型转换为HILS模型时必需使用的子模型库.用于协助开发目标机中各个板卡接口的开源驱动程序,同时也是板卡接口驱动程序的框架定义,能够通过图形化界面实现用户与板卡接口之间的信息交互.
3)配置子模型库,用以设置HILS目标机处理器和各个板卡的任务、子任务、信号采样和输出保持等参数,并将其定义为通用模板,在此基础上进行应用扩展.
以电机转速闭环控制为例,基于Modelica规范的硬件接口控制技术,开发硬件接口模型库,采用Modelica标准模型库中的信号源、计算、PID控制、电机和负载等基础模型组件,通过可视化的拖放式建模操作方法,建立电机转速控制多领域HILS模型,见图5.
示例模型主要由3部分构成:转速控制器子模型controller.ref,速度反馈控制器子模型controller.feedback和电机设备子模型plant.在HILS过程中,3个子模型均以独立任务实时运行.其中,转速控制子模型映射任务和速度反馈控制器子模型映射任务运行于同一目标机中,两者之间通过目标机内部的任务接口进行数据通信;电机设备子模型映射任务运行于另一目标机中.
3个子模型之间的硬件接口模型使用通信子模型,其将模型分解为3个不同部分,同时也作为任务或子任务接口,并用于调用硬件驱动和配置硬件运行参数.示例模型中的comedi模块[10]属于配置子模型库,用于配置目标机的运行参数,包括时钟、初始化、网络通信地址等信息.通讯子模型和配置子模型共同把HILS模型映射到多个目标机中,通过两者的配置信息,使得Modelica数字仿真模型可以自动转化为HILS模型.
4结束语
研究基于Modleica规范的硬件接口控制技术,提出一种不同于传统SIMULINK模型接口的、新型模型设备接口设计方法和一种新的HILS模型的建模方法,同时扩展多领域物理模型设计过程中的延伸应用,有效地支持多领域混合复杂机电系统建模仿真设计及HILS分析验证.基于Modleica规范建立的硬件接口模型,可以很好地与Modelica数字仿真模型运行于同一建模环境中,实现Modelica数字仿真模型与HILS目标机板卡接口的关联以及两者之间的信息传递,并可以实现对HILS目标机和板卡接口进行相应的参数设置和信号输入/输出控制.该接口模型技术可简化建模仿真应用过程,提高系统研发效率,降低研发工作量.
参考文献:
[1]
于涛, 曾庆良. 基于仿真建模语言Modelica的多领域仿真实现[J]. 山东科技大学学报(自然科学版). 2005, 24(4): 1316.
YU Tao, ZENG Qingliang. Multidomain simulation based on modeling language Modelica[J]. J Shandong Univ Sci & Technol(Nat Sci), 2005, 24(4): 1316.
[2]张洪昌. 信息物理融合的机电产品数字化设计关键技术研究[D]. 武汉: 华中科技大学, 2012.
[3]张德永, 王波兴. 基于RTAI与Comedi的倒立摆控制系统实时接口设计[J]. 自动化应用, 2013(4): 8587.
ZHANG Deyong, WANG Boxing. Realtime interface for inverted pendulum based on RTAI and Comedi[J]. Automation Application, 2013(4): 8587.
[4]周凡利. 工程系统多领域统一模型编译映射与仿真求解研究[D]. 武汉: 华中科技大学, 2011.
[5]唐俊杰, 郭俊峰, 周凡利. Modelica模型的序列化方法[J]. CAD/CAM与制造业信息化, 2012(10): 98100.
TANG Junjie, GUO Junfeng, ZHOU Fanli. Serialization methods of Modelica model[J]. Digital Manufacturing Industry, 2012(10): 98100.
[6]温劲, 龚雄. Modelica动态组件建模与仿真[J]. 计算机应用与软件, 2012, 29(9): 199202.
WEN Jin, GONG Xiong. Modelling and simulation of Modelica dynamic component[J]. Comput Applications & Software, 2012, 29(9): 199202.
[7]ELMQVIST H, OTTER M, HENRIKSSON D , et al. Modelica for Embedded Systems[C]// Proc 7th Modelica Conf. Linkping, 2010: 354363.
[8]AKESSON J, NORDSTROM U, ELMQVIST H. Dymola and Modelica_EmbeddedSystems in teachingexperiences from a project course[C]// Proc 7th Modelica Conf. Como, 2009: 603611.
[9]ELMQVIST H, MATTSSON S E, OTTER M. ObjectOriented and Hybrid Modeling in Modelica[J]. J Européen des systèmes automatisés, 2001(1): 122.
[10]张玉华, 黄熊泉. 基于Comedi的数据采集技术的分析研究[J]. 计算机工程与设计, 2011, 32(6): 19831986.
ZHANG Yuhua, HUANG Xiongquan. Research of data acquisition technology based on Comedi[J]. Comput Eng & Des, 2011, 32(6): 19831986.
(编辑武晓英)