系統(tǒng)仿真測(cè)試驗(yàn)證一體化平臺(tái)
GCAir系統(tǒng)仿真測(cè)試驗(yàn)證一體化平臺(tái),基于MBSE(Model-Based Systems Engineering)思想,完全自主研發(fā)的一款工業(yè)軟件,為復(fù)雜裝備系統(tǒng)研制的正向設(shè)計(jì)提供了工具支撐,為數(shù)字孿生技術(shù)落地提供了解決方案,可以實(shí)現(xiàn)全虛擬仿真到半實(shí)物仿真。GCAir支持多源異構(gòu)模型集成,從全虛擬仿真到半實(shí)物仿真的一鍵切換,能夠在同一平臺(tái)上完成模型在環(huán)、軟件在環(huán)、硬件在環(huán)仿真及測(cè)試,具備連續(xù)綜合集成測(cè)試驗(yàn)證的能力,可應(yīng)用于復(fù)雜裝備從設(shè)計(jì)研發(fā)到運(yùn)行維護(hù)的全生命周期。
●系統(tǒng)架構(gòu)設(shè)計(jì)
用GCAir可以創(chuàng)建復(fù)雜的系統(tǒng):在ICD定義接口和總線;在畫布創(chuàng)建子系統(tǒng);對(duì)子系統(tǒng)進(jìn)行接口和總線的實(shí)例化;在子系統(tǒng)內(nèi)導(dǎo)入行為模型FMU、Python、C/C++、插值表等,并實(shí)現(xiàn)子系統(tǒng)內(nèi)部的功能設(shè)計(jì);把行為模型的輸入輸出與子系統(tǒng)的接口和總線相連;對(duì)多個(gè)子系統(tǒng)進(jìn)行接口和總線的連接。經(jīng)過(guò)上述步驟即可實(shí)現(xiàn)復(fù)雜系統(tǒng)的架構(gòu)設(shè)計(jì)。其核心功能如下所示:
| ?定義端口、數(shù)據(jù)總線 | ?子系統(tǒng)內(nèi)部功能設(shè)計(jì) |
| ?創(chuàng)建子系統(tǒng)并添加端口/數(shù)據(jù)總線 | ?系統(tǒng)架構(gòu)設(shè)計(jì) |

●系統(tǒng)架構(gòu)設(shè)計(jì)-ICD總線管理
在航空航電領(lǐng)域,經(jīng)常會(huì)用ICD接口控制文件來(lái)描述系統(tǒng)/分系統(tǒng)、設(shè)備與系統(tǒng)之間的接口關(guān)系。但是在系統(tǒng)設(shè)計(jì)仿真驗(yàn)證時(shí),系統(tǒng)復(fù)雜-報(bào)文多信號(hào)多,數(shù)據(jù)總線配置繁瑣,需要定義多種報(bào)文數(shù)據(jù)格式、收發(fā)矩陣、節(jié)點(diǎn)等等,才能實(shí)現(xiàn)節(jié)點(diǎn)網(wǎng)絡(luò)間的通訊,這樣的操作速度慢、效率也低。GCAir提供的ICD總線管理工具,可使用戶快速高效的配置數(shù)據(jù)總線,在虛擬仿真階段、半實(shí)物仿真階段均可使用。GCAir的ICD管理工具可支持的總線類型及配置圖例如下所示:
| ?Virtual虛擬總線 | ?CAN總線 | ?DDS網(wǎng)絡(luò) |
| ?1553B總線 | ?RS-422/485/232串口 | ?反射內(nèi)存網(wǎng)絡(luò) |
| ?A429總線 | ?EtherCAT主站 | ?TCP/UDP |

●系統(tǒng)架構(gòu)設(shè)計(jì) - 模型庫(kù)管理
GCAir模型庫(kù)管理可以把用戶建好的子系統(tǒng)保存到庫(kù),實(shí)現(xiàn)了子系統(tǒng)的封裝;庫(kù)里的子系統(tǒng)可被不同的工程復(fù)用或被同一個(gè)工程共享使用。其核心功能如下所示:
| ?模型分類管理 | ?自定義庫(kù)管理 | ?模型版本管理 |

