李 龍
(西安航空職業(yè)技術(shù)學(xué)院 招生就業(yè)處,陜西 西安 710089)
控制系統(tǒng)工廠模擬器采用半實(shí)物仿真技術(shù),取代物理工廠的部分研究對象,通過連接到一個(gè)已實(shí)現(xiàn)的控制器,并能夠像真實(shí)工廠運(yùn)行。該方式消除了測試實(shí)際設(shè)備的費(fèi)用或危險(xiǎn),同時(shí)充分執(zhí)行所實(shí)現(xiàn)的控制器。對特定情況、產(chǎn)品或市場進(jìn)行了半實(shí)物測試模擬,控制系統(tǒng)模擬器提供了一個(gè)通用的框架,在此框架下,不同性質(zhì)的對象可以通過提供相關(guān)模型來進(jìn)行模擬??刂葡到y(tǒng)工廠模擬器是可擴(kuò)展的,因其用戶界面、工廠描述和物理界面可以輕松地更新或定制。半實(shí)物仿真是一種用于復(fù)雜嵌入式系統(tǒng)開發(fā)和測試的技術(shù),在HIL(Hardware-in-the-Loop)仿真中,系統(tǒng)由仿真部分和實(shí)體部分組成,即“半實(shí)物+實(shí)物”。大多數(shù)半實(shí)物仿真器都需要專門的設(shè)備或測試板才能運(yùn)行[1-3]。
控制系統(tǒng)工廠模擬器是在考慮到學(xué)術(shù)環(huán)境的情況下設(shè)計(jì)的。對于學(xué)生來說,將他們的設(shè)計(jì)作為物理控制器來實(shí)現(xiàn)是非常重要的,但是要測試這些控制器在物理目標(biāo)上的花費(fèi)是非常昂貴的??刂葡到y(tǒng)模擬裝置(Control System Plant Simulator,簡稱CSPS)可代替該設(shè)備,并為學(xué)生提供執(zhí)行結(jié)果,以監(jiān)測和確定其控制器設(shè)計(jì)的成功與否。由于低成本的目標(biāo),系統(tǒng)中的原型控制器由每個(gè)用戶(學(xué)生)單獨(dú)開發(fā)。這使學(xué)生能夠在不經(jīng)常使用有限或不可用的實(shí)驗(yàn)室設(shè)備的情況下操作控制器,并且達(dá)到對目標(biāo)模型的糾正。CSPS用來模擬許多不同種類的裝置,需要有一個(gè)較為靈活可變的前端,即圖形用戶界面。該界面可以被終端用戶和研發(fā)者按需求更換(通過標(biāo)準(zhǔn)的接口進(jìn)行變更)。
本文所研究的工作提供了一個(gè)低成本的柔性裝置模擬器,可用于開發(fā)數(shù)字控制器。此外,該模擬裝置在學(xué)術(shù)教學(xué)和科研環(huán)境中具有一定的應(yīng)用價(jià)值。數(shù)字控制器是一種控制系統(tǒng),使用數(shù)字計(jì)算機(jī)來控制被稱為“工廠”的主題系統(tǒng)。圖1所示為步進(jìn)電機(jī)控制系統(tǒng),步進(jìn)電機(jī)在軟盤驅(qū)動器中定位讀寫磁頭。所有的換向都必須由電機(jī)控制器在外部進(jìn)行處理,通常,電機(jī)和控制器的設(shè)計(jì)使電機(jī)可以保持在任何固定的位置,也可以以某種方式旋轉(zhuǎn)[4-8]。
圖1 步進(jìn)電機(jī)控制系統(tǒng)框圖
傳統(tǒng)的測試,稱為靜態(tài)測試,是通過提供已知的輸入和測量輸出來測試特定組件的功能。而為了讓產(chǎn)品更快地進(jìn)入市場,縮短設(shè)計(jì)周期,從而提出了動態(tài)測試,即在使用整個(gè)系統(tǒng)時(shí),不定期地對組件進(jìn)行測試,無論是真實(shí)的還是模擬的。出于成本和安全方面的考慮,采用實(shí)時(shí)硬件模擬系統(tǒng)的其余部分更傾向于在實(shí)際的系統(tǒng)中測試單個(gè)組件。與靜態(tài)測試相比,動態(tài)測試還包含更大范圍的測試條件,采用這種動態(tài)測試策略被稱為半實(shí)物仿真(HIL)。HIL是設(shè)計(jì)周期的集成部分,如圖2所示為汽車、航空和國防工業(yè)常見的嵌入式控制應(yīng)用程序的設(shè)計(jì)周期。
圖2 控制設(shè)計(jì)周期
控制設(shè)計(jì)周期由幾個(gè)不同的設(shè)計(jì)和測試階段組成。系統(tǒng)定義步驟記錄系統(tǒng)的需求;快速原型步驟包括開發(fā)原型控制器,以測試實(shí)際系統(tǒng)中的基本思想和概念。實(shí)際系統(tǒng)可以用軟件或軟硬件的組合來模擬,HIL測試的概念與快速原型相似,這部分系統(tǒng)在與真實(shí)系統(tǒng)的其他部分連接時(shí)進(jìn)行模擬。經(jīng)過設(shè)計(jì)原型和驗(yàn)證后,程序必須部署在目標(biāo)階段的最終生產(chǎn)控制器上;在目標(biāo)階段開發(fā)控制器之后,需要將其作為實(shí)際系統(tǒng)的一部分進(jìn)行測試。通常實(shí)際的系統(tǒng)是非常昂貴的,然后就必須在實(shí)際系統(tǒng)的模擬中測試控制器,以上描述的階段稱為HIL模擬。一旦控制器在HIL仿真階段表現(xiàn)良好,就具備了在實(shí)際系統(tǒng)上進(jìn)行測試的條件。
這種HIL系統(tǒng)需要使用硬件來生成和接收真實(shí)的信號,并使用軟件來模擬系統(tǒng)的動態(tài)。必須為應(yīng)用程序和集成到完整的HIL系統(tǒng)中選擇適當(dāng)?shù)慕M件,使用傳感器和執(zhí)行機(jī)構(gòu)接收和產(chǎn)生信號。使用一個(gè)處理單元來執(zhí)行模擬的計(jì)算;使用人機(jī)界面和開發(fā)機(jī)器進(jìn)行模擬;通常這臺機(jī)器用于兩個(gè)任務(wù),圖3為一個(gè)典型的HIL系統(tǒng)的架構(gòu)。
圖3 HIL系統(tǒng)的典型架構(gòu)
根據(jù)HIL系統(tǒng)的功能需求,設(shè)置的MATLAB控制流程圖如圖4所示,首先選擇串口并初始化串口設(shè)置,然后MATLAB根據(jù)用戶輸入情況將控制碼傳輸?shù)酱?,如果用戶關(guān)閉MATLAB GUI,則MATLAB禁用串口。
圖4 HIL仿真過程中MATLAB的控制流程圖
HIL模擬器由軟件控制器、傳遞信息的硬件部分和軟件工廠組成。在閉環(huán)硬件仿真中,MATLAB實(shí)時(shí)控制電機(jī)和驅(qū)動電子器件,電機(jī)控制器參數(shù)可在運(yùn)行時(shí)進(jìn)行修改,結(jié)果立即在MATLAB命令窗口中可視化。HILS是模擬(控制模型)和實(shí)驗(yàn)(電機(jī))部分的組合。圖5所示為步進(jìn)電機(jī)控制器總控界面,包含向上、向下、向前、向后、向后傾斜以及向前傾斜等功能。
圖5 步進(jìn)電機(jī)控制器總控界面
以向后傾斜為例,在MATLAB中執(zhí)行相關(guān)的算法,執(zhí)行界面如圖6所示。
圖6 向后傾斜控制執(zhí)行界面
本文的目標(biāo)是提供一個(gè)框架,在此框架下,已知的模型可以作為半實(shí)物模型系統(tǒng)的一部分進(jìn)行模擬,以幫助控制開發(fā)中的實(shí)驗(yàn)工作。通過讓用戶開發(fā)與真實(shí)系統(tǒng)相連的物理控制器來監(jiān)控設(shè)計(jì)是否合理。由于這樣的物理系統(tǒng)可能是昂貴的,也可能是危險(xiǎn)的,為此控制系統(tǒng)裝置模擬(CSPS)提供了一套應(yīng)用程序,模擬裝置的物理輸出,精確到用戶可以設(shè)計(jì)和開發(fā)控制器。該框架提供了許多簡化的封裝,最終用戶可以在這些封裝上附加自己的接口和數(shù)據(jù)獲取系統(tǒng)??傊?,該研究成功實(shí)現(xiàn)了目標(biāo),建立了一個(gè)可擴(kuò)展的裝置模擬框架。