一種程序仿真測(cè)試方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng)仿真領(lǐng)域,尤其涉及一種程序仿真測(cè)試方法及系統(tǒng)。
【背景技術(shù)】
[0002]嵌入式程序是應(yīng)用到特定領(lǐng)域完成對(duì)應(yīng)功能的專用程序,程序需借助上位機(jī)的交叉編譯器生成嵌入式裝置可執(zhí)行目標(biāo)文件,通過網(wǎng)絡(luò)或串口下載到目標(biāo)系統(tǒng)上運(yùn)行。軟件調(diào)試時(shí),根據(jù)嵌入式裝置的輔助硬件輸出信息查詢相關(guān)數(shù)據(jù)。在實(shí)時(shí)調(diào)試之前需依賴具體目標(biāo)系統(tǒng)環(huán)境,搭建硬件裝置,裝置在實(shí)時(shí)運(yùn)行過程中,無法及時(shí)獲取程序運(yùn)行的上下文環(huán)境信息,調(diào)試難度大,程序的問題定位存在較大困難。
[0003]另外,在電力系統(tǒng)領(lǐng)域,實(shí)時(shí)仿真通過實(shí)時(shí)數(shù)字仿真儀(Real Time DigitalSimulator,RTDS)進(jìn)行,非實(shí)時(shí)仿真主要用電磁暫態(tài)仿真軟件(Power Systems ComputerAided Design,PSCAD)進(jìn)行。而實(shí)際的工業(yè)控制領(lǐng)域,通常由上百臺(tái)嵌入式裝置協(xié)同控制,在工程出廠前,如果等所有裝置生產(chǎn)完畢,再搭建實(shí)際系統(tǒng)驗(yàn)證,存在開發(fā)周期長(zhǎng)的問題。即使在現(xiàn)場(chǎng),對(duì)于已經(jīng)實(shí)際運(yùn)行的系統(tǒng),不宜直接構(gòu)建故障工況,也需要模擬相關(guān)輸入數(shù)據(jù),進(jìn)行邏輯功能驗(yàn)證測(cè)試。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例期望提供一種程序仿真測(cè)試方法及系統(tǒng),能夠通過以可視化方式搭建仿真應(yīng)用程序、調(diào)試仿真,加快應(yīng)用程序的開發(fā)、驗(yàn)證、測(cè)試效率。
[0005]為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0006]本發(fā)明實(shí)施例提供一種程序仿真測(cè)試方法,所述方法包括:
[0007]基于可視化編程軟件生成仿真程序;
[0008]根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;
[0009]將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn);
[0010]運(yùn)行所述仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試。
[0011 ]上述方案中,所述方法還包括:
[0012]在運(yùn)行所述仿真進(jìn)程節(jié)點(diǎn)的過程中將所述仿真程序中的變量數(shù)據(jù)顯示在圖形頁面上。
[0013]上述方案中,所述將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn),包括:
[0014]對(duì)所述仿真程序進(jìn)行代碼編譯形成可執(zhí)行代碼;
[0015]利用所述可執(zhí)行代碼對(duì)所述各仿真組件混合編譯,得到上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn)。
[0016]上述方案中,在對(duì)所述仿真程序進(jìn)行代碼編譯形成可執(zhí)行代碼之后,所述方法還包括:
[0017]鏈接不同系統(tǒng)對(duì)應(yīng)的系統(tǒng)程序庫對(duì)所述可執(zhí)行代碼進(jìn)行編譯,形成在所述不同系統(tǒng)上運(yùn)行的目標(biāo)文件。
[0018]本發(fā)明實(shí)施例還提供一種程序仿真測(cè)試方法,所述方法包括:
[0019]基于可視化編程軟件生成仿真程序;
[0020]根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;
[0021]根據(jù)應(yīng)用程序規(guī)模和操作系統(tǒng)結(jié)構(gòu),將所述仿真程序劃分為N個(gè)仿真進(jìn)程;
[0022]通過分別對(duì)所述N個(gè)仿真進(jìn)程進(jìn)行代碼編譯的方式將所述各仿真組件混合編譯為M個(gè)上位機(jī)上可運(yùn)行的N個(gè)仿真進(jìn)程節(jié)點(diǎn);
[0023]分別在對(duì)應(yīng)的M個(gè)上位機(jī)上運(yùn)行所述N個(gè)仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試;
[0024]其中,N為大于I的自然數(shù),M為大于等于I的自然數(shù),且M小于等于N。
[0025]上述方案中,當(dāng)所述M等于I時(shí),所述N個(gè)仿真進(jìn)程節(jié)點(diǎn)之間采用傳輸控制協(xié)議TCP報(bào)文的形式交互數(shù)據(jù);
[0026]當(dāng)所述M大于I時(shí),所述N個(gè)仿真進(jìn)程節(jié)點(diǎn)之間采用組播方式發(fā)送TCP報(bào)文的形式交互數(shù)據(jù)。
[0027]本發(fā)明實(shí)施例還提供一種程序仿真測(cè)試系統(tǒng),所述系統(tǒng)包括仿真服務(wù)平臺(tái)、編譯器和上位機(jī);
[0028]所述仿真服務(wù)平臺(tái),用于基于可視化編程軟件生成仿真程序;根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;
[0029]所述編譯器,用于將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn);
[0030]所述上位機(jī),用于運(yùn)行所述仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試。
[0031 ] 上述方案中,所述仿真服務(wù)平臺(tái),還用于將所述仿真程序中的變量數(shù)據(jù)顯示在圖形頁面上。
[0032]上述方案中,所述編譯器包括代碼生成組件和混合編譯組件;其中,
[0033]所述代碼生成組件,用于對(duì)所述仿真程序進(jìn)行代碼編譯形成可執(zhí)行代碼;
[0034]所述混合編譯組件,用于利用所述可執(zhí)行代碼對(duì)所述各仿真組件混合編譯,得到上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn)。
[0035]上述方案中,所述編譯器還包括代碼編譯組件;其中,
[0036]所述代碼編譯組件,用于鏈接不同系統(tǒng)對(duì)應(yīng)的系統(tǒng)程序庫對(duì)所述可執(zhí)行代碼進(jìn)行編譯,形成在所述不同系統(tǒng)上運(yùn)行的目標(biāo)文件。
[0037]本發(fā)明實(shí)施例又提供一種程序仿真測(cè)試系統(tǒng),所述系統(tǒng)包括:仿真服務(wù)平臺(tái)、編譯器和M個(gè)上位機(jī);
[0038]所述仿真服務(wù)平臺(tái),用于基于可視化編程軟件生成仿真程序;根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;根據(jù)應(yīng)用程序規(guī)模和操作系統(tǒng)結(jié)構(gòu),將所述仿真程序劃分為N個(gè)仿真進(jìn)程;
[0039]所述編譯器,用于通過分別對(duì)所述N個(gè)仿真進(jìn)程進(jìn)行代碼編譯的方式將所述各仿真組件混合編譯為M個(gè)上位機(jī)上可運(yùn)行的N個(gè)仿真進(jìn)程節(jié)點(diǎn);
[0040]所述上位機(jī),用于運(yùn)行所述N個(gè)仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試;
[0041]其中,N為大于I的自然數(shù),M為大于等于I的自然數(shù),且M小于等于N。
[0042]上述方案中,當(dāng)所述M等于I時(shí),所述N個(gè)仿真進(jìn)程節(jié)點(diǎn)之間采用傳輸控制協(xié)議TCP報(bào)文的形式交互數(shù)據(jù);
[0043]當(dāng)所述M大于I時(shí),所述N個(gè)仿真進(jìn)程節(jié)點(diǎn)之間采用組播方式發(fā)送TCP報(bào)文的形式交互數(shù)據(jù)。
[0044]本發(fā)明實(shí)施例所提供的程序仿真測(cè)試方法及系統(tǒng),基于可視化編程軟件生成仿真程序;根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn);運(yùn)行所述仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試。如此,能夠通過以可視化方式搭建仿真應(yīng)用程序、調(diào)試仿真,加快應(yīng)用程序的開發(fā)、驗(yàn)證、測(cè)試效率。
【附圖說明】
[0045]圖1為本發(fā)明實(shí)施例程序仿真測(cè)試方法的實(shí)現(xiàn)流程示意圖一;
[0046]圖2為本發(fā)明實(shí)施例嵌入式程序可視化仿真運(yùn)行架構(gòu)圖;
[0047]圖3為本發(fā)明實(shí)施例將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn)的實(shí)現(xiàn)流程示意圖;
[0048]圖4為本發(fā)明實(shí)施例程序仿真測(cè)試方法的實(shí)現(xiàn)流程示意圖二 ;
[0049]圖5為本發(fā)明實(shí)施例嵌入式程序單機(jī)多進(jìn)程的可視化仿真運(yùn)行架構(gòu)圖;
[0050]圖6為本發(fā)明實(shí)施例嵌入式程序多機(jī)多進(jìn)程的可視化仿真運(yùn)行架構(gòu)圖;
[0051]圖7為本發(fā)明實(shí)施例程序仿真測(cè)試系統(tǒng)的組成結(jié)構(gòu)示意圖一;
[0052]圖8為本發(fā)明實(shí)施例程序仿真測(cè)試系統(tǒng)的組成結(jié)構(gòu)示意圖二。
【具體實(shí)施方式】
[0053]在本發(fā)明實(shí)施例中,基于可視化編程軟件生成仿真程序;根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;將所述各仿真組件混合編譯為上位機(jī)可運(yùn)行的仿真進(jìn)程節(jié)點(diǎn);運(yùn)行所述仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試。
[0054]在本發(fā)明另一實(shí)施例中,基于可視化編程軟件生成仿真程序;根據(jù)所述仿真程序關(guān)聯(lián)各仿真組件之間的變量映射關(guān)系;根據(jù)應(yīng)用程序規(guī)模和操作系統(tǒng)結(jié)構(gòu),將所述仿真程序劃分為N個(gè)仿真進(jìn)程;通過分別對(duì)所述N個(gè)仿真進(jìn)程進(jìn)行代碼編譯的方式將所述各仿真組件混合編譯為M個(gè)上位機(jī)上可運(yùn)行的N個(gè)仿真進(jìn)程節(jié)點(diǎn);分別在對(duì)應(yīng)的M個(gè)上位機(jī)上運(yùn)行所述N個(gè)仿真進(jìn)程節(jié)點(diǎn),完成對(duì)所述仿真程序的仿真測(cè)試;其中,N為大于I的自然數(shù),M為大于等于I的自然數(shù),且M小于等于N。
[0055]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一