基於simulink-realtime的數控係統 仿真與實驗(yàn)平台研究
2018-3-29 來(lái)源(yuán):上海交通大學 作者:蔡一天,奚學程,趙萬(wàn)生
摘要:提出一種(zhǒng)采(cǎi)用simulink-realtime構建數控係統仿真實驗平台(tái)的方法。首先,介紹(shào)了simulink一realtime的硬(yìng)件部分結構及其軟件部分原理與設置(zhì)。然後,詳述了基於simulink一realtime應用(yòng)程序的開發流程(chéng),並以一個單軸PID控製器(qì)的程序(xù)開發為例。最後,以對輪(lún)廓誤差控製(zhì)中典型的交叉禍合控製(zhì)器研究證明了所搭建的(de)仿真實驗平台對於研究(jiū)數控(kòng)技術(shù)的實用性。
關鍵詞:simulink-realtime;數控係統;實驗平台
數控係統(tǒng)作為(wéi)數控機床(chuáng)的(de)核心部分,其性能對於機床的加工精度和效率有著至關重要的影響。因此,研究先進的數控技術對於打破國外壟斷、提高(gāo)裝(zhuāng)備製造業水平有著重要意義。
但是,一般的商用數控係統往往是封閉的,這也意味著用戶無法知道其具體(tǐ)原理(lǐ),也不能對其進行修改。因此,部分學者采用由PMAC運動控製卡來實現底層運動控製、而(ér)自己(jǐ)開發上層軟件的方法,這雖然部分地解決了數控係統(tǒng)開放性不足的問題,但當需要研究底層(céng)運(yùn)動控製功能時,采用運動控製卡的方法仍使研究受到局限。此外,部分研究人員采用(yòng)自己開(kāi)發數控係統的方法,但耗(hào)時較長,且需把過多精(jīng)力投入(rù)到非核心技術的開發上}z-o。也有其他(tā)學者(zhě)采用開源數控係統(如LinuxCNC ),在此基礎上進行(háng)修改以符合自身要求[f410但這種方法需(xū)先對開源數控係統有一個較好的了解,前期耗費時(shí)間(jiān)長,且所有算法功(gōng)能都用C++語言(yán)實現,在算法(fǎ)實(shí)現上也需花費很(hěn)多精力。
本(běn)文利用M at1ab軟件中的simulink-realtime實現從模型設計仿真到算法實現的無縫對接。利(lì)用simulink-realtime由仿真模(mó)型自(zì)動生成C語言代碼的功能,使原來最費(fèi)時(shí)的算法實現階段(duàn)時間幾乎縮短為0。並以此為基(jī)礎,集成數控係統中常用的功能模塊,搭建一個開放的(de)數控技術仿真實驗平台。
1. Simulink-realtime簡(jiǎn)介
從核心功能上講,simulink一realtime是一(yī)組Mat1al)提供的幫助用戶從simulink模型快速創建實時程序(xù),並自動卜載到目(mù)標控製機的工具(jù)集。同時,它也包括了眾多的I/0硬件馭動,比如:模擬信號(hào)I/0、數字信號(hào)I/0、脈(mò)衝產生與接收、CAN總線、網絡通信等。
1.1 硬件係統結(jié)構
Simulink-realtime具體實現(xiàn)時的硬件體係結(jié)構見圖1。開發機(development computer)負責Matlab程序、simulink仿真模型的搭建,通過simulink-real-time提供的編譯器編譯後卜載到目標機中運行,之(zhī)後(hòu)開發(fā)機可實時調整(zhěng)程序中的參數,並監測和記錄程(chéng)序運行(háng)的信號。開發機一般為裝有Windows係統(tǒng)並有Matlab程序的 PC機。目標機往往(wǎng)也是PC機,當然也可以是如PC/104 , CompactPCI形式的工控機。而I/0硬件(jiàn)通常指通過PCI擴(kuò)展(zhǎn)槽連接(jiē)到目標機上(shàng)的各種I/0板卡,最(zuì)後通過這些I/0板卡控製真實的(de)物理部件。
圖1 simulink-realtime係統架(jià)構圖(tú)
在開發機和目標(biāo)機之間(jiān)可采用2種通信方式:RS-232和ethernet } RS-232方式隻(zhī)能以一台開發機對應一台目標機,但Ethernet方(fāng)式可支持一台開發機(jī)對應多台目標機。
這(zhè)是因為此時目標機和開發機之間是通過TCP/IP協議通信,兩者之間不(bú)是必須通過網線直接連接,完全可通過(guò)路由(yóu)器接通。因此(cǐ),ethernet的連接方式提供了更好(hǎo)的擴展性,且ether-net相對於RS-232通(tōng)信更加不易(yì)受幹擾,可(kě)支持長距離傳輸,數據傳輸速率快。因此,木文選用ether-net連接方(fāng)式。
此處的硬件I/0板卡需為Matlab公司支持的型號,因為隻有這(zhè)部分板卡(kǎ)Matlab裏的I/0 31}動庫才提供simulink block形式的(de)馭動。否則,需要用戶自己編(biān)寫硬件馭動,這會(huì)相當繁瑣。
1.2 軟件設置
從圖(tú)1可看出,如果要在目標機運行實時程序,需(xū)在目標機(jī)有一個實時操作係統。但這個實操作(zuò)係(xì)統並不是平時常見的如VxWorks,uc-os等,它是一(yī)個M atlal)公司(sī)提(tí)供的名為“simulink real-time kernel”的微型實時內核。因此,在目標機中不需由用戶預(yù)裝Windows或(huò)Linux等任何其他係統。要在目標機啟(qǐ)動simulink real-time kernel,有以卜4種方法:
(I) 從光盤設備啟動。從CD/DVD啟動,需用戶自己刻(kè)錄光盤,成木較高且不方便。
(2) 從移動盤啟(qǐ)動。從移動U盤或移動硬盤啟動,這時隻需通過Matlab提供的工(gōng)具製作啟動盤,然後(hòu)通過USB接入目標機即可。
(3) DOS loader啟動。這要求目標機(jī)有DOS啟動係統,且有其(qí)他諸多限製。
(4) 網絡啟動。把實(shí)時操作係統放在一(yī)個開發機上,當開發機檢測到目標機啟動時,通過網絡把操作係統相關數(shù)據(jù)傳輸到目標機,然後啟動(dòng)係統。該方法要求目標機的(de)Bioses支(zhī)持從網絡啟動。
上述方(fāng)法中,從移動盤啟動係統最為方便快捷且限製較小。因此,木文選取這種方法。
製作裝(zhuāng)有simulink real-time kernel微型實時內核的U盤(pán)可通過Matlal)提供的“simulink real-time explorer”工具實現。隻需在Matlab命令行中(zhōng)輸入"slrtexplr";在Target而板中設置如卜3個方而的屬性:
(1) 開發機到目標機的連接屬性(Host-to-Tar-get communication)。木文采用開發機目標機用(yòng)網線直接相連的方式,故(gù)連接方式選擇“TCP/IP"。目標機的相關網絡設置必須保證和開發機在同一個局域網中,即目標機的IP地址和開發機前3段必須相同(tóng),僅最後一段不同。且需注意開發(fā)機設(shè)為固定IP。
(2) 目標機屬性(Target settings )。主要是設置目標(biāo)機(jī)相關的屬性,如目標(biāo)機是否為(wéi)多核、是否為386/486體係架構等(děng)。
(3) 啟動配置(Boot configuration )。由於木文選用從U盤啟動(dòng)係統(tǒng),所以boot mode可(kě)選擇Remov-able Disk,然後就能創建啟動(dòng)盤。同時需特別注意設置目標(biāo)機的Bioses為優先從U盤啟動(dòng)係統,否則一般都默認從硬盤啟動係統。
1.3 應用程序開發(fā)
基於simulink一(yī)realtime開發實時應用程序都是采用“基於模(mó)型的設計”思想,即一(yī)以(yǐ)係統(tǒng)模型為基(jī)礎,用戶隻需建立相應的算法模型,而不需關(guān)心具體的算法轉化為實時(shí)程序的細節。其開發過程見圖2。
圖二 simulink-realtime 應用程序開(kāi)發(fā)流程
如(rú)本文的運動控製係統,需對(duì)這個軸設計PID控(kòng)製器以改善各軸的跟蹤性能。若交流伺服電機(jī)簡化為二階(jiē)模型,則(zé)帶PID控製器的係(xì)統模型(xíng)見圖3。
圖三 單軸PID控製器模型
現在要設計PID控製器,並在目標機中實現,因此需對上(shàng)述模型進行實時化。首先,實時程序並不支持一般(bān)的(de)Scope模(mó)塊,必須用simulink一realtime庫中專用的Scope。它支持實時數據顯示,或記錄數據到文件;另一方而,此時的傳遞函(hán)數1/(sz+3s+2)已用真實的物理係統代替,即交流伺服電機,所以傳遞函數(shù)模塊(kuài)可刪去。控製係統信號量和反(fǎn)饋信號需通過I/0板卡采集,因(yīn)此還需添加相應的硬件馭動(dòng)模塊(kuài)。同(tóng)時,由於采集到的反饋信(xìn)號為脈衝信號,需經過單位(wèi)轉換才能接入閉環,故在反饋處還需加入(rù)一個增益(yì)環節。假設此處采用的(de)I/0板卡為NI公司(sī)的PCI-6221,則(zé)係統模型經實時化(huà)改造後變為如圖4所(suǒ)示。
圖4 實時化改造後的單軸PID控製器模型
接下來,隻要接通開發機和目標機,編譯經(jīng)過(guò)實時化(huà)改造的模型(xíng),卜載到目標機(jī)就能在(zài)目標機運(yùn)行個PID控製器。這個編譯、下載、運行的過程隻(zhī)需簡單調用M atlal提供的命令或直接在GUI中操作即可。
最後,如需讀取記錄的數據,可調用相應命令把記錄(lù)的數據文件(jiàn)從目標機複製到開發機,然(rán)後讀取到相應變量中。比如卜列函數就可完成這個(gè)任務,其中(zhōng)t為包含目標機的(de)對(duì)象(xiàng),filename為需要複製(zhì)到開發機的數據記(jì)錄文件:
function scope_ core data=get target_ scope data(tg, filename)
SimulinkRealTime,copyFilcToHost (tg, file-name;
scopes data =SimulinkRealTime. utils. get-FilcScopeData(filename);
scopes c<)二一Iata=scope data. data(:,1);
end
由此可看出(chū),所有工作都是圍(wéi)繞係統模(mó)型展開,且用戶隻需集中精力(lì)於算法開發就好。
2、數控係統實驗平台設計
本文基於simulink-realtime搭建的數控係統實驗平台的硬件係統見圖5
圖5 實驗平台(tái)硬件係統示意圖(tú)
其電控部分就是基於圖1所述的結構,I/0板卡選用(yòng)NI公司的PCI6221,它包含兩路模擬輸出可控製電機,還(hái)自帶犯位計數器可作為電機編碼器的反饋。機械部分為(wéi)一個由滾珠絲杠傳(chuán)動的兩軸X-Y交流伺服平台(tái)。由於該平台把一個軸置於另個軸之上(shàng),這樣兩軸3動的質量不(bú)同,從而(ér)保證兩軸的動態特性(xìng)不匹配較明顯,更好地(dì)模擬了真實機床的情況。
在軟件方而,可劃分為如圖6所示的幾個模塊,各部(bù)分的功能如下:
(1)參數曲線生成(chéng)模塊。目前高級的數控係(xì)統多(duō)用NURBS曲(qǔ)線來表示參數曲線,此模塊完成NURBS曲線相關的操作。
(2)插補算法模塊。從參數曲線生成一係列的插補點,可根據需要采用不同的插補(bǔ)算法。
(3)速度規劃模(mó)塊。合理規劃運動速度(dù),可采用S型加減速等方法。
(4)模型(xíng)辨識模塊。這主要是(shì)為了(le)仿真(zhēn)方便,如上所述,simulink一realtime是以模型為核心的。若能辨識出係統模型,就能(néng)很方便地仿真(zhēn)相應的算法。
(5)基於繼(jì)電反饋的PID自整定模塊。單軸的PID控製器是最(zuì)基木的控製器,而繼電反饋法又是整定PID參(cān)數(shù)的優秀方法。
(6)輪廓誤差離線精確計算腳本(běn)。這(zhè)主要是為了研究輪廓誤差控(kòng)製等時驗證算法的效果。
(7)數據提取與存儲模塊。存儲數據,方便以後進一步處理。
圖6 實驗平台軟件部(bù)分模塊規劃
至此,數控係統實驗平(píng)台完成,可用該平台方(fāng)便地進行數控技術各方麵的研究。
3、輪廓控製仿真與實驗
木文以研究數控技術(shù)中的輪廓誤差控製技術為例,選用其中最經典的交叉禍合控製器來證明所搭建實驗平台(tái)的實用性。交叉禍合控(kòng)製的思想是把輪廓(kuò)誤差看作一個整體來控製,即意味著每個軸不但受(shòu)本軸的影響,也接收其他軸的誤差信息。這(zhè)樣,多軸之間能(néng)更好地協同,共同達(dá)到減小輪廓誤差的(de)目的。
根據算法思想(xiǎng)建立對於(yú)一個圓形軌跡的控製器模型(圖(tú)7)。
圖7 一個圓形(xíng)輪廓的交叉耦合控製器模(mó)型
其中,curve data是用參數曲線生成、插(chā)補、速度規劃(huá)模塊(kuài)一步步生成的參考指令點,兩(liǎng)個(gè)軸的係統模型可用係統辨識模(mó)塊獲(huò)得,單(dān)軸PID參數可通過繼電反饋法整定,而中間的PID控製器參數可通過建立如圖7所(suǒ)示模(mó)型後,用Mat1al)提供的PID參數整定工具自動整定,最後可用輪廓誤差離線精確計算腳木來估計控製器的效果。在確定算法後,將上述模型進行實時化改造(圖8),再調用係統相關工(gōng)具編譯下(xià)載到目標機即可運行。
圖8 實時化後交叉偶合控製器模(mó)型
在本實驗中,圓的半徑為40 mm,線速度為20mm/s,有和沒有交叉禍合控製器時的輪廓誤差見圖9。
圖9 是否加入交叉耦合控製器的誤差對比
可(kě)見,交叉禍合控製器顯著減小了輪廓誤差,同時也(yě)證明本文搭建的實驗(yàn)平台能很好地滿足數控技術中(zhōng)的輪廓誤差控製技術研究的需要。
4、結束語
本文(wén)設計了基於simulink-realtime的數控(kòng)係統仿真與實驗係統。相對於傳(chuán)統的實驗平台,它提供了極大的(de)便利性,可(kě)大大減少(shǎo)通常算法實現時花費的大量時間。同時,該平台以模型為核心的特點,很好地整合了從算法仿真到實(shí)現的過程。本文搭建的實驗平(píng)台集成了數控技術中常用的各種模塊(kuài),具有很好的開放性,適於研究數控技術的各個方麵。
投稿箱:
如果您有(yǒu)機床行(háng)業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有(yǒu)機床行(háng)業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相(xiàng)關信息
業界視點
| 更多
行業數據
| 更多
- 2024年11月 金屬切削機(jī)床產量數據
- 2024年11月 分地區金屬切削機床(chuáng)產量數據
- 2024年11月 軸承出口情況
- 2024年11月 基本型乘用車(轎車)產量(liàng)數據
- 2024年11月 新能源(yuán)汽車產量數據
- 2024年11月 新能源汽車銷量情況(kuàng)
- 2024年10月 新能源汽車產量數據
- 2024年10月 軸承出口情況
- 2024年10月 分地區金屬切削機床產量數據
- 2024年(nián)10月 金屬切削機(jī)床產量數據
- 2024年9月 新能源汽車(chē)銷量情況(kuàng)
- 2024年8月 新能源汽車產量(liàng)數據
- 2028年8月 基本型乘用車(轎車)產量數據(jù)