專利名稱:一種基于rcp的運動控制器的設(shè)計方法
一種基于RCP的運動控制器的設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運動控制器技術(shù)領(lǐng)域,具體地說,是一種基于RCP的運動控制器的設(shè)計方法。
背景技術(shù):
采用傳統(tǒng)方法實現(xiàn)控制器的設(shè)計,需要控制算法設(shè)計、軟件設(shè)計、硬件設(shè)計等多方面研究人員的參與來完成,可以將其分為運動算法的軟件開發(fā)和運動控制器的硬件設(shè)計。傳統(tǒng)的開發(fā)過程中,這兩大環(huán)節(jié)都分別需要專業(yè)的軟件開發(fā)工程師和硬件開發(fā)工程師來針對專門的開發(fā)要進行開發(fā)。然后共同調(diào)試,使控制算方法能很好的應(yīng)用與硬件中。只有這兩個環(huán)節(jié)緊密的配合達形成一個最優(yōu)的系統(tǒng),才稱得上成功的運動控制器的開發(fā)。
然而,在實際的運動控制器的開發(fā)過程中,運動算法的實現(xiàn)是一個相當(dāng)復(fù)雜的軟件開發(fā)過程。這個過程往往需要專業(yè)的軟件開發(fā)工程師來實現(xiàn)。現(xiàn)在的控制系統(tǒng)的自動化設(shè)計大多都是在對應(yīng)微處理器的開發(fā)環(huán)境中手動編寫匯編或C語言或C++代碼,這樣的過程開發(fā)周期長,對程序員的要求較高。而且大多數(shù)程序員只熟悉某種語言,適應(yīng)性很差,在大型開發(fā)項目中要互相結(jié)合開發(fā)就會出現(xiàn)明顯的局限性。由于不同的程序員編程習(xí)慣的不同,同樣的系統(tǒng)不同的人用同樣的語言寫出的代碼差別很大,這樣就會使得其可讀性很差,甚至對程序員自己來說,對于某些稍微復(fù)雜點的程序,自身編寫的程序在過一段時間后自己讀起來都很吃力,尤其對匯編語言更是如此。 而運動控制器的硬件則需要硬件工程師根據(jù)運動控制器的控制對象以及外圍設(shè)備來進行設(shè)計,進行選擇合適的處理器以及各種外圍器件;這就要求硬件工程師對各種處理器以及各種外圍器件相當(dāng)?shù)氖煜?,具有豐富的硬件開發(fā)經(jīng)驗。而硬件的設(shè)計不可能一次成功,往往需要由驗證到修改,由修改到驗證這樣反復(fù)的嘗試。這樣的過程對程序員的要求很高,不但大大延長了系統(tǒng)開發(fā)周期,更是將一大批想用進行運動控制器開發(fā)的技術(shù)人員拒之門外。 根據(jù)要求設(shè)計的硬件、軟件集成為完整的控制系統(tǒng),硬件設(shè)計對于軟件工程師是一個比較陌生的環(huán)節(jié),而運動算法復(fù)雜的編程也是硬件工程是一個比較薄弱的環(huán)節(jié),在此過程如果任何一個環(huán)節(jié)的設(shè)計出現(xiàn)問題或需要改動,都必須返回到算法設(shè)計環(huán)節(jié)重新開始。所以在運動控制器的開發(fā)過程中存在著運動算法開發(fā)和硬件設(shè)計脫節(jié)的環(huán)節(jié)。這是傳統(tǒng)開發(fā)方法中存在不可避免的一個問題。這樣使整個控制器開發(fā)過程變得冗長繁雜,從工程效益上講,開發(fā)周期長就意味著成本增加;從學(xué)術(shù)研究上講,過于復(fù)雜的控制理論,往往不得不因為程序代碼編寫太難而放棄,進而難以達到最優(yōu)化的控制效果。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于RCP開發(fā)的運動控制器的設(shè)計方法。 本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的
3
—種基于RCP的運動控制器的設(shè)計方法,所用硬件包括主機host PC,目標(biāo)機xPC,
數(shù)據(jù)采集卡及其端子板以及控制伺服電機運動的簡單硬件電路板;Host PC通過網(wǎng)線與
xPC相連,用TCP/IP協(xié)議完成代碼的下載;數(shù)據(jù)采集卡安裝在xPC的PCI通信插槽中,數(shù)
據(jù)采集卡通過端子板與伺服控制器相連接;端子板是數(shù)據(jù)采集卡完成控制信號發(fā)送和采
集信號的橋梁;伺服控制器通過50芯的數(shù)據(jù)線連接到端子板上;軟件開發(fā)平臺為MATLAB/
Simulink/RTW 其具體步驟為 (1)首先,創(chuàng)建供xPC運行的實時操作系統(tǒng),在Host PC的MATAL/Si皿link開發(fā)環(huán) 境中調(diào)用xPC Target模塊創(chuàng)建實時操作系統(tǒng),將實時系統(tǒng)存于軟盤中,裝有實時操作系統(tǒng) 的軟盤能在xPC中運行,實現(xiàn)任務(wù)調(diào)度和管理; (2)其次,確定運動控制對象,進行分析,在Sinulink環(huán)境下建立基于運動控制對 象的數(shù)學(xué)模型,該模型與實際控制對象相對應(yīng); (3)再次,在MATLAB/Sinmulink中調(diào)用相應(yīng)的運動控制器模塊,進行基于被控對 象數(shù)學(xué)模型運動控制算法的設(shè)計,并進行仿真,比較期望輸出與控制輸出,進行控制參數(shù)的 調(diào)節(jié);當(dāng)仿真效果達到設(shè)計要求時,利用自動代碼轉(zhuǎn)換技術(shù),將設(shè)計好的運動控制算法進行 轉(zhuǎn)換,并下載到xPC的實時系統(tǒng)中運行; (4)然后,運動控制算法程序下載到xPC的實時系統(tǒng)后,在xPC中的實時操作系統(tǒng) 中運行,進行運動控制算法的實時驗證;由于步驟(3)是基于被控對象數(shù)學(xué)模型的設(shè)計,通 過驗證判斷設(shè)計的運動控制算法作用于實際被控對象的控制效果; (5)最后,根據(jù)在線調(diào)試的運動控制效果,在步驟(3)程序設(shè)計中進行相應(yīng)的修
改,判斷出現(xiàn)期望的運動控制效果。 與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是 (1)本發(fā)明能夠?qū)崿F(xiàn)各種運動控制算法的設(shè)計與驗證,如PID算法,模糊PID算 法,自適應(yīng)PID算法等等; (2)本發(fā)明能夠?qū)崿F(xiàn)運動控制代碼的快速在線驗證,很好的提高了運動控制器算 法的開發(fā)效率; (3)本發(fā)明利用Matlab的自動代碼轉(zhuǎn)換技術(shù),使得各種復(fù)雜的運動控制算法能夠 實現(xiàn),降低了復(fù)雜運動控制算法開發(fā)的門檻; (4)本發(fā)明開發(fā)的運動控制算法能夠很方便的進行移植; (5)本發(fā)明可以降低軟硬件開發(fā)的門檻,縮短系統(tǒng)開發(fā)周期,降低開發(fā)成本,簡化 程序員的工作要求,提高了開發(fā)效率。
圖l本發(fā)明的結(jié)構(gòu)圖; 圖2本發(fā)明的流程圖; 圖3伺服電機全閉環(huán)控制系統(tǒng)框圖; 圖4xPC目標(biāo)環(huán)境組態(tài)界面; 圖5伺服運動控制系統(tǒng)示意圖; 圖6PID控制器模塊示意4
圖7伺服電機系統(tǒng)運動模型模塊示意圖;
圖8速度和轉(zhuǎn)矩控制CNx5端口接線圖;
圖9伺服電機速度控制器模型示意圖。
具體實施方式
以下提供本發(fā)明一種基于RCP的運動控制器的設(shè)計方法的具體實施方式
。 下面以伺服材料試驗機的速度控制來說明一種基于RCP的運動控制器的設(shè)計方法。 —種基于RCP的運動控制器,硬件包括電腦2臺,一臺做Host PC另一臺做目標(biāo) 機xPC,運動控制器選用研華公司的PCI1716數(shù)據(jù)采集卡,被控對象是伺服材料試驗機;開 發(fā)平臺軟件選擇MATLAB/SMULINK/RTW,進行虛擬建模,仿真分析,并最終實現(xiàn)控制器的設(shè) 計,Host PC通過網(wǎng)線與xPC相連,用TCP/IP協(xié)議完成代碼的下載;數(shù)據(jù)采集卡安裝在xPC 的PCI通信插槽中;數(shù)據(jù)采集卡通過端子板與伺服控制器相連接,端子板示數(shù)據(jù)采集卡完 成控制信號發(fā)送和采集信號的橋梁;伺服控制器通過50芯的數(shù)據(jù)線連接到端子板上。
本發(fā)明的總體思路圖1為RCP開發(fā)方法的開發(fā)框圖,首先要對所開發(fā)的系統(tǒng)進 行需求分析,包括建立主動運動控制對象簡化的物理模型,主機PC的任務(wù)是為控制器設(shè)計 提供了軟件開發(fā)平臺(MATLAB/Simulink/RTW);目標(biāo)PC主要充當(dāng)實時控制器的作用;利 用MATLAB提供的xPC Target工具完成主機和目標(biāo)機的xPC目標(biāo)環(huán)境的配置,在MATLAB/ Simulink中建立運動控制系統(tǒng)模型,反復(fù)調(diào)整參數(shù),做到初步的算法優(yōu)化;調(diào)用RTW自動生 成運動控制器可執(zhí)行C代碼,通過TCP/IP協(xié)議下載到目標(biāo)PC上的實時核中運行。此過程 中輸出的信號為數(shù)字量,需要通過數(shù)據(jù)采集卡PCI-1716中的D/A模塊轉(zhuǎn)化成模擬量從AO 端口輸出給伺服電機的控制器,控制引腳的數(shù)字量可以由PCI-1716的D0 口輸出給伺服控 制器,同時伺服電機的運轉(zhuǎn)情況可以由伺服控制器的速度檢測和轉(zhuǎn)矩檢測弓I腳等通過數(shù)據(jù) 采集卡PCI-1716的A/D模塊把模擬量轉(zhuǎn)化為數(shù)字量傳輸給主機,同時通過反饋的模擬信號 完成反饋控制;附圖2為本發(fā)明的為開發(fā)流程圖。 在控制系統(tǒng)中,一般都要實現(xiàn)某些閉環(huán)控制,這樣就需要用到一定的控制算法,控 制算法中最經(jīng)典的要屬PID 了,而在Simulink中就集成了 PID控制算法的模塊,應(yīng)用此模 塊在設(shè)計PID算法時只需設(shè)置好Kp、 Ki、 Kd三個參數(shù)就可完成PID算法的控制。極大的簡 化了 PID控制算法的設(shè)計,使設(shè)計者避快復(fù)雜而冗長的PID控制算法的匯編或者C編程。
本發(fā)明中以PID控制算法為例,用RCP開發(fā)方法實現(xiàn)伺服電機的速度控制。根據(jù) 伺服電機控制系統(tǒng)框圖,可以建立伺服電機的數(shù)學(xué)模型,然后在MATLAB/SMULINK中建立 電機控制的全閉環(huán)控制系統(tǒng)框圖,如附圖3所示
具體步驟為 步驟(1):采用TCP/IP通訊協(xié)議實現(xiàn)主副機之間的通訊,附圖4所示為在xPC Target Explorer中對xPC目標(biāo)環(huán)境的進行通訊組態(tài)界面的設(shè)置示意圖,xPC Target E鄧lorer用于對xPC目標(biāo)環(huán)境的各項參數(shù),如對通訊、目標(biāo)PC存儲空間大小和顯示外觀等 進行設(shè)置,并生成啟動盤,(可加入兩種通訊的特點和選用者的優(yōu)點)選取TCP/IP協(xié)議實 現(xiàn)主機PC和目標(biāo)PC的通訊,只需在xPC Target Explorer中設(shè)置目標(biāo)PC的IP地址、TCP/ IP端口、子網(wǎng)掩碼、網(wǎng)關(guān)以及網(wǎng)卡型號即可;每次使用xPC目標(biāo)環(huán)境調(diào)試程序時,將啟動盤載入目標(biāo)PC,即可啟動xPC實時運行核,并實現(xiàn)主機PC和目標(biāo)PC的通訊; 步驟(2):本發(fā)明中以PID控制算法為例,用RCP開發(fā)方法實現(xiàn)伺服電機的速度
控制;根據(jù)以上伺服電機控制系統(tǒng)框圖,可以建立伺服電機的數(shù)學(xué)模型,然后在MATLAB/
SIMULINK中建立電機控制的全閉環(huán)控制系統(tǒng)框圖,請參見附圖3 ;。 步驟(3):先根據(jù)伺服電機的特性,建立符合伺服電機特性的數(shù)學(xué)模型,參見如附 圖3,然后在MATLAB/Simulink快速控制原型的開發(fā)平臺中運用其中的模塊搭建伺服電機 的PID控制程序框圖,然后進行仿真分析;觀察仿真結(jié)果并且對PID的參數(shù)進行相應(yīng)的修 改,并最終實現(xiàn)控制算法的設(shè)計;附圖5為伺服運動控制系統(tǒng)的程序框圖其有兩個子系統(tǒng) 模塊,他們分別是PID控制算法的控制器模塊和伺服電機系統(tǒng)運動模型模塊,請參見附圖6 和附圖7 ; 為了得到好的PID控制器參數(shù),設(shè)定系統(tǒng)一個單位階躍函數(shù),在Scope示波器 中觀察相應(yīng)曲線,不斷調(diào)節(jié)PID參數(shù),直到單位階躍響應(yīng)曲線滿足我們的要求為止;然 而,有時候是很難得到被控對象的數(shù)學(xué)模型,在這種情況下可以采用一種硬件在環(huán)仿真 (hardware-in-the-loop simulation,簡稱HITLS)的方法,把控制對象看作是一個黑箱子, 進行硬件在環(huán)仿真,確定其控制器參數(shù),得到最優(yōu)的控制器; 步驟(4):在完成運動控制器的設(shè)計后,將運動控制算法嵌入到運動控制系統(tǒng)中, 進行運動控制算法的實時驗證; 下面闡明伺服電機速度控制的思路伺服電機速度控制方式的控制器信號口接線 如附圖8所示,控制信號分為數(shù)字控制信號和模擬控制信號;其中,數(shù)字控制信號我們用 到伺服使能信號29腳SRV-0N,該位控制伺服電機的使能;零速鉗位信號26腳ZER0SPD,該 位控制模擬信號輸入是否有效;控制模式切換信號32腳C-M0DE,該位為控制模式切換位; 模擬信號是SPR/TRQR引腳,通過模擬信號的大小控制伺服電機轉(zhuǎn)速的大??;
采用數(shù)據(jù)采集卡(PCI1716)中的數(shù)字輸出和模擬輸出模資源來對伺服電機進行 控制;例如可以通過改變零速鉗位信號的狀態(tài)來控制電機的啟停,通過調(diào)節(jié)PCI1716的模 擬輸出實現(xiàn)對伺服電機轉(zhuǎn)速的控制; 根據(jù)伺服電機速度控制方式在Matlab/Simulink開發(fā)環(huán)境中進行系統(tǒng)建模,模型 包括PID運動控制器模塊,PIC1716數(shù)字輸出模塊,PCI1716模擬輸出模塊以及一些數(shù)據(jù)轉(zhuǎn) 換,請參見附圖9,增加了示波器,可以觀察整個模塊的仿真效果,在仿真結(jié)果達到開發(fā)要求 后,可以進行到步驟3,進行自動代碼轉(zhuǎn)換,將Simulink中的圖形化程序轉(zhuǎn)換成可編輯的C 代碼,并且通過TCP網(wǎng)絡(luò)協(xié)議將代碼下載到XPC的控制內(nèi)核中,進行實時伺服電機的控制;
步驟(5):通過運動控制算法在硬件平臺上的實時驗證,可以獲得驗證數(shù)據(jù);記錄 結(jié)果數(shù)據(jù),可以通過實時運行中伺服電機的運行情況對Simulink中的控制系統(tǒng)做必要的 修改,然后在將修改后的程序通過自動代碼轉(zhuǎn)換,并下載到實時系統(tǒng)中進行實時控制調(diào)試, 整個過程很方便。 經(jīng)過實驗,通過RCP的開發(fā)方法完成了伺服電機的速度控制設(shè)計;在開發(fā)過程中 成功的克服了傳統(tǒng)運動控制器開發(fā)的技術(shù)瓶頸,降低軟硬件開發(fā)的門檻,縮短系統(tǒng)開發(fā)周 期,降低開發(fā)成本,簡化程序員的工作要求,提高了開發(fā)效率。 以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人 員,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍內(nèi),
權(quán)利要求
一種基于RCP的運動控制器的設(shè)計方法,其特征在于,具體步驟為(1)創(chuàng)建供目標(biāo)機xPC運行的實時操作系統(tǒng),在主機Host PC的MATAL/Sinulink開發(fā)環(huán)境中調(diào)用xPC模塊中創(chuàng)建實時操作系統(tǒng),將實時系統(tǒng)存于軟盤中,裝有實時操作系統(tǒng)的軟盤能在xPC中運行,實現(xiàn)任務(wù)調(diào)度和管理;(2)確定運動控制對象,進行分析,在Sinulink環(huán)境下建立基于運動控制對象的數(shù)學(xué)模型,該模型與實際控制對象相對應(yīng);(3)在MATLAB/Sinmulink中調(diào)用相應(yīng)的運動控制器模塊,進行基于被控對象數(shù)學(xué)模型運動控制算法的設(shè)計,并進行仿真,比較期望輸出與控制輸出,進行控制參數(shù)的調(diào)節(jié);當(dāng)仿真效果達到設(shè)計要求時,利用自動代碼轉(zhuǎn)換技術(shù),將設(shè)計好的運動控制算法進行轉(zhuǎn)換,并下載到xPC的實時系統(tǒng)中運行;(4)運動控制算法程序下載到xPC的實時系統(tǒng)后,在xPC中的實時操作系統(tǒng)中運行,進行運動控制算法的實時驗證;由于步驟(3)是基于被控對象數(shù)學(xué)模型的設(shè)計,通過驗證判斷設(shè)計的運動控制算法作用于實際被控對象的控制效果;(5)根據(jù)在線調(diào)試的運動控制效果,在步驟(3)程序設(shè)計中進行相應(yīng)的修改,判斷出現(xiàn)期望的運動控制效果。
全文摘要
本發(fā)明涉及一種基于RCP的運動控制器的設(shè)計方法,創(chuàng)建供xPC運行的實時操作系統(tǒng);確定運動控制對象,進行分析;在MATLAB/Sinmulink中調(diào)用相應(yīng)的運動控制器模塊,進行基于被控對象數(shù)學(xué)模型運動控制算法的設(shè)計;將設(shè)計好的運動控制算法進行轉(zhuǎn)換,并下載到xPC的實時系統(tǒng)中運行;運動控制算法程序下載到xPC的實時系統(tǒng)后,在xPC中的實時操作系統(tǒng)中運行,進行運動控制算法的實時驗證;通過驗證判斷設(shè)計的運動控制算法作用于實際被控對象的控制效果;根據(jù)在線調(diào)試的運動控制效果,在前述的程序設(shè)計中進行相應(yīng)的修改,判斷出現(xiàn)期望的運動控制效果。本發(fā)明的優(yōu)點提高運動控制器算法的開發(fā)效率;降低了復(fù)雜運動控制算法開發(fā)的門檻;能夠很方便的進行移植。
文檔編號G05B17/02GK101710233SQ20091004523
公開日2010年5月19日 申請日期2009年1月13日 優(yōu)先權(quán)日2009年1月13日
發(fā)明者季白楊, 徐水元, 易建軍, 田小強, 田曉強, 陳昌明 申請人:華東理工大學(xué)