●系統(tǒng)架構(gòu)設(shè)計(jì)-系統(tǒng)模型構(gòu)建
GCAir提供了豐富的系統(tǒng)模型構(gòu)建操作,可對(duì)子系統(tǒng)進(jìn)行參數(shù)設(shè)置、故障設(shè)置、端口/總線添加等等,使用戶可根據(jù)具體的系統(tǒng)設(shè)計(jì)需求靈活配置子系統(tǒng)。其核心功能如下:
| ?子系統(tǒng)參數(shù)設(shè)置、故障注入設(shè)置 | ?子系統(tǒng)導(dǎo)出聯(lián)合仿真FMU |
| ?子系統(tǒng)屬性編輯(添加總線/端口) | ?子系統(tǒng)保存/封裝到庫(kù) |
| ?子系統(tǒng)與FMU之間自動(dòng)連線 | ?子系統(tǒng)層級(jí)嵌套 |

●系統(tǒng)集成仿真 - 多源異構(gòu)系統(tǒng)集成
GCAir平臺(tái)基于FMI標(biāo)準(zhǔn),立足于復(fù)雜系統(tǒng)的架構(gòu)設(shè)計(jì)和模型規(guī)范化問(wèn)題,完成了對(duì)多源異構(gòu)模型集成的全面支持。GCAir支持ME(Model
Exchange) 2.0 標(biāo)準(zhǔn)和CS(Co-Simulation) 1.0/2.0標(biāo)準(zhǔn)的
FMU,從而實(shí)現(xiàn)對(duì)復(fù)雜系統(tǒng)的總體設(shè)計(jì)與建模、模型間接口關(guān)系的設(shè)計(jì)與建模。
GCAir提供了豐富的硬件板卡集成接口,如1553B、A429、CAN、UART、反射內(nèi)存、EtherCAT等,用于完成復(fù)雜系統(tǒng)的半實(shí)物仿真,解決了復(fù)雜系統(tǒng)研制的核心問(wèn)題。其核心功能和架構(gòu)如下:
| ?支持FMU、Python腳本、CSV文件、用戶自定義表達(dá)式、TCP模塊、1D/2D/3D插值表、GCKontrol工程和IO類板卡模塊等集成仿真 | |
| ?支持硬件和實(shí)物接口:CAN總線、1553B總線、A429總線、UART串口總線、EtherCAT總線、反射內(nèi)存、AI/AO、DI/DO、TCP、UDP等 |

