仿真技術(shù)的困境
隨著科技的發(fā)展,我國在安全攸關(guān)領(lǐng)域?qū)τ谇度胧杰浖膽?yīng)用日益廣泛,并且對于軟硬件的性能及可靠性等方面要求變得更高。面對各種復(fù)雜的系統(tǒng)設(shè)計所提供的設(shè)計和分析手段也逐漸完善,其中仿真技術(shù)在近幾年越來越受到重視,其在西方發(fā)達國家的多個工業(yè)領(lǐng)域中,都得到了廣泛的應(yīng)用。
仿真技術(shù)的成熟應(yīng)用為復(fù)雜的系統(tǒng)設(shè)計提供了貫穿V流程的全生命周期的分析手段,它可以作為實物實驗的有效補充手段,能夠在仿真可信度較高的情況下有效降低實物實驗的次數(shù),大大節(jié)省成本并提高實驗效率。但是仿真技術(shù)發(fā)展至今,在取得工程應(yīng)用認可的同時,也出現(xiàn)了一些不足和亟待改善的地方,例如下圖所示。
▲圖1. 仿真工具碎片化
亟待解決的問題:
1)目前全國各單位部門都有自己的仿真工具,這些仿真工具可能是自己開發(fā)的可能是采購的,樣式五花八門,協(xié)議各有不同,如果不是事先設(shè)計好,很難相互聯(lián)合仿真,造成了工具碎片化的問題,這就很可能要投入很多的精力去解決這些模型的重用和維護等問題,引起嚴重的成本浪費。
2)在聯(lián)合仿真的過程中,供應(yīng)商也要解決代碼的知識產(chǎn)權(quán)保護問題,如何讓別人在不接觸模型代碼的情況下完成聯(lián)合仿真也成為了亟待解決的問題。
什么是FMI
為解決上述問題,歐洲仿真屆提出了FMI標準,F(xiàn)MI標準的全稱是Functional Mock-up Interface,它是一個不依賴于工具的標準,其通過XML文件和已編譯的C代碼的組合來同時支持動態(tài)模型的模型交換(Model Exchange)和聯(lián)合仿真(Co-Simulation)。
系統(tǒng)集成商和供應(yīng)商都遵循FMI標準,供應(yīng)商各自的仿真模型通過FMI標準生成FMU模型交給集成商,集成商可以使用FMU聯(lián)合仿真軟件快速構(gòu)建系統(tǒng)模型,不用再提前開發(fā)定制接口。同時,F(xiàn)MI標準也提供了FMU模型導(dǎo)出加密的方法,供應(yīng)商也不用擔(dān)心產(chǎn)品泄密等安全問題。
▲圖2.基于FMI標準的系統(tǒng)集成環(huán)境
FMI標準包含兩種模型重用的方式:Model Exchange(模型交換)和Co-Simulation(聯(lián)合仿真)。模型交換不包含求解器,只包含輸入/輸出接口以及模型的相關(guān)信息。聯(lián)合仿真則包含求解器,這是兩者之間的主要區(qū)別。
▲圖3.模型交換方式
其中聯(lián)合仿真又包含三種模式,分別是代碼導(dǎo)出方式、工具耦合方式、分布式方式。
(1) 代碼導(dǎo)出方式:
導(dǎo)出的FMU文件脫離原導(dǎo)出工具,使用時無需原導(dǎo)出工具的License限制,主控軟件可以同時控制多個FMU模型求解。
▲圖4.代碼導(dǎo)出方式
(2) 工具耦合方式:
導(dǎo)出的FMU文件綁定原導(dǎo)出工具的License,F(xiàn)MU文件只作為聯(lián)合仿真的接口封裝和數(shù)據(jù)對接,模型的實際求解還在原導(dǎo)出工具中,中控軟件與從屬軟件只負責(zé)各自的求解。
▲圖5.工具耦合方式
(3) 分布式方式:
除包含工具耦合方式的所有特點外,還可以在多個平臺進行聯(lián)合仿真。
▲圖6.分布式方式
FMI在SkyEye中的應(yīng)用
迪捷軟件的軟件測試和仿真工具SkyEye,中文全稱天目全數(shù)字實時仿真軟件,是基于可視化建模的硬件行為級仿真平臺,支持用戶通過拖拽的方式對硬件進行行為級別的仿真和建模。
目前SkyEye采用分布式方式創(chuàng)建的FMU模型,將FMI封裝的模型庫通過網(wǎng)絡(luò)的方式與遠端的SkyEye進行通訊。SkyEye仿真嵌入式硬件環(huán)境運行嵌入式軟件進行求解等操作。
創(chuàng)建FMU模型主要需要實現(xiàn)包含了描述模型接口信息和數(shù)據(jù)的XML文件、實現(xiàn)模型動態(tài)行為功能的C代碼或二進制文件和其他用戶希望包含在FMU中的文件和數(shù)據(jù)。
XML文件描述了FMU 模型的版本、ID、輸入、輸出等信息,需要實現(xiàn)如下圖中節(jié)點信息。
▲圖7.XML文件描述
C代碼或二進制文件實現(xiàn)了模型的控制行為等接口,需要按照要求實現(xiàn)如下圖中所有函數(shù)。
▲圖8.FMI函數(shù)信息
在上述函數(shù)中實現(xiàn)了對SkyEye的操作如時間控制、值的獲取、設(shè)置值、重啟等操作。
總結(jié)
FMI為集成商和供應(yīng)商提供了一套統(tǒng)一的接口標準,解決了工具碎片化導(dǎo)致的各種問題。迪捷軟件的SkyEye對于FMI標準的支持也極大的方便了客戶的集成仿真。SkyEye能根據(jù)實際的工程需求實現(xiàn)更多的應(yīng)用場景,滿足客戶的更多集成需求。