本發(fā)明涉及模擬仿真技術(shù)領(lǐng)域,尤其涉及一種工作時(shí)序的模擬仿真方法及系統(tǒng)。
背景技術(shù):
目前,在大部分的系統(tǒng)中,如飛行器系統(tǒng)、飛機(jī)火控系統(tǒng)等,各部件有各部件的工作時(shí)序。有的部件的工作時(shí)序比較復(fù)雜,涉及的接口設(shè)備、邏輯關(guān)系,需要正確實(shí)現(xiàn),否則會(huì)影響到整個(gè)系統(tǒng)的正常工作流程和功能。
在現(xiàn)有技術(shù)中,主要是通過(guò)手動(dòng)編寫代碼和研制硬件電路來(lái)實(shí)現(xiàn)工作時(shí)序的模擬。通過(guò)手動(dòng)編寫工作時(shí)序邏輯代碼,燒寫到硬件電路中,硬件電路中有繼電器,通過(guò)燒寫的代碼實(shí)現(xiàn)繼電器切換,在達(dá)到某種狀態(tài)后進(jìn)行通路切換、數(shù)據(jù)收發(fā),以控制進(jìn)入下一個(gè)狀態(tài)。
由此可以看出,現(xiàn)有的模擬方式成本較高,對(duì)于不同設(shè)備,其工作時(shí)序不相同,依靠硬件模擬方式來(lái)實(shí)現(xiàn)通用型較低,修改不方便。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種工作時(shí)序的模擬仿真方法及系統(tǒng),能夠通過(guò)搭建工作時(shí)序模型,下載實(shí)時(shí)仿真計(jì)算機(jī),可以實(shí)現(xiàn)通用化的工作時(shí)序模擬和驗(yàn)證,進(jìn)而降低了工作時(shí)序模擬仿真的成本。
本發(fā)明提供了一種工作時(shí)序的模擬仿真方法,包括:
基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,所述目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型;
在數(shù)字仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行離線仿真分析;
判斷離線仿真分析結(jié)果是否正確;
當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析。
優(yōu)選地,所述在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型包括:
使用Simulink模塊庫(kù)中的模塊搭建狀態(tài)滿足條件判斷模塊;
使用Simulink模塊庫(kù)中的時(shí)間計(jì)數(shù)器模塊搭建時(shí)間等待模塊;
對(duì)需要賦值的變量進(jìn)行賦值操作搭建賦值模塊;
使用Simulink模塊庫(kù)中的對(duì)外接口模型搭建接口操作模塊;
基于所述狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊和接口操作模塊搭建工作時(shí)序模型。
優(yōu)選地,所述在數(shù)字仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行離線仿真分析包括:
在數(shù)字仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯。
優(yōu)選地,所述判斷離線仿真分析結(jié)果是否正確包括:
判斷時(shí)序曲線的輸出值是否符合預(yù)設(shè)期望值,當(dāng)時(shí)序曲線的輸出值符合預(yù)設(shè)期望值時(shí),判斷離線仿真分析結(jié)果正確。
優(yōu)選地,所述當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析包括:
在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致,輸出分析結(jié)果。
一種工作時(shí)序的模擬仿真系統(tǒng),包括:
模塊劃分單元,用于基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,所述目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
工作時(shí)序模型搭建單元,用于在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型;
離線仿真分析單元,用于在數(shù)字仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行離線仿真分析;
判斷單元,用于判斷離線仿真分析結(jié)果是否正確;
實(shí)時(shí)仿真分析單元,用于當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析。
優(yōu)選地,所述工作時(shí)序模型搭建單元具體用于:
使用Simulink模塊庫(kù)中的模塊搭建狀態(tài)滿足條件判斷模塊;
使用Simulink模塊庫(kù)中的時(shí)間計(jì)數(shù)器模塊搭建時(shí)間等待模塊;
對(duì)需要賦值的變量進(jìn)行賦值操作搭建賦值模塊;
使用Simulink模塊庫(kù)中的對(duì)外接口模型搭建接口操作模塊;
基于所述狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊和接口操作模塊搭建工作時(shí)序模型。
優(yōu)選地,所述離線仿真分析單元具體用于:
在數(shù)字仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯。
優(yōu)選地,所述判斷單元具體用于:
判斷時(shí)序曲線的輸出值是否符合預(yù)設(shè)期望值,當(dāng)時(shí)序曲線的輸出值符合預(yù)設(shè)期望值時(shí),判斷離線仿真分析結(jié)果正確。
優(yōu)選地,所述實(shí)時(shí)仿真分析單元具體用于:
在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致,輸出分析結(jié)果。
由上述方案可知,本發(fā)明提供的一種工作時(shí)序的模擬仿真方法及系統(tǒng),當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),首先基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序,然后在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型,然后在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,然后判斷離線仿真分析結(jié)果是否正確,當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析,通過(guò)搭建工作時(shí)序模型,下載實(shí)時(shí)仿真計(jì)算機(jī),可以實(shí)現(xiàn)通用化的工作時(shí)序模擬和驗(yàn)證,進(jìn)而降低了工作時(shí)序模擬仿真的成本。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明公開(kāi)的一種工作時(shí)序的模擬仿真方法實(shí)施例1的方法流程圖;
圖2為本發(fā)明公開(kāi)的一種工作時(shí)序的模擬仿真方法實(shí)施例2的方法流程圖;
圖3為本發(fā)明公開(kāi)的一種工作時(shí)序的模擬仿真系統(tǒng)實(shí)施例1的結(jié)構(gòu)示意圖;
圖4為本發(fā)明公開(kāi)的一種工作時(shí)序的模擬仿真系統(tǒng)實(shí)施例2的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了更加特定地強(qiáng)調(diào)實(shí)施的獨(dú)立性,本說(shuō)明書涉及許多模塊或單元。舉例而言,模塊或單元可由硬件電路實(shí)現(xiàn),該硬件電路包括特制VLSI電路或門陣列,比如邏輯芯片、晶體管,或其它組件。模塊或單元也可在可編程的硬設(shè)備中實(shí)現(xiàn),比如場(chǎng)效可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等等。
模塊或單元也可在藉由各種形式的處理器所執(zhí)行的軟件中實(shí)現(xiàn)。比如說(shuō),一可執(zhí)行碼模塊可包括一個(gè)或多個(gè)實(shí)體的或邏輯的計(jì)算機(jī)指令區(qū)塊,該區(qū)塊可能形成為,比如說(shuō),對(duì)象、程序或函數(shù)。然而,鑒別模塊或單元的可執(zhí)行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所組成,當(dāng)邏輯上組合在一起時(shí),形成模塊或單元且達(dá)到該模塊或單元所要求的目的。
實(shí)際上,可執(zhí)行碼模塊或單元可以是一單一指令或多個(gè)指令,甚至可以分布在位于不同的程序中的數(shù)個(gè)不同的碼區(qū)段,并且橫跨數(shù)個(gè)存儲(chǔ)設(shè)備。同樣地,操作數(shù)據(jù)可被辨識(shí)及顯示于此模塊或單元中,并且可以以任何合適的形式實(shí)施且在任何合適的數(shù)據(jù)結(jié)構(gòu)形式內(nèi)組織。操作數(shù)據(jù)可以集合成單一數(shù)據(jù)集,或可分布在具有不同的存儲(chǔ)設(shè)備的不同的位置,且至少部分地只以電子信號(hào)方式存在于一系統(tǒng)或網(wǎng)絡(luò)。
本說(shuō)明書所提及的“實(shí)施例”或類似用語(yǔ)表示與實(shí)施例有關(guān)的特性、結(jié)構(gòu)或特征,包括在本發(fā)明的至少一實(shí)施例中。因此,本說(shuō)明書所出現(xiàn)的用語(yǔ)“在一實(shí)施例中”、“在實(shí)施例中”以及類似用語(yǔ)可能但不必然都指向相同實(shí)施例。
再者,本發(fā)明所述特性、結(jié)構(gòu)或特征可以以任何方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。以下說(shuō)明將提供許多特定的細(xì)節(jié),比如編程序、軟件模塊、用戶選擇、網(wǎng)絡(luò)交易、數(shù)據(jù)庫(kù)查詢、數(shù)據(jù)庫(kù)結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等例子,以提供對(duì)本發(fā)明實(shí)施例的了解。然而相關(guān)領(lǐng)域的普通技術(shù)人員將看出本發(fā)明,即使沒(méi)有利用其中一個(gè)或多個(gè)特定細(xì)節(jié),或利用其它方法、組件、材料等亦可實(shí)施。另一方面,為避免混淆本發(fā)明,公知的結(jié)構(gòu)、材料或操作并沒(méi)有詳細(xì)描述。
如圖1所示,為本發(fā)明提供的一種工作時(shí)序的模擬仿真方法實(shí)施例1的方法流程圖,所述方法可以包括以下步驟:
S101、基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),由于不同的系統(tǒng)具有不同的工作時(shí)序,因此,首先根據(jù)目標(biāo)工作時(shí)序的功能進(jìn)行分析,主要是分析工作時(shí)序并考慮用什么算法或流程劃分為具體特定功能的模塊。不同系統(tǒng),其工作時(shí)序雖然不相同,但主要包括以下模塊:狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊、接口操作模塊,因此需要根據(jù)將要模擬的工作時(shí)序功能進(jìn)行模塊劃分。
S102、在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型;
在Simulink等仿真建模環(huán)境下,根據(jù)劃分得到的模塊搭建工作時(shí)序模型。
S103、在數(shù)字仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行離線仿真分析;
在數(shù)字仿真環(huán)境下,對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,以確保工作時(shí)序的正確。
S104、判斷離線仿真分析結(jié)果是否正確;
對(duì)離線仿真輸出的分析結(jié)果進(jìn)行判斷。
S105、當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析。
當(dāng)判斷離線仿真輸出的分析結(jié)果正確時(shí),進(jìn)一步在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行仿真分析。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),首先基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序,然后在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型,然后在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,然后判斷離線仿真分析結(jié)果是否正確,當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析,通過(guò)搭建工作時(shí)序模型,下載實(shí)時(shí)仿真計(jì)算機(jī),可以實(shí)現(xiàn)通用化的工作時(shí)序模擬和驗(yàn)證,進(jìn)而降低了工作時(shí)序模擬仿真的成本。
如圖2所示,為本發(fā)明提供的一種工作時(shí)序的模擬仿真方法實(shí)施例2的方法流程圖,所述方法可以包括以下步驟:
S201、基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),由于不同的系統(tǒng)具有不同的工作時(shí)序,因此,首先根據(jù)目標(biāo)工作時(shí)序的功能進(jìn)行分析,主要是分析工作時(shí)序并考慮用什么算法或流程劃分為具體特定功能的模塊。不同系統(tǒng),其工作時(shí)序雖然不相同,但主要包括以下模塊:狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊、接口操作模塊,因此需要根據(jù)將要模擬的工作時(shí)序功能進(jìn)行模塊劃分。
S202、使用Simulink模塊庫(kù)中的模塊搭建狀態(tài)滿足條件判斷模塊,使用Simulink模塊庫(kù)中的時(shí)間計(jì)數(shù)器模塊搭建時(shí)間等待模塊,對(duì)需要賦值的變量進(jìn)行賦值操作搭建賦值模塊,使用Simulink模塊庫(kù)中的對(duì)外接口模型搭建接口操作模塊,基于狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊和接口操作模塊搭建工作時(shí)序模型;
在Simulink等仿真建模環(huán)境下,根據(jù)劃分的模塊搭建工作時(shí)序模型。對(duì)于狀態(tài)滿足條件判斷模塊,直接采用判斷模塊實(shí)現(xiàn),例如使用Simulink中的Switch、If Action Subsystem等模塊搭建,也可以使用C語(yǔ)言編寫S函數(shù)實(shí)現(xiàn);對(duì)于時(shí)間等待模塊,則需要通過(guò)搭建時(shí)間計(jì)數(shù)器模塊實(shí)現(xiàn);對(duì)于賦值模塊,可以直接對(duì)所要賦值的變量進(jìn)行賦值操作;對(duì)于接口操作模塊,則需要將對(duì)外接口模型集成到工作時(shí)序模塊中。
S203、在數(shù)字仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯;
在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,以確保工作時(shí)序的正確,具體為在數(shù)字仿真環(huán)境下如Simulink等仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯。由于工作時(shí)序比較復(fù)雜,尤其是涉及到接口實(shí)物設(shè)備時(shí),直接進(jìn)行連接實(shí)物設(shè)備的仿真試驗(yàn),出現(xiàn)問(wèn)題往往不方便定位問(wèn)題,因此需要先在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,此時(shí),對(duì)于對(duì)外接口操作模塊,可以先用數(shù)字接口模型代替,如果對(duì)外接口是輸入接口,則用Simulink下的Constant(常值模塊)等Sources(輸入源)模塊代替,如果對(duì)外接口是輸出接口,則用Scope(示波器模塊)等Sinks(接收器)模塊代替,以便能夠在離線仿真下查看工作時(shí)序仿真結(jié)果。
S204、判斷時(shí)序曲線的輸出值是否符合預(yù)設(shè)期望值,當(dāng)時(shí)序曲線的輸出值符合預(yù)設(shè)期望值時(shí),判斷離線仿真分析結(jié)果正確;
S205、當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致,輸出分析結(jié)果。
當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行仿真分析,即在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致。工程應(yīng)用中,先進(jìn)行數(shù)學(xué)仿真(或叫離線仿真),而后將這個(gè)時(shí)序用到實(shí)際應(yīng)用中,即用在實(shí)時(shí)仿真中,下載到實(shí)時(shí)仿真機(jī)中,通過(guò)硬件接口與其他設(shè)備進(jìn)行通信,用這種時(shí)序控制其他設(shè)備。
下面以某火控系統(tǒng)的工作時(shí)序模擬為例來(lái)進(jìn)行說(shuō)明。
某火控系統(tǒng)的工作時(shí)序模擬主要是必須按照固定的順序執(zhí)行各個(gè)流程,也就是說(shuō)只有上一個(gè)流程運(yùn)行成功后,才可以進(jìn)行下一個(gè)流程的運(yùn)行。
第一個(gè)要運(yùn)行的是初始化流程(模型中為初始化模塊),然后依次為機(jī)彈握手流程(模型中為握手模塊)、數(shù)據(jù)裝載流程(模型中為裝載模塊)、傳遞對(duì)準(zhǔn)流程(模型中為傳遞對(duì)準(zhǔn)模塊)、投放允許流程(模型中為投放允許模塊)、熱電池激活流程(模型中為電源激活模塊)和投放流程(模型中為投放模塊)。各個(gè)流程都是建立在模型的使能子系統(tǒng)中,流程主要涉及了以太網(wǎng)通信、串口通信、1553B通信和DIO板卡輸出,輸出的信號(hào)為載機(jī)電源和彈上熱電池的上下電控制指令和相關(guān)流程執(zhí)行成功是否。
對(duì)照上述實(shí)現(xiàn)過(guò)程的步驟進(jìn)行實(shí)現(xiàn),如下:
第一個(gè)步驟,工作時(shí)序功能模塊劃分如下(不同的系統(tǒng)由于時(shí)序邏輯不同,不可能包含所有的功能模塊劃分,如可能不包括時(shí)間等待模塊):
狀態(tài)滿足條件判斷模塊,比如“==1模塊”(即,確定輸入是否等于常數(shù)1,如果等于輸出值1,如果不等于輸出值為0),“==2模塊”(即,確定輸入是否等于常數(shù)2,如果等于輸出值1,如果不等于輸出值為0)、“AND模塊”(即,邏輯操作與模塊,如果所有輸入都為真,那模塊的輸出則為真,否則為假)等,當(dāng)條件滿足時(shí),判斷輸出接口是0或1;
賦值模塊,比如初始化子系統(tǒng)中的模塊,當(dāng)使能運(yùn)行后會(huì)將相關(guān)的常值賦到輸出接口;
接口操作模塊,如“PXI 6509DO”模塊,即為數(shù)字輸入/輸出板卡的DO輸出驅(qū)動(dòng)或輸出接口操作模塊。
第二步驟,搭建工作時(shí)序模型,即打開(kāi)建模仿真軟件(此例中為Simulink),找到Simulink模塊庫(kù),將庫(kù)中的模塊拖拽到建模區(qū)域中,進(jìn)行相關(guān)模塊的互相連接組合,連接好各個(gè)模塊的輸入和輸出端口。
第三步驟,對(duì)搭建的工作時(shí)序邏輯進(jìn)行離線仿真分析,利用上述工作時(shí)序模型進(jìn)行仿真,其中對(duì)外接口操作模塊,用Scope(示波器模塊)代替,查看工作時(shí)序仿真結(jié)果。
第四步驟,當(dāng)對(duì)搭建的工作時(shí)序邏輯進(jìn)行離線仿真分析的仿真結(jié)果正確時(shí),將離線仿真完成的模型進(jìn)行代碼編譯并下載到實(shí)時(shí)仿真系統(tǒng)中,本例利用HiGale實(shí)時(shí)仿真系統(tǒng)軟件監(jiān)控實(shí)時(shí)仿真結(jié)果,所運(yùn)行得到的結(jié)果曲線與離線仿真曲線的工作時(shí)序邏輯吻合。
如圖3所示,為本發(fā)明提供的一種工作時(shí)序的模擬仿真系統(tǒng)實(shí)施例1的結(jié)構(gòu)示意圖,所述系統(tǒng)可以包括:
模塊劃分單元301,用于基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),由于不同的系統(tǒng)具有不同的工作時(shí)序,因此,首先根據(jù)目標(biāo)工作時(shí)序的功能進(jìn)行分析,主要是分析工作時(shí)序并考慮用什么算法或流程劃分為具體特定功能的模塊。不同系統(tǒng),其工作時(shí)序雖然不相同,但主要包括以下模塊:狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊、接口操作模塊,因此需要根據(jù)將要模擬的工作時(shí)序功能進(jìn)行模塊劃分。
工作時(shí)序模型搭建單元302,用于在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型;
在Simulink等仿真建模環(huán)境下,根據(jù)劃分得到的模塊搭建工作時(shí)序模型。
離線仿真分析單元303,用于在數(shù)字仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行離線仿真分析;
在數(shù)字仿真環(huán)境下,對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,以確保工作時(shí)序的正確。
判斷單元304,用于判斷離線仿真分析結(jié)果是否正確;
對(duì)離線仿真輸出的分析結(jié)果進(jìn)行判斷。
實(shí)時(shí)仿真分析單元305,用于當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析。
當(dāng)判斷離線仿真輸出的分析結(jié)果正確時(shí),進(jìn)一步在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行仿真分析。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),首先基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序,然后在仿真建模環(huán)境下,基于模塊劃分得到的模塊搭建工作時(shí)序模型,然后在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,然后判斷離線仿真分析結(jié)果是否正確,當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的所述工作時(shí)序模型進(jìn)行仿真分析,通過(guò)搭建工作時(shí)序模型,下載實(shí)時(shí)仿真計(jì)算機(jī),可以實(shí)現(xiàn)通用化的工作時(shí)序模擬和驗(yàn)證,進(jìn)而降低了工作時(shí)序模擬仿真的成本。
如圖4所示,為本發(fā)明提供的一種工作時(shí)序的模擬仿真系統(tǒng)實(shí)施例2的結(jié)構(gòu)示意圖,所述系統(tǒng)可以包括:
模塊劃分單元401,用于基于目標(biāo)工作時(shí)序的功能進(jìn)行模塊劃分,其中,目標(biāo)工作時(shí)序?yàn)榇M仿真的工作時(shí)序;
當(dāng)需要對(duì)系統(tǒng)的工作時(shí)序進(jìn)行模擬仿真時(shí),由于不同的系統(tǒng)具有不同的工作時(shí)序,因此,首先根據(jù)目標(biāo)工作時(shí)序的功能進(jìn)行分析,主要是分析工作時(shí)序并考慮用什么算法或流程劃分為具體特定功能的模塊。不同系統(tǒng),其工作時(shí)序雖然不相同,但主要包括以下模塊:狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊、接口操作模塊,因此需要根據(jù)將要模擬的工作時(shí)序功能進(jìn)行模塊劃分。
工作時(shí)序模型搭建單元402,用于使用Simulink模塊庫(kù)中的模塊搭建狀態(tài)滿足條件判斷模塊,使用Simulink模塊庫(kù)中的時(shí)間計(jì)數(shù)器模塊搭建時(shí)間等待模塊,對(duì)需要賦值的變量進(jìn)行賦值操作搭建賦值模塊,使用Simulink模塊庫(kù)中的對(duì)外接口模型搭建接口操作模塊,基于狀態(tài)滿足條件判斷模塊、時(shí)間等待模塊、賦值模塊和接口操作模塊搭建工作時(shí)序模型;
在Simulink等仿真建模環(huán)境下,根據(jù)劃分的模塊搭建工作時(shí)序模型。對(duì)于狀態(tài)滿足條件判斷模塊,直接采用判斷模塊實(shí)現(xiàn),例如使用Simulink中的Switch、If Action Subsystem等模塊搭建,也可以使用C語(yǔ)言編寫S函數(shù)實(shí)現(xiàn);對(duì)于時(shí)間等待模塊,則需要通過(guò)搭建時(shí)間計(jì)數(shù)器模塊實(shí)現(xiàn);對(duì)于賦值模塊,可以直接對(duì)所要賦值的變量進(jìn)行賦值操作;對(duì)于接口操作模塊,則需要將對(duì)外接口模型集成到工作時(shí)序模塊中。
離線仿真分析單元403,用于在數(shù)字仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯;
在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,以確保工作時(shí)序的正確,具體為在數(shù)字仿真環(huán)境下如Simulink等仿真環(huán)境下利用查看軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯。由于工作時(shí)序比較復(fù)雜,尤其是涉及到接口實(shí)物設(shè)備時(shí),直接進(jìn)行連接實(shí)物設(shè)備的仿真試驗(yàn),出現(xiàn)問(wèn)題往往不方便定位問(wèn)題,因此需要先在數(shù)字仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行離線仿真分析,此時(shí),對(duì)于對(duì)外接口操作模塊,可以先用數(shù)字接口模型代替,如果對(duì)外接口是輸入接口,則用Simulink下的Constant(常值模塊)等Sources(輸入源)模塊代替,如果對(duì)外接口是輸出接口,則用Scope(示波器模塊)等Sinks(接收器)模塊代替,以便能夠在離線仿真下查看工作時(shí)序仿真結(jié)果。
判斷單元404,用于判斷時(shí)序曲線的輸出值是否符合預(yù)設(shè)期望值,當(dāng)時(shí)序曲線的輸出值符合預(yù)設(shè)期望值時(shí),判斷離線仿真分析結(jié)果正確;
實(shí)時(shí)仿真分析單元405,用于當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致,輸出分析結(jié)果。
當(dāng)離線仿真分析結(jié)果正確時(shí),在實(shí)時(shí)仿真環(huán)境下對(duì)搭建的工作時(shí)序模型進(jìn)行仿真分析,即在實(shí)時(shí)仿真環(huán)境下利用查看上位機(jī)監(jiān)控軟件繪制的以時(shí)間為X軸的時(shí)序曲線,分析時(shí)序邏輯是否與離線仿真時(shí)的曲線一致。工程應(yīng)用中,先進(jìn)行數(shù)學(xué)仿真(或叫離線仿真),而后將這個(gè)時(shí)序用到實(shí)際應(yīng)用中,即用在實(shí)時(shí)仿真中,下載到實(shí)時(shí)仿真機(jī)中,通過(guò)硬件接口與其他設(shè)備進(jìn)行通信,用這種時(shí)序控制其他設(shè)備。
下面以某火控系統(tǒng)的工作時(shí)序模擬為例來(lái)進(jìn)行說(shuō)明。
某火控系統(tǒng)的工作時(shí)序模擬主要是必須按照固定的順序執(zhí)行各個(gè)流程,也就是說(shuō)只有上一個(gè)流程運(yùn)行成功后,才可以進(jìn)行下一個(gè)流程的運(yùn)行。
第一個(gè)要運(yùn)行的是初始化流程(模型中為初始化模塊),然后依次為機(jī)彈握手流程(模型中為握手模塊)、數(shù)據(jù)裝載流程(模型中為裝載模塊)、傳遞對(duì)準(zhǔn)流程(模型中為傳遞對(duì)準(zhǔn)模塊)、投放允許流程(模型中為投放允許模塊)、熱電池激活流程(模型中為電源激活模塊)和投放流程(模型中為投放模塊)。各個(gè)流程都是建立在模型的使能子系統(tǒng)中,流程主要涉及了以太網(wǎng)通信、串口通信、1553B通信和DIO板卡輸出,輸出的信號(hào)為載機(jī)電源和彈上熱電池的上下電控制指令和相關(guān)流程執(zhí)行成功是否。
對(duì)照上述實(shí)現(xiàn)過(guò)程的步驟進(jìn)行實(shí)現(xiàn),如下:
第一個(gè)步驟,工作時(shí)序功能模塊劃分如下(不同的系統(tǒng)由于時(shí)序邏輯不同,不可能包含所有的功能模塊劃分,如可能不包括時(shí)間等待模塊):
狀態(tài)滿足條件判斷模塊,比如“==1模塊”(即,確定輸入是否等于常數(shù)1,如果等于輸出值1,如果不等于輸出值為0),“==2模塊”(即,確定輸入是否等于常數(shù)2,如果等于輸出值1,如果不等于輸出值為0)、“AND模塊”(即,邏輯操作與模塊,如果所有輸入都為真,那模塊的輸出則為真,否則為假)等,當(dāng)條件滿足時(shí),判斷輸出接口是0或1;
賦值模塊,比如初始化子系統(tǒng)中的模塊,當(dāng)使能運(yùn)行后會(huì)將相關(guān)的常值賦到輸出接口;
接口操作模塊,如“PXI 6509DO”模塊,即為數(shù)字輸入/輸出板卡的DO輸出驅(qū)動(dòng)或輸出接口操作模塊。
第二步驟,搭建工作時(shí)序模型,即打開(kāi)建模仿真軟件(此例中為Simulink),找到Simulink模塊庫(kù),將庫(kù)中的模塊拖拽到建模區(qū)域中,進(jìn)行相關(guān)模塊的互相連接組合,連接好各個(gè)模塊的輸入和輸出端口。
第三步驟,對(duì)搭建的工作時(shí)序邏輯進(jìn)行離線仿真分析,利用上述工作時(shí)序模型進(jìn)行仿真,其中對(duì)外接口操作模塊,用Scope(示波器模塊)代替,查看工作時(shí)序仿真結(jié)果。
第四步驟,當(dāng)對(duì)搭建的工作時(shí)序邏輯進(jìn)行離線仿真分析的仿真結(jié)果正確時(shí),將離線仿真完成的模型進(jìn)行代碼編譯并下載到實(shí)時(shí)仿真系統(tǒng)中,本例利用HiGale實(shí)時(shí)仿真系統(tǒng)軟件監(jiān)控實(shí)時(shí)仿真結(jié)果,所運(yùn)行得到的結(jié)果曲線與離線仿真曲線的時(shí)序邏輯吻合。
本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。