●系統(tǒng)集成仿真 - 第三方軟件聯(lián)合仿真
在系統(tǒng)仿真時(shí),某些復(fù)雜系統(tǒng)的部分模型需要在指定的仿真軟件中運(yùn)行,才可完成系統(tǒng)總體仿真。GCAir支持與第三方聯(lián)合仿真,具有Python模塊、TCP模塊、DDS總線等,用戶可靈活配置系統(tǒng)仿真。其核心功能如下:
| ?Python仿真模塊,用戶可靈活定義功能或算法 |
| ?基于TCP協(xié)議通訊,調(diào)度第三方程序/設(shè)備實(shí)時(shí)通信 |
| ?基于DDS總線,調(diào)度第三方程序/設(shè)備實(shí)時(shí)通信 |
●半實(shí)物仿真
在半實(shí)物仿真系統(tǒng)中,被控制對(duì)象是虛擬的,控制系統(tǒng)是實(shí)物。GCAir可完成半實(shí)物仿真,用于驗(yàn)證控制系統(tǒng)設(shè)備及控制算法的安全性、可靠性。實(shí)時(shí)性是半實(shí)物仿真的必要前提,GCAir實(shí)時(shí)仿真機(jī)的軟件部分由實(shí)時(shí)操作系統(tǒng)和實(shí)時(shí)仿真引擎組成,實(shí)時(shí)性誤差精度<0.1ms。
GCAir的仿真引擎服務(wù)程序(SimulationEngine)是運(yùn)行仿真模型的實(shí)體,可實(shí)現(xiàn)多線程執(zhí)行,順序分組執(zhí)行、仿真控制、故障注入、分布式仿真等功能,使半實(shí)物仿真系統(tǒng)具有可控性。可實(shí)現(xiàn)系統(tǒng)總體的反復(fù)優(yōu)化、重點(diǎn)評(píng)估、多方案比較、快速更新。其核心功能和架構(gòu)圖如下:
| ?豐富的總線接口板卡:CAN、1553B、A429、RS-232/422/485串口、反射內(nèi)存、EtherCAT、AIO/DIO、TCP、UDP等。 |
| ?實(shí)時(shí)操作系統(tǒng):Linux操作系統(tǒng),實(shí)時(shí)內(nèi)核,多核/多線程實(shí)時(shí)仿真 |
| ?實(shí)時(shí)仿真引擎:實(shí)時(shí)仿真步長(zhǎng)達(dá)1ms,實(shí)時(shí)精度誤差小于0.1ms |
| ?支持FMU順序分組、多核多線程分配 |

●虛擬仿真
復(fù)雜系統(tǒng)仿真時(shí),在半實(shí)物仿真之前需要做全虛擬仿真,以完成模型在環(huán)(MiL)驗(yàn)證。GCAir支持全虛擬仿真,該過(guò)程中被控制對(duì)象和控制系統(tǒng)都是虛擬的。其核心功能如下:
| ?集成多個(gè)模型到GCAir,離線調(diào)試 |
| ?通過(guò)設(shè)定仿真倍速來(lái)加快仿真速度 |
| ?支持FMU順序分組、多核多線程分配 |
●虛實(shí)融合
GCAir支持從全虛擬仿真到半實(shí)物仿真的一鍵切換,實(shí)現(xiàn)了模型在環(huán)(MiL)與硬件在環(huán)(HiL)的快捷切換。如下圖所示,對(duì)已配置好的子系統(tǒng)右鍵選擇“設(shè)置為被測(cè)硬件”,即可切換至半實(shí)物仿真模式。在進(jìn)行半實(shí)物仿真時(shí),被測(cè)硬件子系統(tǒng)內(nèi)部跳過(guò)FMU模型運(yùn)行,按該子系統(tǒng)配置好的板卡總線信號(hào)報(bào)文與硬件實(shí)物進(jìn)行通信。其核心功能和應(yīng)用實(shí)例如下所示:
| ?支持“虛擬+半實(shí)物”仿真 | ?虛擬模型與硬件設(shè)備一鍵切換 |

●分布式實(shí)時(shí)仿真
GCAir支持分布式仿真,支持對(duì)大型復(fù)雜裝備系統(tǒng)的分布式半實(shí)物仿真。大型復(fù)雜裝備系統(tǒng)硬件設(shè)備種類多、數(shù)量多,例如多個(gè)控制器設(shè)備、多個(gè)激勵(lì)設(shè)備、人機(jī)交互設(shè)備等,每個(gè)設(shè)備又有多種通信方式,例如數(shù)據(jù)總線、以太網(wǎng)、AIO/DIO等,并且該系統(tǒng)需要使用多種硬件板卡資源,且設(shè)備到設(shè)備之間物理距離遠(yuǎn)。GCAir分布式仿真系統(tǒng)具有多個(gè)實(shí)時(shí)仿真機(jī),并實(shí)現(xiàn)了分布式仿真技術(shù),可完成不同物理位置、不同硬件設(shè)備的系統(tǒng)組網(wǎng)與半實(shí)物仿真。
| ?分配不同的模型到不同的仿真機(jī),滿足復(fù)雜大系統(tǒng)的半實(shí)物仿真 | |
| ?基于Windows/Linux的全虛擬分布式仿真 | ?基于Linux 的半實(shí)物分布式實(shí)時(shí)仿真 |
| ?支持Linux/Windows 混合仿真,虛實(shí)一鍵切換 | |

