本发明涉及一种仿真平台架构,尤其是涉及一种远程控制多模型调度的仿真平台。
背景技术:
matlab公司提供simulinkrealtime仿真平台架构,主要由宿主机和目标机组成。宿主机是指操作人员运行matlabsimulink的计算机,操作人员可以在simulink中编写、调试和生成可运行在目标机上的模型程序。目标机是指运行模型程序的计算机。两者通信由以太网或者串口实现。宿主机和目标机结合,为桌面、实验室和现场环境搭建了实时仿真平台。
现有的simulinkrealtime仿真平台属于双机模式,若不借助其他计算机软件,仅由matlab实现宿主机和目标机的通信,当需要切换仿真模型时,步骤较为繁杂:停止原有仿真模型的仿真,编译并下载现有的仿真模型,运行现有的仿真模型。其中,软件编译过程需要花费较长的时间。simulinkrealtime仿真平台常常需要就地操作,倘若现场环境恶劣,影响操作人员的身心健康。
综上所述,现阶段的simulinkrealtime仿真平台主要存在以下问题:
1.多模型切换运行耗时繁琐。
2.仿真平台就地操作,操作使用感差。
技术实现要素:
本发明的目的在于:针对现有仿真平台存在的技术缺陷,提出一种远程控制多模型调度的仿真平台,将原有的双机就地模式改为三机远程模式,利用新引入的远程主控单元来调控多模型调度单元中的多个仿真模型,实现多个仿真模型之间的远程实时快捷切换。
为实现上述目的,本发明所采用如下技术方案:一种远程控制多模型调度的仿真平台,包括远程主控单元、多模型调度单元和实时仿真单元;多模型调度单元中包含多个仿真模型;所述远程主控单元和多模型调度单元连接,所述多模型调度单元和实时仿真单元连接;远程主控单元给多模型调度单元发送工作指令;多模型调度单元接收工作指令,解析出执行对象(仿真模型)和执行方法,并将执行对象和执行方法发送到实时仿真单元中;所述实时仿真单元接收仿真模型,并按执行方法执行仿真模型。
进一步地,所述多模型调度单元实时监控实时仿真单元的执行情况,并发送给远程主控单元。
进一步地,所述远程主控单元和多模型调度单元通过tcp/ip实现通信;所述多模型调度单元和实时仿真单元通过matlab通信函数实现通信。
进一步地,所述多模型调度单元包括上电自启动模块、任务调度模块和由多个仿真模型组成的仿真模型组;所述上电自启动模块在多模型调度单元上电后引导启动任务调度模块;所述任务调度模块分主控通信子模块和仿真通信子模块,所述主控通信子模块实现多模型调度单元和远程主控单元的通信,所述仿真通信子模块实现多模型调度单元和实时仿真单元的通信;主控通信子模块接收远程主控单元的工作指令并解析出执行对象和执行方法,将解析值传递给仿真通信子模块,仿真通信子模块收到解析值,从仿真模型组中调取对应的仿真模型,与解析出的执行方法一并发送到实时仿真单元中,实时仿真单元按执行方法执行仿真模型。
进一步地,所述的执行方法包括但不限于下载、运行、停止、卸载。
本发明具有的有益效果是:将原有仿真平台的双机就地模式改为三机远程模式,利用新引入的远程主控单元来调控多模型调度单元中的多个仿真模型,实现多个仿真模型之间的远程实时快捷切换。
附图说明
图1是本发明一种远程控制多模型调度的仿真平台的结构示意图。
图2是本发明远程主控单元的组成示意图。
图3是本发明多模型调度单元的组成示意图。
其中,1-远程主控单元,2-多模型调度单元,3-实时仿真单元,11-远程控制模块,12-远程监视模块,21-上电自启动模块,22-任务调度模块,23-仿真模型组,221-主控通信子模块,222-仿真通信子模块。
具体实施方式
下面结合附图对本发明作进一步说明。
如附图1所示,本实施例涉及的仿真平台包括:远程主控单元1、多模型调度单元2和实时仿真单元3;远程主控单元1和多模型调度单元2通过以太网远程连接,多模型调度单元2和实时仿真单元3通过以太网线直连;远程主控单元1通过tcp/ip发送给多模型调度单元2工作指令(包括执行对象和执行方法),并实时监控多模型调度单元2反馈的模型信息;多模型调度单元2上电后引导启动任务调度模块,通过tcp/ip接收远程主控单元1的指令并解析出执行对象(仿真模型)和执行方法,按照解析值,通过matlab通信函数建立多模型调度单元2和实时仿真单元3的通信,将执行对象和执行方法发送到实时仿真单元3中,同时向远程主控单元1实时反馈模型执行信息;本实施例中,实时仿真单元3是基于dos系统的高度缩减型实时操作核,运行仿真模型。
本实施例涉及的各个单元实施如下:
1.远程主控单元1工作原理
如附图2所示,远程主控单元1包括远程控制模块11和远程监视模块12。远程控制模块11通过tcp/ip封装应用socket建立与多模型调度单元2的通信,其中远程控制模块11作为服务端,多模型调度单元2作为客户端,操作人员选择多模型调度单元2需要执行的模型,远程控制模块11发送工作指令给多模型调度单元2,并接收多模型调度单元2回传的模型执行信息;远程监视模块12以表格与数值的形式显示多模型调度单元2提供的模型执行信息。
2.多模型调度单元2工作原理
多模型调度单元2包括基于windows系统设置的上电自启动模块21、基于visualstudio2013编写的任务调度模块22和基于simulink搭建的仿真模型组23。
上电自启动模块21做以下设置:将任务调度模块22可执行文件的快捷方式复制到目录c:\users\[用户名]\appdata\roaming\microsoft\windows\startmenu\programs\startup内。多模型调度单元上电后,任务调度模块22被引导启动。
任务调度模块22分主控通信子模块221和仿真通信子模块222。主控通信子模块221实现多模型调度单元2和远程主控单元1的通信,仿真通信子模块222实现多模型调度单元2和实时仿真单元3的通信。主控通信子模块221通过tcp/ip的封装应用socket接收并解析工作指令,将解析值(执行对象和执行方法)传递给仿真通信子模块222,仿真通信子模块222收到解析值,从仿真模型组23中调取对应的仿真模型(*.dlm),和执行方法一并发送到实时仿真单元3中,实时仿真单元3按执行方法执行仿真模型,同时仿真通信子模块222接收实时仿真单元3反馈的模型执行信息,并传递给主控通信子模块221,主控通信子模块221整合模型执行信息,发送给远程主控单元1。
仿真通信子模块222调用matlab的xpcapi.dll,实现对仿真模型下载、运行、停止、卸载等操作。其中,xpcloadapp()是仿真模型的下载函数,xpcstartapp()是仿真模型运行函数,xpcstopapp()是仿真模型停止函数,xpcunloadapp()是仿真模型卸载函数。
仿真通信子模块222核心程序如下:
3.实时仿真单元3工作原理
实时仿真单元3是基于dos系统的高度缩减型实时操作核,用于运行simulink搭建的仿真模型,根据工作指令完成仿真模型的下载、运行、停止和卸载等操作,实时仿真单元3和多模型调度单元2通过xpcopentcpipport()函数实现tcp/ip通信。
采用上述仿真平台进行仿真模型a、b、c的仿真,步骤如下:
步骤1,启动远程主控单元1、多模型调度单元2和实时仿真单元3;远程主控单元1的远程控制模块11与多模型调度单元2的主控通信子模块221建立tcp/ip通信,多模型调度单元2的仿真通信子模块222和实时仿真单元3建立通信,其余模块就绪;
步骤2,在远程主控单元1的远程监视模块12中查看多模型调度单元2和实时仿真单元3是否准备就绪,如果准备就绪,进行步骤3,否则,检查设备;
步骤3,在远程主控单元1远程控制模块11主界面上选择仿真模型a,点击启动仿真,远程主控模块11通过tcp/ip将仿真模型a的启动运行指令发送到多模型调度单元2的主控通信子模块221,主控通信子模块221解析出仿真模型a的启动运行指令,将工作指令传递给仿真通信子模块222,仿真通信子模块222将仿真模型组23中的a模型下载到实时仿真单元3中并运行;
步骤4,多模型调度单元2的仿真通信子模块222调用xpcapi.dll交互函数获取实时仿真单元3中的模型执行信息,并传递给主控通信子模块221,主控通信子模块221将模型执行信息通过tcp/ip回传到远程主控单元1远程控制模块11,远程控制模块11将信息传递给远程监视模块12,即可在远程监视模块12中查看仿真模型a的模型执行信息;
步骤5,在远程主控单元1远程控制模块11主界面上,点击停止仿真,远程主控模块11通过tcp/ip将仿真模型a的停止运行指令发送到多模型调度单元2的主控通信子模块221,主控通信子模块221解析出仿真模型a的停止运行指令,将工作指令传递给仿真通信子模块222,仿真通信子模块222发送仿真模型a的停止指令到实时仿真单元3,仿真模型a的停止运行并卸载;
步骤6,操作人员根据实际需求,如果需要仿真其余仿真模型b或c,则进行步骤7、8、9,否则进行步骤10;
步骤7,在远程主控单元1远程控制模块11主界面上选择仿真模型b或c,点击启动仿真;
步骤8,在远程主控单元1远程监视模块12中查看仿真模型b或c的模型执行信息;
步骤9,在远程主控单元1远程控制模块11主界面上,点击停止仿真,仿真模型b或c的仿真结束;
步骤10,在远程主控单元1远程控制模块11主界面上点击关闭平台,即关闭远程主控单元1、多模型调度单元2和实时仿真单元3。
在本实施例涉及的三机远程模式下仿真模型a的下载直至开始运行耗时10秒,停止运行仿真模型a并切换至仿真模型b,仿真模型b的下载直至开始运行耗时8秒,停止运行仿真模型b并切换至仿真模型c,仿真模型c的下载直至开始运行耗时7秒。在原有双机就地模式下进行仿真模型a、b、c的仿真,仿真模型a的编译下载直至开始运行耗时5分钟,停止运行仿真模型a并手动切换至仿真模型b,仿真模型b编译下载直至开始运行耗时3分钟,停止运行仿真模型b并手动切换至仿真模型c,仿真模型c的编译下载直至开始运行耗时2分钟。将原有仿真平台的双机就地模式改为三机远程模式,利用新引入的远程主控单元来调控多模型调度单元中的多个仿真模型,能实现多个仿真模型之间的远程实时快捷切换。