摘 要:為了研發(fā)更完善的牽引傳動系統(tǒng),需要先開發(fā)軟件設計平臺,具備軟件開發(fā)平臺,可以對牽引傳動系統(tǒng)加以優(yōu)化?;诖?,本文先研究了軟件開發(fā)平臺設計,后提出了開發(fā)平臺的優(yōu)化。通過牽引傳動系統(tǒng)軟件開發(fā)平臺的研發(fā),推動我國擁有自主知識產權傳動系統(tǒng)的設計,為高速動車組的應用提供基礎條件,為高速動車組運行提供保障。
關鍵詞:高速動車組;牽引傳動系統(tǒng);軟件開發(fā)平臺
引言:在我國高速動車組中,牽引傳動系統(tǒng)是其中最關鍵的技術,是動力系統(tǒng)的重要構成,通過轉換單向交流電為三相交流電,讓驅動牽引系統(tǒng)的電機運行,制動工況下,讓牽引電機工作處于發(fā)電機狀態(tài),節(jié)省了大量電能。因此,研究牽引傳動系統(tǒng)開發(fā)軟件平臺,有助于推動牽引傳動系統(tǒng)的完善,保證高速動車組的穩(wěn)定運行,并減少能源消耗。
一、高速動車組牽引傳動系統(tǒng)軟件開發(fā)平臺的設計
(一)開發(fā)平臺構成
開發(fā)平臺主要包括上位機開發(fā)環(huán)境以及下位機內核兩部分。上位機軟件開發(fā)使用功能圖連續(xù)編寫方式,連續(xù)功能作為一種圖形化編程語言,和功能塊圖的區(qū)別在于,可以展示隸屬資源以及任務,被工業(yè)控制工作中廣泛使用。應用軟件包括CFC文件,根據(jù)軟件功能對其劃分,方便于軟件進行調試以及維護。同時創(chuàng)建全局變量文件,用來對全局變量定義,全局變量包括時間類型、浮點類型、整型、字符串等多種。上位機軟件經(jīng)過編譯后形成代碼,在下位機中保存。
下位機使用x86CPU,使用QNX的操作系統(tǒng),該操作系統(tǒng)是搶占式硬實時操作系統(tǒng),可以保障任務被實時調度[1]。下位機周期任務對上位機軟件進行運行,對功能塊進行分配調度。下位機內核使用實時時鐘硬件作為調度周期,基礎調度周期依據(jù)任務周期值,經(jīng)過信號量,讓阻塞狀態(tài)任務轉換到就緒狀態(tài),保證實時進行任務。周期任務安排的優(yōu)先級別根據(jù)操作系統(tǒng)優(yōu)先級別實現(xiàn),保證對周期任務進行合理安排,保證任務具有較小抖動。啟動下位機內核后,先應用軟件在內存中,解釋器需要解釋執(zhí)行應用程序。上位機對平臺代碼進行編譯并不包含功能塊,只包括實例執(zhí)行。下位機內核包含功能塊代碼,執(zhí)行實例時,根據(jù)實例類型跳轉代碼入口,對功能塊代碼進行執(zhí)行,從而實現(xiàn)特殊功能。
(二)生成及執(zhí)行代碼
連續(xù)功能圖作為一種變成語言,生成執(zhí)行代碼將其轉換成IL語言,作為國際網(wǎng)絡標準中一種特定編程原因,是一種匯編語言,由指令構成。每條指令占據(jù)一行,操作符和操作數(shù)構成指令。用于調用功能塊、連接器以及全局變量等,CFC文件轉換成IL語言,按照IL語言生成代碼。編譯器按照功能塊順序轉換,讀取變量并使用LD進行替代,給全局變量和連接器賦值使用ST替代,功能塊使用CAL指令替代,使用JMP指令跳轉,將CFC1轉變?yōu)镮L語言。
轉換語言后,編譯器展開語法和詞法分析,轉變?yōu)闊o關代碼。無關代碼同IL語言相近,將ST指令和LD質量依據(jù)操作數(shù)細分,執(zhí)行指令時獲得操作數(shù)數(shù)據(jù)。代碼包含程序數(shù)據(jù)、代碼段以及實例數(shù)據(jù)等,代碼段屬于可執(zhí)行代碼,包含轉換后代碼。解釋器讀取代碼操作數(shù)和操作符,進行執(zhí)行。功能塊實例包括數(shù)據(jù)段,數(shù)據(jù)段保存實例全部變量值以及連接器。
上位機進行編譯時,無法獲得全局變量和絕對地址,由于平臺代碼段的地址關聯(lián)操作數(shù)是地址在程序數(shù)據(jù)以及實例數(shù)據(jù)的偏移量。下位機執(zhí)行時要依據(jù)程序數(shù)據(jù)偏移量,獲得數(shù)據(jù)段變量以及連接器所歸屬的功能塊實例數(shù)據(jù)以及類型。依照功能塊實例數(shù)據(jù)地址和功能塊偏移,獲取變量值以及連接器值。調用功能塊和訪問變量類似,代碼保存CAL指令和功能塊偏移量,讀取數(shù)據(jù)段偏移量功能塊類型,通過查找功能塊程序獲得函數(shù)入口地址,從而對功能塊代碼進行執(zhí)行。經(jīng)過逐條解釋代碼完成執(zhí)行無關代碼。CFC應用程序給出多任務順序,設定執(zhí)行順序是先CFC1、CFC2,執(zhí)行調度周期時,再執(zhí)行全部功能模塊。
(三)監(jiān)視調試功能
完成軟件編寫后,要先經(jīng)過測試和調試之后才能正式使用。測試功能塊代碼是經(jīng)過平臺開發(fā)環(huán)境進行。應用程序測試和調試要求完全正確的代碼。測試應用程序還需要。要強制設置變量值和連接器值,對變量和連接器展開全局觀察,要求在線讀寫連接器和變量。上位機保存全局變量和連接器CFC,數(shù)據(jù)段上出現(xiàn)偏移量上位機將信息傳遞給下位機。下位機內核審查需要讀寫絕對地址,讀寫結果使用以太網(wǎng)對上位機進行實時傳輸,完成測試調試軟件工作。
二、高速動車組牽引傳動系統(tǒng)軟件開發(fā)平臺的優(yōu)化
優(yōu)化數(shù)據(jù)傳遞效果,在輸出連接器向輸入連接器傳遞數(shù)據(jù)時,解釋器使用ST指令和LD指令實現(xiàn),經(jīng)過LD指令執(zhí)行讀取連接器數(shù)值,需要經(jīng)過數(shù)據(jù)段得到基地址以及偏移量,并在累加器上保存[2]。執(zhí)行ST指令,加工數(shù)據(jù)段基地址和偏移量寫入累加器和輸入連接器絕對地址,保證數(shù)據(jù)完整傳遞。傳遞數(shù)據(jù)要求解釋器可以多次讀取數(shù)據(jù)和代碼段。為了讓效率得到提升,需要將數(shù)據(jù)指令翻譯成TDD指令。執(zhí)行程序前先使用偏移量計算獲得絕對地址,經(jīng)過TDD指令,將數(shù)據(jù)從源地址傳遞給目標地址。TDD指令為無關代碼,要經(jīng)過解釋器實現(xiàn)解釋執(zhí)行,進而將TDD指令在內存中儲存,將指令翻譯到機器碼之后,執(zhí)行代碼,跳轉到代碼入口地址即可。
和傳遞數(shù)據(jù)類似,優(yōu)化功能塊函數(shù)要使用同等方法,調用功能塊執(zhí)行時向讀取代碼指令,查找功能塊保存,根據(jù)功能塊類型找到功能塊函數(shù)入口地址,跳轉函數(shù)入口地址。執(zhí)行程序前,向使用上述方法,計算出功能塊函數(shù)入口地址,使用C指令,調用函數(shù)。進一步翻譯C指令為機器碼。
結論:綜上所述,本文提出研發(fā)牽引傳動系統(tǒng)的軟件開發(fā)平臺,通過軟件開發(fā)平臺的設計和優(yōu)化,建設一套完善有序的軟件開發(fā)平臺,為傳動系統(tǒng)的開發(fā)和完善提供基礎。針對平臺代碼執(zhí)行提出將無關代碼轉變?yōu)橛嘘P代碼,優(yōu)化數(shù)據(jù)傳遞、調用函數(shù)以及執(zhí)行代碼方式,讓代碼執(zhí)行效率得到提升。通過對平臺的優(yōu)化,有效提升代碼執(zhí)行效率,為牽引傳動系統(tǒng)的開發(fā)以及調試提供平臺支持。
參考文獻:
[1]李英,侯紅學,王鐵成,等.高速動車組用大功率牽引集成單元的地面性能試驗研究[J].鐵道機車與動車,2018(07):40-42+44+8.
[2]田子思. 基于任務剖面的高速動車組牽引變流器功率器件壽命評估[D].西南交通大學,2018.
作者簡介:
周培慧(1983-),男,漢族,湖南株洲人,本科,助理工程師,研究方向:現(xiàn)從事軟件開發(fā)方面的工作.