●自動(dòng)化測(cè)試-TestManager
TestManager是GCAir自動(dòng)化測(cè)試的配套工具。可實(shí)現(xiàn)基于需求的自動(dòng)化批量仿真測(cè)試。將GCAir工程導(dǎo)入TestManager,根據(jù)測(cè)試需求在TestManager配置測(cè)試場(chǎng)景、測(cè)試用例、測(cè)試工況,運(yùn)行仿真即可完成自動(dòng)化批量測(cè)試,并生成測(cè)試報(bào)告。TestManager支持全虛擬系統(tǒng)的批量仿真測(cè)試,也支持半實(shí)物系統(tǒng)的批量仿真測(cè)試,可涵蓋MiL、SiL,、HiL全業(yè)務(wù)流程,減少了半實(shí)物系統(tǒng)的開發(fā)調(diào)試、測(cè)試驗(yàn)證時(shí)間。其核心功能和示意圖如下所示:
| ?基于圖形化界面開發(fā)測(cè)試用例 | ?滿足實(shí)時(shí)性和測(cè)試精度,誤差小于0.1ms |
| ?離線開發(fā)測(cè)試用例,減少半實(shí)物仿真調(diào)試時(shí)間 | ?測(cè)試用例可配置故障注入 |
| ?復(fù)用全虛擬和半實(shí)物仿真的測(cè)試用例 | ?測(cè)試報(bào)告自動(dòng)生成 |

●GCAir Python API
為了提高流程自動(dòng)化, GCAir提供了一套Python API接口函數(shù),用戶可基于常用的Python
IDE(如PyCharm等)編寫Python腳本,對(duì)API進(jìn)行靈活的組合和運(yùn)用,以完成多種任務(wù)。GCAir Python
API使用戶擺脫了需要頻繁手動(dòng)點(diǎn)擊工程界面以進(jìn)行批量操作的繁重勞動(dòng)。
1、用Python
API函數(shù)對(duì)工程進(jìn)行仿真控制,比如打開工程、配置參數(shù)、設(shè)定步長(zhǎng)、運(yùn)行仿真等等,也可以進(jìn)行斷點(diǎn)控制,比如創(chuàng)建斷點(diǎn)、修改斷點(diǎn)、刪除斷點(diǎn)等,可實(shí)現(xiàn)對(duì)工程的故障注入、自動(dòng)化調(diào)試等等;
2、用Python
API函數(shù)編寫自動(dòng)化測(cè)試腳本,可創(chuàng)建工程、配置模型參數(shù)、仿真參數(shù),完成模型的大批量自動(dòng)化測(cè)試,實(shí)現(xiàn)模型優(yōu)化、性能評(píng)估等;
3、可編寫Python
腳本對(duì)仿真工程進(jìn)行后處理,比如數(shù)據(jù)分析,結(jié)果對(duì)比等;
4、用戶可在Matlab編寫M腳本來(lái)調(diào)用GCAir
API,完成GCAir模型與Matlab工程的交互調(diào)用;
5、用戶可通過(guò)靈活運(yùn)用Python
API來(lái)開發(fā)自動(dòng)化測(cè)試軟件,用于對(duì)GCAir工程進(jìn)行自動(dòng)化測(cè)試。
其核心功能點(diǎn)和腳本實(shí)例如下所示:
| ?仿真 Python API:工程打開、參數(shù)配置、步長(zhǎng)設(shè)定、仿真運(yùn)行 |
| ?調(diào)試 Python API:斷點(diǎn)創(chuàng)建/修改/刪除、故障注入、調(diào)試自動(dòng)化 |
| ?支持從Matlab M腳本調(diào)度GCAir Python API |
| ?基于GCAir Python API可自動(dòng)運(yùn)行批量測(cè)試并返回結(jié)果 |

