徐 威,蘇東海
(沈陽工業(yè)大學(xué)機械工程學(xué)院,遼寧 沈陽 110870)
液壓伺服系統(tǒng)被廣泛地應(yīng)用于各種工業(yè)控制領(lǐng)域[1-3],通常情況下,液壓伺服系統(tǒng)需要進行校正才能夠使用,這個校正器也就是控制器。因而,液壓伺服系統(tǒng)控制器的設(shè)計,是液壓伺服系統(tǒng)設(shè)計的重要組成部分,有時甚至起著決定性的作用[4]??刂破饕话愣紟в幸恍Q定其控制性能的參數(shù),如PID控制器的比例、積分和微分參數(shù)[5]以及模糊控制器的量化因子等[6]。這些參數(shù)需要經(jīng)過試驗性調(diào)整,也就是所謂的參數(shù)整定,才能投產(chǎn)使用。這個參數(shù)整定過程,需要在生產(chǎn)現(xiàn)場或者借助仿真手段進行,一般情況下需要經(jīng)過反復(fù)調(diào)試,才能夠最終確定。但這2種參數(shù)整定方法,都存在一定的弊端。前者的參數(shù)整定過程存在一定的安全隱患,受許多現(xiàn)場條件的限制(如效率、成本和安全性等),有時甚至根本無法開展;后者需要限制在一定的軟件環(huán)境下才能開展(如Amesim、MATLAB的Simulink環(huán)境下),整定后的控制算法需要移植到實際控制器中(如PLC、工控機)[7],才能在生產(chǎn)現(xiàn)場發(fā)揮控制作用,而這個移植過程,可能會帶來新的問題(如移植過程中出現(xiàn)錯誤,軟硬件不兼容、效率低下等),如果能夠直接用實物控制器進行參數(shù)整定,將直接提高液壓伺服控制系統(tǒng)控制器的設(shè)計效率和準確性。為了解決上述2種伺服控制器參數(shù)整定方法的弊端,半實物仿真技術(shù)應(yīng)運而生。
廣義的半實物仿真技術(shù),分為快速控制原型(rapid control prototype,RCP)和硬件在環(huán)(hardware-in-the-loop,HIL)仿真。本文將以基于Linux實時內(nèi)核的液壓伺服系統(tǒng)半實物仿真環(huán)境開發(fā)與驗證為研究對象,開展硬件在環(huán)半實物仿真相關(guān)理論和應(yīng)用技術(shù)的研究。
硬件在環(huán)半實物仿真是一項技術(shù)含量比較高的技術(shù),要想達到對實物控制器性能的全面仿真測試,涉及到的關(guān)鍵技術(shù)包括:被控對象的數(shù)學(xué)仿真模型、仿真模型的數(shù)值求解算法、實時操作系統(tǒng)、數(shù)字量和模擬量的輸入輸出接口等內(nèi)容。
事實上,商業(yè)領(lǐng)域內(nèi)已經(jīng)成功開發(fā)了多套半實物仿真系統(tǒng),包括dSPACE、xPC、LabVIEW RT、Opal-R、NI Veristand和Simulation WorkBench等。但上述軟硬件系統(tǒng)的采購價格過于昂貴。本文的目的在于研究一種相對廉價而又不失可行性的接近工業(yè)級的半實物仿真系統(tǒng)的技術(shù)方案,使液壓伺服系統(tǒng)的實物控制器能在相對廉價的環(huán)境下進行半實物仿真測試,為科學(xué)研究或者工業(yè)級的應(yīng)用探索一條可行的途徑。
實時性是硬件在環(huán)半實物仿真的必要前提。在仿真回路中接入實時控制器,必須保證仿真過程實時運行,即仿真模型時間標尺和自然時間標尺相似,這樣才能驗證控制器對實物系統(tǒng)動態(tài)特性是否能夠正確有效的響應(yīng)。一般情況下,這需要一整套軟硬件環(huán)境的支持,才能實現(xiàn)高精度的實時性。從軟件的角度看,這通常需要實時操作系統(tǒng)的參與,但目前市面上流行的商用實時操作系統(tǒng)[8]價格昂貴,這再次拉高了液壓伺服系統(tǒng)半實物仿真的成本。為了降低半實物仿真系統(tǒng)的應(yīng)用門檻,本文介紹一種基于Linux(Ubuntu)操作系統(tǒng)加Preempt_RT(搶占式實時內(nèi)核)補丁的實時操作系統(tǒng)實現(xiàn)方案。由于Linux操作系統(tǒng)及其Preempt_RT補丁是公開源碼的操作系統(tǒng),可以在遵守開源協(xié)議(GNU)的條件下進行使用、編譯和再發(fā)布,任何人都可以免費使用,因而極大地降低了實時操作系統(tǒng)的實現(xiàn)成本。
硬件在環(huán)半實物仿真的核心思想在于用安裝有實時操作系統(tǒng)的計算機模擬實物被控對象(稱為仿真計算機),將仿真計算機與實物控制器連接起來完成仿真試驗。因此,仿真計算機必須具備與實物控制器之間的接口。同樣出于成本和效率的因素,選用市場上相對廉價又不失精度的數(shù)據(jù)采集卡是一套行之有效的方案??紤]到實時操作系統(tǒng)已經(jīng)選定為Linux系統(tǒng),因此,本文選用帶有Linux驅(qū)動的研華數(shù)據(jù)采集卡作為仿真計算機的對外接口硬件。這種方案既兼顧了操作系統(tǒng)對硬件驅(qū)動的要求,又保證了成本和精度的可控。
描述真實物理系統(tǒng)的仿真模型本質(zhì)上是1組一階微分方程或代數(shù)方程,而仿真真實物理系統(tǒng)的動態(tài)特性其實就是求解這些微分方程或代數(shù)方程,這就涉及到數(shù)值求解算法。同樣出于成本和效率的考慮,本文選用GNU科學(xué)庫(GNU scientific library,GSL)作為微分方程數(shù)值求解算法庫。該軟件在GNU通用公共許可證下是免費的,在保證本文開發(fā)的半實物仿真系統(tǒng)穩(wěn)定性的前提下,進一步降低了開發(fā)成本,同時又保證了穩(wěn)定性和可用性。
本文要開發(fā)的半實物仿真系統(tǒng),是以液壓伺服系統(tǒng)為仿真對象的半實物仿真系統(tǒng),因而液壓伺服系統(tǒng)的數(shù)學(xué)模型也是半實物仿真系統(tǒng)的重要組成部分。本文以閥控缸系統(tǒng)為例,介紹所開發(fā)的液壓伺服系統(tǒng)仿真模型的建模方法。
閥控缸系統(tǒng)是液壓伺服系統(tǒng)的典型代表,其數(shù)學(xué)模型集合了流體力學(xué)中油液的彈性模型、孔口流量公式等基礎(chǔ)模型,再加上伺服閥的動態(tài)特性方程式,共同組成了高階、非線性的微分方程組。閥控缸系統(tǒng)的原理如圖1所示。圖1中,ps和pt分別為系統(tǒng)的供油壓力和回油壓力;p1和p2分別為液壓缸無桿腔和有桿腔的壓力;xv為伺服閥芯的位移;1、2、3和4分別為伺服閥的4個節(jié)流口;y為液壓缸的位移。
圖1 閥控缸系統(tǒng)原理
(1)
m為外負載質(zhì)量;A1、A2為液壓缸無桿腔、有桿腔面積;b為外負載的粘性阻尼系數(shù);FL為外負載力;K為油液的彈性模量;V01、V02為管道至液壓缸之間的初始容積;ωv為伺服閥的固有頻率;ζv為伺服閥的阻尼比;ksp為伺服閥的增益。
值得注意的是,式(1)中的Q1和Q2為考慮了孔口流量公式非線性特性的代數(shù)方程,即
(2)
其中
(3)
Cdmax為最大孔口流量系數(shù);dx為伺服閥直徑;Δp為節(jié)流口前后壓力差;ρ為油液密度;υ為油液的運動粘度;λc為臨界雷諾數(shù)。
2.2.1 總體架構(gòu)
本文的半實物仿真系統(tǒng)架構(gòu)如圖2所示。
圖2 硬件在環(huán)仿真系統(tǒng)軟硬件架構(gòu)
該硬件在環(huán)仿真系統(tǒng)的硬件環(huán)境是搭建在研盛Intel/NUC工控主板MINI-ITX工業(yè)PC上的。數(shù)據(jù)采集卡選擇的是研華USB-5820、USB-5817和USB-4704。做出以上選擇的原因不僅是上述數(shù)據(jù)采集卡采集精度高(16位),而且是USB3.0總線,可以同時滿足半實物仿真系統(tǒng)對便攜性、熱插拔性、可擴展性、采集速率和采集精度的要求。
2.2.2 硬件
選擇研華數(shù)據(jù)采集卡有3個原因:合理的價位、包含Linux系統(tǒng)驅(qū)動、用C++封裝的可進行底層I/O操作的biodaq庫。上述優(yōu)勢共同保證了本文所開發(fā)的基于Linux實時內(nèi)核的硬件在環(huán)仿真系統(tǒng)的經(jīng)濟性和可行性。
USB-5817提供4條單端模擬量輸入通道,最高允許電壓為±10 V,最大電流為20 mA。USB-5820提供2條模擬量輸出通道,最高允許電壓為±10 V,最大允許電流為20 mA。USB-4704數(shù)據(jù)采集卡提供2條12位模擬量輸出通道,4條11位模擬量輸入通道,8條隔離數(shù)字輸入輸出,TTL電平。
在數(shù)據(jù)采集卡和實物控制器之間有可能出現(xiàn)電平不匹配的問題(包括模擬量和數(shù)字量)。這時,可以在數(shù)據(jù)采集卡的數(shù)字I/O口和實物控制器的數(shù)字I/O口之間添加光耦進行電平轉(zhuǎn)化。如果數(shù)據(jù)采集卡和實物控制器之間模擬量的電壓值不匹配,可以在兩者之間添加放大器。
2.2.3 軟件
本硬件在環(huán)仿真系統(tǒng)的仿真模型采用C語言編寫,如前文所述,動態(tài)系統(tǒng)的仿真模型以1組一階微分方程組來進行描述。微分方程組的求解算法利用C語言調(diào)用開源科學(xué)數(shù)值算法庫(GSL)實現(xiàn)。
值得一提的是,半實物仿真過程中的定時器的性能決定了半實物仿真系統(tǒng)的性能。借助Linux RT Preempt向?qū)9],在Linux RT Preempt環(huán)境下,高精度定時器的實現(xiàn)方式要遵循下述規(guī)則:
a.實時調(diào)度和優(yōu)先級。
b.內(nèi)存鎖定。鎖定調(diào)用進程所有映射到地址空間的頁面,防止該內(nèi)存被分頁到交換區(qū)。
c.限制處理器的省電狀態(tài)和狀態(tài)轉(zhuǎn)換。為了防止系統(tǒng)進入省電狀態(tài)并提供最快的空閑狀態(tài)時間,內(nèi)核用處理器引導(dǎo)。選取max_cstate=1和idle=poll選項。
d.禁用X窗口服務(wù)器和網(wǎng)絡(luò)接口。
只要遵循上述規(guī)則,就可以保證硬件在環(huán)仿真系統(tǒng)的實時性能和準確性。
將以上軟硬件技術(shù)相結(jié)合,搭建的硬件在環(huán)仿真試驗系統(tǒng)的實物如圖3所示。
圖3 硬件在環(huán)仿真試驗系統(tǒng)實物
硬件在環(huán)仿真試驗驗證的關(guān)鍵,在于在高負荷仿真計算的情況下系統(tǒng)的實時性能。
為了驗證本文系統(tǒng)的性能,設(shè)計了2類試驗。第1類試驗為實時性能驗證,單純驗證實時系統(tǒng)的定時器精度;第2類試驗為全模型性能驗證,以6階閥控缸非線性液壓伺服系統(tǒng)為硬件在環(huán)仿真對象,驗證平臺在帶有計算負荷情況下的實時性能。
為了對硬件在環(huán)仿真系統(tǒng)實時性這個關(guān)鍵性能進行驗證,設(shè)計了方波發(fā)生試驗和正弦波發(fā)生試驗,分別在Linux實時系統(tǒng)和Windows10(非實時)系統(tǒng)下進行,并用示波器觀察所發(fā)生波形的周期是否準確,比較2種操作系統(tǒng)實時性能的優(yōu)劣。試驗結(jié)果如表1和表2所示。
表1 Windows系統(tǒng)實時性試驗結(jié)果
表2 帶實時內(nèi)核Linux系統(tǒng)實時性試驗結(jié)果
表1中的聯(lián)合仿真是指在Windows下,利用Amesim仿真軟件與C語言聯(lián)合實現(xiàn)的硬件在環(huán)仿真。
由表1和表2可以知道:無論是Windows還是Linux實時內(nèi)核情況下,多線程的定時器精度都要優(yōu)于單線程的定時器精度;同等條件下,Linux實時內(nèi)核的定時器精度,要遠優(yōu)于Windows的定時器精度。在Linux實時內(nèi)核的情況下,誤差是以幾十微秒至幾百微秒計的(取決于生成函數(shù)的總周期),相對定時誤差小于2%。證明本文提出的Liunx實時內(nèi)核方案滿足硬件在環(huán)半實物仿真對定時器的要求。
全模型驗證采用經(jīng)典的閥控缸系統(tǒng),在本文所開發(fā)的硬件在環(huán)仿真平臺上進行仿真試驗。
閥控缸系統(tǒng)是6階非線性微分方程,可以在一定程度上驗證,在對高階非線性微分方程進行數(shù)值求解的計算負荷作用下,系統(tǒng)的動態(tài)特性的仿真結(jié)果是否會受到影響。為了驗證硬件在環(huán)仿真的正確性,將硬件在環(huán)仿真的仿真結(jié)果和非半實物仿真(Amesim仿真軟件)的仿真結(jié)果進行對比,如果曲線完全相同,則證明硬件在環(huán)仿真的正確性。但是,這首先要求二者的仿真參數(shù)必須一致,參數(shù)一致的情況下,才有可能達到仿真結(jié)果的一致,才有可能對實時性能進行驗證。全模型性能驗證的關(guān)鍵參數(shù)如表3所示。
表3 全模型驗證主要參數(shù)
在表3的參數(shù)下,分別在Amesim仿真軟件和本文所開發(fā)的硬件在環(huán)仿真環(huán)境下進行仿真運行,采集仿真時間0~5 s的數(shù)據(jù)進行記錄,生成的曲線如圖4所示。
圖4 系統(tǒng)階躍響應(yīng)曲線
將表3中PID控制器的比例、積分和微分系數(shù)修改為300、100和50時,系統(tǒng)的階躍響應(yīng)曲線如圖5所示。
圖5 修改PID控制器參數(shù)后的階躍響應(yīng)曲線
從圖4和圖5可以看出,在相同的階躍信號作用下,Amesim仿真與HIL仿真的響應(yīng)曲線幾乎完全相同。表明硬件在環(huán)仿真系統(tǒng)在實物控制器的參與下,所得到的控制響應(yīng)曲線沒有發(fā)生變形,本文系統(tǒng)從技術(shù)上是切實可行的。
通過以上方法,就可以在硬件在環(huán)仿真的過程中調(diào)整控制器的參數(shù),安全高效。使用實物控制器進行參數(shù)調(diào)試,整定好參數(shù)的控制器可以直接在生產(chǎn)現(xiàn)場應(yīng)用,從而提高了控制器的開發(fā)效率。
本文從實用性和經(jīng)濟性出發(fā),提出了一種利用開源操作系統(tǒng)加實時內(nèi)核補丁作為平臺、研華數(shù)據(jù)采集卡作為仿真器接口的硬件在環(huán)仿真系統(tǒng)方案。通過在所開發(fā)的仿真平臺上,進行周期函數(shù)生成以及閥控缸系統(tǒng)PID控制器階躍響應(yīng)輸出試驗,證明了本文系統(tǒng)技術(shù)上是可行的,在一定程度上能夠輔助液壓伺服系統(tǒng)控制器的設(shè)計以及參數(shù)整定工作,具備一定程度上在工業(yè)領(lǐng)域中應(yīng)用的條件。另外,本文所提出的液壓伺服系統(tǒng)的仿真模型的建立方法,也為液壓系統(tǒng)硬件在環(huán)仿真模型的建立,提供了一種可行的方案。