一种仿真系统和方法
技术领域
本发明属于电子设备仿真技术领域,尤其涉及一种仿真系统和方法。
背景技术
在物理设备设计过程中,为了验证设计的正确性,需要构建物理设备仿真系统,并基于上述物理设备仿真系统对物理设备进行全数字仿真试验和半物理仿真试验。
当前,物理设备仿真领域主要采用基于分系统建模的仿真系统进行物理设备的仿真,如图1所示,该仿真系统以物理设备所在系统中的分系统为最小建模单元,分系统模型内包含多个设备,设备之间通过物理变量交互,只在分系统模型对外数据接口上使用ICD(Interface Control Document,接口控制文件)格式来定义,仿真时以分系统模型为最小单元,可独立控制每个分系统的工作状态。上述基于分系统建模的仿真系统,在从全数字仿真试验切换至半物理仿真试验时,要将物理设备接入至其所属的分系统模型,这就需要对该分系统模型进行修改,将分系统模型中相应的物理变量接口修改为ICD接口。
综上,当前的物理设备仿真系统存在模型复用性较低的缺点,当从全数字仿真试验切换至半物理仿真试验时,需对仿真系统进行相应改动,进而降低了仿真效率,加大了设计变更成本。
发明内容
有鉴于此,本发明的目的在于提供一种仿真方法和系统,以克服上述模型复用性较低的缺点,进而提高仿真效率,降低设计变更成本。
本发明公开了一种仿真系统,包括N个物理设备仿真模型、数据共享模块、通信服务模块以及M个用于连接物理设备,并接收物理设备发送的第二格式数据的硬件接口,所述M和N为不小于1的自然数;其中:
所述数据共享模块,用于为数据共享提供存储区域,所述数据共享模块包括第一数据共享单元和第二数据共享单元;
所述物理设备仿真模型,用于发送第一格式的数据到所述第二数据共享单元;
所述通信服务模块,与所述M个硬件接口相连,用于在检测到所述第二数据共享单元存储有所述物理设备仿真模型发送的第一格式的数据时,确定接入的物理设备需求的第二格式的数据,依据预先设定的第二格式数据与第一格式数据的对应关系,从所述第二数据共享单元中获取与所述物理设备需求的第二格式的数据对应的第一格式的数据,并将获取的第一格式的数据依据所述第二格式数据与第一格式数据的对应关系,转换为所述第二格式的数据,并将所述第二格式的数据发送至所述物理设备;以及用于在接收到物理设备通过所述硬件接口发送的第二格式的数据时,依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据,并将转换成的所述第一格式的数据发送至所述第一数据共享单元,以作为所述各个物理设备仿真模型根据获取需求从所述第一数据共享单元获取的依据。
优选的,在上述仿真系统中,所述物理设备仿真模型还用于向所述第一数据共享单元发送第一格式的数据,以及依据获取需求从所述第一数据共享单元获取相应的第一格式的数据。
基于上述的仿真系统,本发明还公开了一种仿真方法,该仿真方法包括:
当所述通信服务模块检测到所述第二数据共享单元存储有所述物理设备仿真模型发送的第一格式的数据时,确定接入的物理设备需求的第二格式的数据,依据预先设定的第二格式数据与第一格式数据的对应关系,从所述第二数据共享单元中获取与所述物理设备需求的第二格式的数据对应的第一格式的数据,并将获取的第一格式的数据依据所述第二格式数据与第一格式数据的对应关系,转换为所述第二格式的数据,并将所述第二格式的数据发送至所述物理设备;
当所述通信服务模块接收到物理设备发送的第二格式的数据时,依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据,并将转换成的所述第一格式的数据发送至所述第一数据共享单元,以作为所述各个物理设备仿真模型根据获取需求从所述第一数据共享单元获取的依据。
优选的,上述仿真方法还包括:
当所述通信服务模块未检测到所述第二数据共享单元存储有所述物理设备仿真模型发送的第一格式的数据,以及所述通信服务模块未接收到物理设备发送的第二格式的数据时,各个物理设备仿真模型向所述数据共享模块的第一数据共享单元发送第一数据格式的数据,并依据获取需求从所述第一数据共享单元获取相应的第一数据格式的数据。
优选的,在上述仿真方法中,当所述第一格式的数据为物理变量,所述第二格式的数据为ICD数据块时,所述将获取的第一格式的数据依据所述第二格式数据与第一格式数据的对应关系,转换为所述第二格式的数据具体为:
将获取的物理变量依据所述ICD数据块ID与所述物理变量ID的对应关系,打包成ICD数据块。
优选的,在上述仿真方法中,所述依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据具体为:
依据预先设定的所述ICD数据块ID与所述物理变量ID的对应关系,将接收到的ICD数据块解包成物理变量。
本发明提供的仿真系统中,通信服务模块将物理设备仿真模型发送的第一格式的数据转换为第二格式的数据,之后将其发送至物理设备,将接收到的物理设备发送的第二格式的数据转换为第一格式的数据,以供各物理设备仿真模型获取。可见,基于本发明公开的仿真系统进行半物理仿真试验时,通过通信服务模块提供的数据格式转换作用,实现了各物理设备仿真模型与接入仿真系统的各物理设备之间的信息交互,在从全数字仿真试验切换至半物理仿真试验时,直接将物理设备接入本发明公开的仿真系统即可进行半物理仿真试验,无需对本发明仿真系统中的物理设备仿真模型进行修改,也无需对仿真系统的结构进行改动,提高了仿真系统的复用性,从而提高了仿真效率,降低了设计变更成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的基于分系统建模的物理设备仿真系统结构图;
图2是本发明实施例一提供的仿真系统的结构图;
图3是本发明实施例三提供的仿真方法的流程图;
图4是本发明提供的仿真方法的另一种流程图;
图5是本发明提供的仿真系统中各模块间的数据交互原理图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种仿真系统和方法,适用于对物理设备进行全数字或半物理仿真,以下将通过各实施例对本发明公开的仿真系统和方法进行详细说明。
实施例一
本发明实施例一公开了一种仿真系统,该系统用于实现半物理仿真。请参见图2,该仿真系统包括N个物理设备仿真模型100、数据共享模块200、通信服务模块300以及M个用于连接物理设备,并接收物理设备发送的第二格式数据的硬件接口400,M和N为不小于1的自然数。其中:
数据共享模块200,用于为数据共享提供存储区域,数据共享模块200包括第一数据共享单元210和第二数据共享单元220。
物理设备仿真模型100,用于发送第一格式的数据到第二数据共享单元220。
本实施例中,物理设备可以根据实际的应用场景而有不同的类型,具体的应用场景可以有航空航电、车辆、火炮、船舶或军舰等。仿真系统主要仿真的是这些场景下的数据交互过程。本实施例中具体可以为航空航电场景下的航电设备,物理设备仿真模型具体为航电设备仿真模型,其中,航电设备仿真模型可基于航电设备使用Simulink、Rhapsody等建模工具搭建,也可以使用标准的C/C++语言开发,开发出的航电设备仿真模型程序内部描述所仿真的航电设备的逻辑功能和算法,对外使用具有明显物理含义的简单数据格式进行输入输出,例如具体使用高度、速度、经纬度等物理变量进行外部输入输出。具体的物理设备类型及仿真设备类型可根据实际的应用场景来设定,本实施例不做限定。
通信服务模块300,与M个硬件接口400相连,用于在检测到第二数据共享单元220存储有物理设备仿真模型发送的第一格式的数据时,确定接入的物理设备需求的第二格式的数据,依据预先设定的第二格式数据与第一格式数据的对应关系,从第二数据共享单元220中获取与物理设备需求的第二格式的数据对应的第一格式的数据,并将获取的第一格式的数据依据第二格式数据与第一格式数据的对应关系,转换为第二格式的数据,并将第二格式的数据发送至物理设备;以及用于在接收到物理设备通过硬件接口400发送的第二格式的数据时,依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据,并将转换成的第一格式的数据发送至第一数据共享单元210,以作为各个物理设备仿真模型根据获取需求从第一数据共享单元210获取的依据。
本实施例中,第一格式的数据具体为物理变量,第二格式的数据具体为ICD格式的数据,即所有的物理设备仿真模型对外均为物理变量接口,通信服务模块300对外为ICD接口,基于ICD接口的通信服务模块300具体可采用硬件驱动将其ICD接口转换为实际总线通信,实现与硬件接口400的数据交互。
本实施例中,每个物理变量均被定义了一个用于身份标识的物理变量ID(Identity,身份标识号码),该物理变量ID为全局唯一ID,仿真过程中,物理设备仿真模型100向数据共享模块200发布携带了物理变量ID的物理变量,其他物理设备仿真模型100或通信服务模块300通过物理变量ID来识别物理变量,实现订阅。ICD数据格式的数据具体包括ICD数据块,相应地,每个ICD数据块均被定义了一个ICD数据块ID,该ICD数据块ID同样为全局唯一ID,用于在仿真过程中标识ICD数据块。
通信服务模块300的数据转换功能具体可通过打包/解包的功能来实现,具体地,仿真前本领域技术人员确定物理变量与ICD数据块之间的对应关系,通过物理变量ID与ICD数据块ID之间的对应关系来描述上述对应关系,并生成配置文件,仿真时通信服务模块300从第二数据共享单元220订阅物理变量后,依据配置文件,将订阅的物理变量打包成相应的ICD数据块,并将ICD数据块发送至物理设备;通信服务模块300接收到物理设备的ICD数据块后,依据配置文件,将ICD数据块解包成物理变量,并将物理变量发布至第一数据共享单元210。
综上,本发明公开的仿真系统中,通信服务模块将物理设备仿真模型发送的第一格式的数据转换为第二格式的数据,之后将其发送至物理设备,将接收到的物理设备发送的第二格式的数据转换为第一格式的数据,以供各物理设备仿真模型获取。可见,基于本发明公开的仿真系统进行半物理仿真试验时,通过通信服务模块300提供的数据格式转换作用,实现了各物理设备仿真模型与接入仿真系统的各物理设备之间的信息交互。在从全数字仿真试验切换至半物理仿真试验时,直接将物理设备接入本发明公开的仿真系统即可进行半物理仿真试验,无需对本发明仿真系统中的物理设备仿真模型进行修改,也无需对仿真系统的结构进行改动,提高了仿真系统的复用性,从而提高了仿真效率,降低了设计变更成本。
实施例二
本发明实施例二在实施例一的基础上,对上述仿真系统进行进一步说明,实施例一侧重从半物理仿真状态下,对仿真系统的各模块进行描述,本实施例继续对全数字状态下仿真系统中的模块进行扩充说明。
仿真过程中,若通信服务模300未检测到第二数据共享单元220存储有物理设备仿真模型100发送的第一格式的数据,以及通信服务模块300未接收到物理设备发送的第二格式的数据,则该仿真为全数字仿真。此时,通信服务模块300不再进行数据格式的转换,此种状态下,各物理设备仿真模型100用于向第一数据共享单元210发送第一格式的数据,以及依据获取需求从第一数据共享单元210获取相应的第一格式的数据。
具体地,各物理设备仿真模型100向第一数据共享单元210发布物理变量,并从第一数据共享单元210订阅各自所需的物理变量。
在上述两个实施例中,各物理设备仿真模型与数据共享模块200之间,以及通信服务模块300与数据共享模块200之间,具体可采用基于数据共享协议使用数据发布/订阅的机制,以共享的方式实现数据交互,各物理设备仿真模型只与数据共享模块200进行数据的交互,物理设备仿真模型收发的物理变量均从数据共享模块200发布或订阅。即具体地,各物理设备仿真模型依据实际仿真需求向数据共享模块200的第一数据共享单元210或第二数据共享单元220发布物理变量。在实施例一中,仿真需求为半物理仿真,则各物理设备仿真模型将物理变量发布到第二数据共享单元220,通信服务模块300从第二数据共享单元220中获取与物理设备需要的ICD格式数据对应的物理变量,然后将该物理变量转换为ICD格式数据,发送给物理设备。当物理设备发送ICD格式的数据给通信服务模块300后,通信服务模块300将ICD格式的数据转换为物理变量,并发布到第一数据共享单元210中,各个物理设备仿真模型,依据自己的需求,从第一数据共享单元210订阅数据。
而在实施例二中,虽然并不涉及物理设备仿真模型与通信服务模块300之间的数据交互,但是各物理设备仿真模型与数据共享模块200之间,也可利用基于数据共享协议使用数据发布/订阅的机制,以共享的方式实现数据交互,各物理设备仿真模型与数据共享模块200进行数据的交互,物理设备仿真模型收发的物理变量均从数据共享模块200发布或订阅。即具体地,本实施例中,仿真需求为全数字仿真,则各个物理设备仿真模型均将物理变量发布到第一数据共享单元210,并且,从第一数据共享单元210中以订阅的方式获取自身需要的物理变量。
在上述实施例公开的仿真系统中,各个物理设备仿真模型之间,以及物理设备仿真模型与物理设备之间没有直接的联系,当需要进行通信时,通过数据发布和订阅的方式,实现物理设备仿真模型之间的数据交互,从而当仿真条件发生改变时,无需更改物理仿真模型之间的连接关系,也无需修改模型的结构。因此,该系统能够适用各种仿真要求,具有较强的通用性。
实施例三
本发明实施例三基于实施例一和实施例二的仿真系统,公开了一种仿真方法。
请参见图3,相应于实施例一公开的仿真系统,本发明首先公开仿真方法的一种流程,该流程体现的是半物理仿真过程,该过程具体包括:
步骤S31:当通信服务模块检测到第二数据共享单元存储有物理设备仿真模型发送的第一格式的数据时,确定接入的物理设备需求的第二格式的数据。
步骤S32:依据预先设定的第二格式数据与第一格式数据的对应关系,从第二数据共享单元中获取与物理设备需求的第二格式的数据对应的第一格式的数据,并将获取的第一格式的数据依据第二格式数据与第一格式数据的对应关系,转换为第二格式的数据。
步骤S33:将第二格式的数据发送至物理设备。
其中,将获取的第一格式的数据依据第二格式数据与第一格式数据的对应关系,转换为第二格式的数据具体为:将获取的物理变量依据ICD数据块ID与物理变量ID的对应关系,打包成ICD数据块。
在上述过程中,通信服务模块实时检测第二数据共享单元中是否接收到第一格式的数据(即物理变量数据),如果接收到,则表明物理设备仿真模型需要与物理设备进行数据交互,因此,通信服务模块开始工作。本实施例中的第二格式数据与第一格式数据的对应关系为通过配置文件预先设定的。在将物理变量数据转换为ICD数据时,一个ICD数据块中,可能包含多个物理变量,例如,ID为1、2和3的物理变量,对应ID为1的ICD数据。数据通信模块根据这种对应关系实现数据格式转换。通信服务模块获取ID为1、2和3的物理变量,将其进行格式变换后,得到ID为1的ICD数据,然后将该数据发送。
步骤S34:当通信服务模块接收到物理设备发送的第二格式的数据时,依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据。
依据预先设定的第二格式数据与第一格式数据的对应关系将接收到的第二格式的数据转换为第一格式的数据具体为:依据预先设定的ICD数据块ID与物理变量ID的对应关系,将接收到的ICD数据块解包成物理变量。
当通信服务模块接收到物理设备发送的第二格式的数据时,也就表明需要进行物理设备和物理设备仿真模型之间的数据交互,即进行半物理仿真。根据上述对应关系,将ICD数据转换为物理变量数据。
步骤S35:将转换成的第一格式的数据发送至第一数据共享单元,以作为各个物理设备仿真模型根据获取需求从第一数据共享单元获取的依据。
当通信服务模块将转换后的第一格式的数据发送至第一数据共享单元后,由于各个物理设备仿真模型都在实时的检测是否在第一数据共享单元中有自己需要的数据,因此,物理设备仿真模型会根据订阅机制,获取到自己需要的数据,完成数据从物理设备到物理设备仿真模型的传输。
本实施例公开的仿真方法中,通过对数据格式的变换实现物理设备和物理设备仿真模型的数据交互,因而无需对系统硬件做改进,提高了仿真效率,降低了设计变更成本。
在上述过程中,数据通信模块的数据格式转换所基于的打解包算法以仿真前配置的ICD数据格式定义文件为基础,数据通信模块读入用户配置的物理变量与ICD数据块的对应关系描述文件,并根据对应关系描述文件的更新自动调整打解包算法处理数据的方式。
如图4所示,相应于实施例二的仿真系统,本发明公开了仿真方法的另一种流程,该流程体现全数字仿真的过程,该过程包括:
步骤S41:当通信服务模块未检测到第二数据共享单元存储有物理设备仿真模型发送的第一格式的数据,以及通信服务模块未接收到物理设备发送的第二格式的数据时,各个物理设备仿真模型向数据共享模块的第一数据共享单元发送第一数据格式的数据。
步骤S42:各个物理设备仿真模型依据获取需求从第一数据共享单元获取相应的第一数据格式的数据。
对于本发明实施例三公开的仿真方法而言,由于其与实施例一和实施例二公开的仿真系统相对应,所以描述的比较简单,相关相似之处请参见实施例一和实施例二中仿真系统部分的说明即可,此处不再详述。
上述实施例二和实施例三公开的仿真系统中各模块间的数据交互过程,可以参考图5所示。
其中,实线箭头表示的流程为半物理仿真过程中数据的流向,虚线箭头表示全数字仿真过程中数据的流向。通过该图可以明显看出,在全数字仿真过程中通信服务模块并不工作,参与仿真的只有物理设备仿真模型和第一数据共享单元。而在进行半物理仿真过程时,系统中的各个单元全部参与进来,相互协调配合,最终实现了物理设备仿真模型和物理设备之间的数据交互,实现了半物理仿真。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。