●可視化與人機(jī)交互
GCAir具有豐富的可視化元素,包括2D曲線、控件元素庫(kù)、三維視景面板。GCAir支持連接VR/AR、人機(jī)交互模擬器等設(shè)備。2D曲線面板可實(shí)時(shí)顯示系統(tǒng)仿真的變量曲線、數(shù)值等;顯示型控件(虛擬儀表盤等)
用于虛擬終端實(shí)時(shí)顯示;控制型控件可在系統(tǒng)仿真時(shí),實(shí)時(shí)調(diào)節(jié)輸入量或參數(shù),用于虛擬人機(jī)交互;三維視景面板用于三維視景的實(shí)時(shí)展示;人機(jī)交互模擬器可做為仿真系統(tǒng)的外部輸入;AR/VR
設(shè)備可用于終端三維顯示,3D視景效果等。這些可視化元素配置靈活、功能豐富,可用于數(shù)字孿生和綜合虛擬驗(yàn)證。其核心功能和三維視景實(shí)例如下所示:
| ?2D曲線 | ?3D視景 | ?模擬器設(shè)備 |
| ?2D虛擬儀表/控件 | ?VR/AR設(shè)備 | ?觸摸屏設(shè)備 |

●基于插件的二次開發(fā)
為了滿足用戶的某些特定需求,GCAir支持定制開發(fā)和定制界面。GCAir提供了基于插件的二次開發(fā)功能,插件與GCAir實(shí)現(xiàn)數(shù)據(jù)收發(fā)通信,完成定制系統(tǒng)的實(shí)時(shí)仿真與人機(jī)交互,確保了定制軟件的獨(dú)立性與開放性。其核心功能和示意圖如下所示:
| ?插件代碼具備獨(dú)立性,定制化功能與GCAir框架解耦 |
| ?無(wú)需修改GCAir代碼,滿足對(duì)GCAir的定制化開發(fā)需求 |
| ?基于C++/QT插件開發(fā) |

●個(gè)性化定制
| ?機(jī)柜整體定制:分析工程需求,評(píng)估硬件設(shè)備及設(shè)計(jì)方案,定制專業(yè)機(jī)柜 |
| ?模型定制:定制專業(yè)模型庫(kù),航空、航天、車輛… |
| ?硬件總線定制:總線、板卡、AI/AO、DI/DO…… |
| ?顯示定制:三維視景、面板…… |
GCAir產(chǎn)品優(yōu)勢(shì)
●虛實(shí)結(jié)合仿真測(cè)試驗(yàn)證 |
|
?GCKontrol與GCAir形成了控制系統(tǒng)一體化工具鏈,支持從純虛擬模型設(shè)計(jì)、代碼生成、實(shí)時(shí)仿真,到半實(shí)物仿真全生命流程開發(fā)
|
●豐富的多源異構(gòu)模型集成接口 |
|
?GCAir接口豐富,可對(duì)不同軟件開發(fā)的模型及不同的硬件設(shè)備進(jìn)行集成,實(shí)現(xiàn)系統(tǒng)仿真,提高了模型的置信度及模型運(yùn)算效率
|
●與需求分析軟件無(wú)縫銜接 |
|
?按照控制系統(tǒng)設(shè)計(jì)的應(yīng)用場(chǎng)景和需求,來(lái)定義軟件功能,能夠解決實(shí)際工程問(wèn)題,并且需求與設(shè)計(jì)之間的迭代以工程文件的形式保存
|
●V流程全生命周期測(cè)試支持 |
|
?針對(duì)需求建立測(cè)試場(chǎng)景,以文件形式保存測(cè)試用例,從純虛擬測(cè)試到半實(shí)物測(cè)試,實(shí)現(xiàn)全生命周期測(cè)試自動(dòng)化,有效縮短產(chǎn)品對(duì)需求的驗(yàn)證
|