版權(quán)所有@北京大風(fēng)天利科技有限公司
嵌入式實(shí)時(shí)仿真插件SimuERT
嵌入式實(shí)時(shí)仿真插件SimuERT
SimuERT是一個(gè)基于大型科學(xué)計(jì)算與仿真支撐平臺(tái)SimuWorks的嵌入式實(shí)時(shí)仿真插件,利用它可以將在Windows下使用SimuWorks開發(fā)的模型,方便地下裝到嵌入式系統(tǒng)下運(yùn)行,并通過與大型科學(xué)計(jì)算與仿真引擎SimuEngine的實(shí)時(shí)交互,實(shí)現(xiàn)對(duì)仿真數(shù)據(jù)和運(yùn)行狀態(tài)的監(jiān)測(cè)和修改,以及對(duì)模型的在線調(diào)試。
SimuERT可以運(yùn)行于不同的嵌入式操作系統(tǒng),如VxWorks、QNX、XPE等,下面僅針對(duì)VxWorks的實(shí)現(xiàn)進(jìn)行介紹。
SimuERT由多個(gè)軟件組成,包括運(yùn)行于上位機(jī)的VxServer和VxCreate,運(yùn)行于下位機(jī)的VxClient、VxRun和VxIO,以及下位機(jī)模塊庫(kù)VxSimuLib。其中VxRun為模型運(yùn)行控制程序,VxServer和VxClient是用于與SimuEngine進(jìn)行數(shù)據(jù)交互的接口程序,VxIO為下層IO數(shù)據(jù)驅(qū)動(dòng)接口程序。各軟件的功能具體說明如下:
1.上位機(jī)接口軟件VxServer:運(yùn)行于Windows,與VxClient協(xié)同實(shí)現(xiàn)SimuEngine與VxRun的通訊。
2.下位機(jī)接口軟件VxClient:運(yùn)行于VxWorks,與VxServer協(xié)同實(shí)現(xiàn)SimuEngine與VxRun的通訊。
3.運(yùn)行支撐軟件VxRun:運(yùn)行于VxWorks中,隨著系統(tǒng)啟動(dòng)而啟動(dòng),同時(shí)啟動(dòng)VxClient和VxIO。它通過VxServer和VxClient的通訊獲取上位機(jī)指令,控制模型的運(yùn)行、停止、加減速以及加載工況等,同時(shí)將模型的運(yùn)行數(shù)據(jù)傳遞給SimuEngine。
4.IO接口軟件VxIO:運(yùn)行于VxWorks,主要負(fù)責(zé)與現(xiàn)場(chǎng)監(jiān)控層進(jìn)行通訊,實(shí)現(xiàn)與現(xiàn)場(chǎng)設(shè)備、操作員控制臺(tái)和HMI界面的交互。通過VxIO,還可以與標(biāo)準(zhǔn)的工業(yè)網(wǎng)絡(luò)進(jìn)行無縫的連接。
5.模塊資源庫(kù)轉(zhuǎn)換工具VxCreate:在模塊資源管理器SimuManager調(diào)用,用于將SimuLib轉(zhuǎn)換為下位機(jī)模塊資源庫(kù)VxSimuLib。
6.下位機(jī)模塊資源庫(kù)VxSimuLib:是與SimuLib對(duì)應(yīng)的下位機(jī)模塊資源庫(kù),是由SimuManager調(diào)用VxCreate將SimuLib轉(zhuǎn)換而來。
模型在上位機(jī)的開發(fā)和離線調(diào)試如下圖所示:

具體說明如下:
1.根據(jù)需要,使用SimuManager增加或修改自己的模塊庫(kù)。這些模塊庫(kù)在加入SimuLib的同時(shí),會(huì)調(diào)用VxCreate自動(dòng)轉(zhuǎn)換為可在下位機(jī)運(yùn)行的模塊庫(kù),并加入VxSimuLib。
2.利用模塊資源庫(kù)SimuLib中已有的模塊庫(kù),使用通用圖形化自動(dòng)建模系統(tǒng)SimuBuilder進(jìn)行模型組態(tài)。
3.在SimuEngine中生成上位機(jī)仿真模型,同時(shí)調(diào)用風(fēng)河公司的Tornado開發(fā)工具并連接VxSimuLib生成下位機(jī)仿真模型。下位機(jī)仿真模型是為了下面的在線運(yùn)行做準(zhǔn)備的,不必要每次都生成。一般在調(diào)試完成后,準(zhǔn)備進(jìn)行在線運(yùn)行前生成一次即可。
4.如有必要,使用仿真實(shí)時(shí)圖形系統(tǒng)SimuMMI或第三方軟件制作模擬人機(jī)界面。
5.在SimuEngine中運(yùn)行上位機(jī)仿真模型,在SimuEngine、SimuBuilder或模擬人機(jī)界面中觀察和修改運(yùn)行數(shù)據(jù)。
6.根據(jù)運(yùn)行結(jié)果,如需對(duì)模型進(jìn)行修改,回到第1步。
7.建模和離線調(diào)試完成。
模型在下位機(jī)的運(yùn)行和在線調(diào)試如下圖所示:

具體說明如下:
1.SimuEngine將在離線組態(tài)調(diào)試系統(tǒng)中完成的下位機(jī)仿真模型,通過VxServer與VxClient的通訊,下載至下位機(jī)并將其控制權(quán)交付給VxRun。
2.仿真模型在VxRun的支撐下運(yùn)行。
3.VxRun將仿真模型的運(yùn)行數(shù)據(jù)通過VxServer與VxClient的通訊,傳遞至SimuEngine。
4.上位機(jī)的指令通過VxServer與VxClient的通訊,傳遞至VxRun,從而控制仿真模型的運(yùn)行;
5.VxRun通過VxIO連接現(xiàn)場(chǎng)控制層,可以與現(xiàn)場(chǎng)設(shè)備、操作員控制臺(tái)和HMI界面進(jìn)行數(shù)據(jù)通訊。
模型在下位機(jī)運(yùn)行時(shí),在上位機(jī)運(yùn)行的SimuBuilder、模擬人機(jī)界面和模擬操作員控制臺(tái)可以通過SimuEngine查看或修改運(yùn)行數(shù)據(jù)。
綜上所述,SimuERT具有如下特點(diǎn):
1.SimuERT實(shí)現(xiàn)了基于VxWorks的嵌入式系統(tǒng)仿真,實(shí)時(shí)性強(qiáng),穩(wěn)定性高,適用于工業(yè)和軍事現(xiàn)場(chǎng)。
2.除了風(fēng)河公司的Tornado開發(fā)工具外,其余所有軟件均具有自主知識(shí)產(chǎn)權(quán),尤其適用于安全性要求比較高的國(guó)防領(lǐng)域。
3.SimuERT在公司自有成熟產(chǎn)品SimuWorks的基礎(chǔ)上開發(fā)而來,不但保證了軟件的可靠性,也很容易將以前的工作成果轉(zhuǎn)換至嵌入式系統(tǒng)上來。
4.SimuBuilder的圖形化建模和SimuEngine的強(qiáng)大調(diào)試功能,使得嵌入式仿真系統(tǒng)的開發(fā)和調(diào)試變得容易了很多。
5.SimuERT具有良好的開放性,方便用戶進(jìn)行二次開發(fā)。