宮玉琳,李銳,白曉東
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
基于LabVIEW的伺服測(cè)試系統(tǒng)設(shè)計(jì)
宮玉琳,李銳,白曉東
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
為了滿足不同伺服系統(tǒng)的性能測(cè)試,設(shè)計(jì)了基于LabVIEW的伺服測(cè)試系統(tǒng),由于不同的伺服系統(tǒng)通常具有不同的控制指令格式和發(fā)送數(shù)據(jù)格式,設(shè)計(jì)了可自定義的指令和數(shù)據(jù)格式,以滿足不同伺服系統(tǒng)的需要,適于對(duì)多種不同伺服系統(tǒng)的測(cè)試,具有一定的通用性。測(cè)試系統(tǒng)可以對(duì)伺服系統(tǒng)發(fā)送控制指令并實(shí)時(shí)監(jiān)控其運(yùn)行狀態(tài)、計(jì)算誤差等參數(shù),實(shí)驗(yàn)結(jié)果表明測(cè)試系統(tǒng)具有良好的控制精度和監(jiān)測(cè)精度。
LabVIEW;伺服測(cè)試
伺服系統(tǒng)在工業(yè)控制等領(lǐng)域中應(yīng)用越來越廣泛,簡(jiǎn)便實(shí)用的測(cè)試方法可以大大縮短伺服系統(tǒng)的測(cè)試和分析周期,具有重要的意義。虛擬儀器技術(shù)憑借高性能的模塊化硬件,結(jié)合高效靈活的軟件即可實(shí)現(xiàn)各種測(cè)試和測(cè)量方面的應(yīng)用,具有簡(jiǎn)單實(shí)用的特點(diǎn),本文采用虛擬儀器技術(shù),在工業(yè)控制計(jì)算機(jī)上實(shí)現(xiàn)相關(guān)測(cè)試模塊及操作面板,完成與伺服系統(tǒng)的串行通信,實(shí)現(xiàn)對(duì)伺服系統(tǒng)控制指令的測(cè)試、運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)測(cè)和性能等參數(shù)的計(jì)算,提高伺服系統(tǒng)的測(cè)試效率并節(jié)約測(cè)試成本。
伺服測(cè)試設(shè)備由工業(yè)控制計(jì)算機(jī)、供電電源及通信電纜組成。測(cè)試系統(tǒng)如圖1所示。工業(yè)控制計(jì)算機(jī)負(fù)責(zé)發(fā)送控制指令,接收和處理伺服系統(tǒng)發(fā)送的數(shù)據(jù),供電電源為被測(cè)伺服系統(tǒng)供電,通信電纜負(fù)責(zé)連接主控計(jì)算機(jī)和被測(cè)伺服系統(tǒng)的數(shù)據(jù)傳輸。
圖1 伺服測(cè)試系統(tǒng)
LabVIEW是虛擬儀器的關(guān)鍵組成部分,負(fù)責(zé)完成工業(yè)控制計(jì)算機(jī)與被測(cè)伺服系統(tǒng)的通信,控制指令的發(fā)送,被測(cè)伺服系統(tǒng)數(shù)據(jù)的監(jiān)測(cè)、分析處理和存儲(chǔ)等工作。伺服測(cè)試系統(tǒng)工作時(shí),用戶首先在工業(yè)控制計(jì)算機(jī)上完成相關(guān)參數(shù)的設(shè)置,包括串口設(shè)置、控制指令的格式、相關(guān)控制參數(shù),然后通過串口將控制指令發(fā)送給被測(cè)伺服系統(tǒng),接著啟動(dòng)監(jiān)控程序,實(shí)時(shí)接收被測(cè)伺服系統(tǒng)的運(yùn)行參數(shù)并顯示,同時(shí)計(jì)算誤差等數(shù)據(jù)。
為了提高軟件的運(yùn)行效率,軟件系統(tǒng)采用模塊化設(shè)計(jì),整個(gè)測(cè)試系統(tǒng)由伺服參數(shù)設(shè)置模塊和伺服系統(tǒng)監(jiān)控模塊兩部分組成,如圖2所示。其中參數(shù)設(shè)置模塊負(fù)責(zé)通信參數(shù)設(shè)置、發(fā)送的控制命令格式設(shè)置、伺服系統(tǒng)參數(shù)設(shè)置和發(fā)送數(shù)據(jù)的檢測(cè);伺服監(jiān)控模塊負(fù)責(zé)設(shè)置接收數(shù)據(jù)格式設(shè)置、接收參數(shù)設(shè)置、方位角數(shù)據(jù)曲線、俯仰角數(shù)據(jù)曲線、接收數(shù)據(jù)顯示和相關(guān)數(shù)據(jù)的處理,同時(shí)顯示和存儲(chǔ)伺服系統(tǒng)的方位角和俯仰角曲線圖。
圖2 伺服測(cè)試系統(tǒng)結(jié)構(gòu)
參數(shù)設(shè)置模塊完成通信參數(shù)設(shè)置、發(fā)送數(shù)據(jù)格式設(shè)置、伺服參數(shù)設(shè)置和發(fā)送數(shù)據(jù)監(jiān)控等功能,其界面如圖3所示。
圖3 伺服參數(shù)設(shè)置界面
上位機(jī)在對(duì)伺服系統(tǒng)進(jìn)行控制的時(shí)候都需要發(fā)送一定格式的控制指令,但不同的伺服系統(tǒng)具有各自獨(dú)有的控制指令格式,為使本測(cè)試系統(tǒng)能夠適應(yīng)不同的伺服系統(tǒng),因此需要對(duì)控制指令的格式進(jìn)行靈活設(shè)置,以滿足不同伺服系統(tǒng)的需求。
發(fā)送格式設(shè)置部分既可以完成不同數(shù)據(jù)格式的設(shè)置,整個(gè)數(shù)據(jù)幀格式由20個(gè)字節(jié)構(gòu)成,即幀頭1、幀頭2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、預(yù)留位及校驗(yàn)位?!鞍l(fā)送格式設(shè)置”中,每個(gè)字節(jié)都可以通過下拉菜單對(duì)設(shè)置內(nèi)容進(jìn)行選擇?!鞍l(fā)送格式設(shè)置”和“伺服參數(shù)設(shè)置”程序如圖4所示。
圖4 “發(fā)送格式設(shè)置”和“伺服參數(shù)設(shè)置”程序圖
為了使“格式設(shè)置”中的各個(gè)字節(jié)與“參數(shù)設(shè)置”中的數(shù)值一一對(duì)應(yīng)起來,程序中采用索引的方法,首先,將“伺服參數(shù)設(shè)置”中的數(shù)據(jù)按幀頭1、幀頭2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、預(yù)留位的順序建立數(shù)組,數(shù)組末位添加數(shù)字0,為校驗(yàn)數(shù)據(jù)預(yù)留位置。然后將幀頭1、幀頭2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、預(yù)留位和校驗(yàn)位設(shè)置為“索引1”至“索引20”,如圖5所示,接著將所有輸入數(shù)據(jù)組合成數(shù)組,最后根據(jù)索引選取數(shù)組中相應(yīng)的數(shù)據(jù),建立新的數(shù)組并進(jìn)行發(fā)送,如圖6所示。
圖5 設(shè)置索引
圖6 根據(jù)索引選取數(shù)組數(shù)據(jù)
通信參數(shù)設(shè)定模塊包括通信端口設(shè)置、通信波特率設(shè)置、數(shù)據(jù)位數(shù)設(shè)置、校驗(yàn)位設(shè)置、停止位設(shè)置及發(fā)送頻率設(shè)置,通過相應(yīng)設(shè)置即可完成對(duì)串口的控制。點(diǎn)擊“開始發(fā)送”便可將之前建立的數(shù)組按照設(shè)定的格式發(fā)送給被測(cè)的伺服系統(tǒng)。發(fā)送出去的數(shù)據(jù)可以在數(shù)據(jù)監(jiān)控界面顯示,通過該部分可以實(shí)現(xiàn)對(duì)發(fā)送數(shù)據(jù)的實(shí)時(shí)監(jiān)控,了解主控計(jì)算機(jī)對(duì)伺服系統(tǒng)的控制情況。
當(dāng)完成通信參數(shù)設(shè)置并點(diǎn)擊“參數(shù)確認(rèn)”按鈕后,點(diǎn)擊“伺服監(jiān)控”按鈕即可進(jìn)入伺服系統(tǒng)監(jiān)控界面,如圖7所示,整體程序如圖8所示。
圖7 伺服監(jiān)控界面
接收數(shù)據(jù)格式設(shè)置包括幀長度、幀中各字節(jié)內(nèi)容。整個(gè)數(shù)據(jù)幀格式包括10個(gè)字節(jié),即幀頭1、幀頭2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、狀態(tài)代碼及校驗(yàn)。接收參數(shù)設(shè)置包括幀頭1和幀頭2。接收數(shù)據(jù)界面實(shí)時(shí)顯示伺服系統(tǒng)發(fā)送的數(shù)據(jù)及主控計(jì)算機(jī)計(jì)算得到的伺服系統(tǒng)信息,包括方位角度、俯仰角度、方位速度及俯仰速度。
圖8 伺服監(jiān)控程序
伺服系統(tǒng)監(jiān)控模塊采用序列結(jié)構(gòu),如圖9所示。首先通過串口讀取伺服系統(tǒng)傳輸給上位機(jī)的數(shù)據(jù),然后執(zhí)行一系列的判斷程序,當(dāng)校驗(yàn)碼1符合設(shè)定值時(shí),再判斷校驗(yàn)碼2,當(dāng)校驗(yàn)碼2符合設(shè)定值時(shí),計(jì)算方位數(shù)據(jù)和俯仰數(shù)據(jù)。同時(shí)計(jì)算校驗(yàn)數(shù)據(jù),數(shù)據(jù)校驗(yàn)采用“case”結(jié)構(gòu),根據(jù)校驗(yàn)方式進(jìn)行切換,當(dāng)校驗(yàn)數(shù)據(jù)正確時(shí),顯示界面將計(jì)算后的方位或俯仰值顯示出來,否則舍棄本次數(shù)據(jù),繼續(xù)接收并處理下一個(gè)數(shù)據(jù),計(jì)算得到的方位和俯仰數(shù)據(jù)顯示在波形顯示區(qū)。
數(shù)據(jù)處理部分對(duì)伺服系統(tǒng)的系統(tǒng)誤差和隨機(jī)誤差進(jìn)行分析,點(diǎn)擊“開始保存”按鈕和“停止保持”按鈕,可以對(duì)當(dāng)前運(yùn)行數(shù)據(jù)進(jìn)行存儲(chǔ)。點(diǎn)擊“波形讀取”將彈出歷史數(shù)據(jù)界面,之前保存的歷史數(shù)據(jù)將在界面右側(cè)按照日期排列出來,點(diǎn)擊日期,相應(yīng)的波形即可顯示在左側(cè)波形顯示界面,數(shù)據(jù)文件以Excel進(jìn)行存儲(chǔ)。
測(cè)試系統(tǒng)平臺(tái)采用Gpd-800下翻式便攜工控機(jī),具有最多10個(gè)全長的擴(kuò)展槽,高亮度液晶顯示屏,雙層鋁合金加固型機(jī)箱結(jié)構(gòu),使它能夠適應(yīng)各種復(fù)雜的工作環(huán)境,為便攜式電腦的應(yīng)用提供了最具成本效益、持久的、多功能的標(biāo)準(zhǔn)平臺(tái)。支持LGA 775 Intel Core? 2 Duo FSB 1066MHz處理器,支持雙通道DDR2 667 SDRAM,最高可達(dá)4GB,單GbE LAN via PCIe x1通道,2 COM端口,4 SATA端口,8 USB接口。軟件采用LabVIEW 2013進(jìn)行編程,伺服測(cè)試系統(tǒng)采用RS232通信接口,發(fā)送及接收幀頻率1Hz~20kHz,發(fā)送及接收波特率最高支持115.2kbps,速度設(shè)定范圍±0.1°/s~± 50°/s,加速度設(shè)定范圍10°/s2,方位掃描角度設(shè)定范圍0°~360°,方位掃描速度設(shè)定范圍0°~50°/s,高低定位角度可設(shè)置-180°~+180°。
啟動(dòng)伺服系統(tǒng)測(cè)試軟件,出現(xiàn)圖10所示的加載界面之后即可進(jìn)行伺服系統(tǒng)測(cè)試。為了驗(yàn)證測(cè)試系統(tǒng)的性能,本文搭建了模擬測(cè)試平臺(tái),在計(jì)算機(jī)端打開串口調(diào)試工具,模擬實(shí)際伺服系統(tǒng)的收發(fā)數(shù)據(jù),與測(cè)試系統(tǒng)進(jìn)行聯(lián)機(jī)調(diào)試。
圖9 伺服監(jiān)控模塊數(shù)據(jù)處理程序
假設(shè)模擬伺服系統(tǒng)的控制指令格式為命令字、方位角(由高位、中位和低位三位數(shù)據(jù)組成)、方位角速度(由高位和低位兩個(gè)數(shù)據(jù)組成)和校驗(yàn)位組成,其中校驗(yàn)方式為“求和”,對(duì)應(yīng)的數(shù)據(jù)設(shè)定為命令字AA、方位角125°、方位角速度90°/s,當(dāng)伺服測(cè)試系統(tǒng)完成相應(yīng)的設(shè)定并發(fā)送數(shù)據(jù)后,在計(jì)算機(jī)端開啟的串口調(diào)試軟件可以正確的顯示出AA、01、02、05、09、00和校驗(yàn)數(shù)據(jù)BB,如圖10所示。在計(jì)算機(jī)端發(fā)送AA、01、02、05、09、00和校驗(yàn)數(shù)據(jù)BB,可以在監(jiān)控界面得到伺服系統(tǒng)的測(cè)試曲線,如圖11所示。
圖11 計(jì)算機(jī)發(fā)送數(shù)據(jù)和伺服測(cè)試系統(tǒng)測(cè)試曲線
本文實(shí)現(xiàn)了基于LabVIEW的伺服測(cè)試系統(tǒng),可以實(shí)現(xiàn)對(duì)不同伺服系統(tǒng)的控制和監(jiān)測(cè),充分發(fā)揮了LabVIEW的優(yōu)勢(shì),測(cè)試過程直觀、簡(jiǎn)潔,實(shí)驗(yàn)驗(yàn)證表明,測(cè)試系統(tǒng)可以準(zhǔn)確地向伺服系統(tǒng)發(fā)出控制指令,并精確地實(shí)時(shí)檢測(cè)伺服系統(tǒng)的運(yùn)行狀態(tài),可以滿足不同伺服系統(tǒng)的測(cè)試要求,具有廣泛的應(yīng)用價(jià)值。
[1] 鄭樹元.精通LabVIEW虛擬儀器程序設(shè)計(jì)[M].清華大學(xué)出版社,2012.
[2] 阮奇楨.我和LabVIEW—一個(gè)NI工程師的十年編程經(jīng)驗(yàn)[M].北京:北京航空航天大學(xué)出版社,2012.
[3] 王建新,隋美麗.虛擬儀器測(cè)試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2013.
[4] 謝偉.伺服機(jī)構(gòu)測(cè)試軟件系統(tǒng)的發(fā)展及新技術(shù)的應(yīng)用[J].2008,5(30):61-64.
[5] 黃永花.基于LabVIEW的液壓伺服測(cè)試系統(tǒng)研究[J].設(shè)計(jì)與分析,2013,2(360):140-141.
[6] 高雙喜.基于Qt_Embedded的伺服測(cè)試平臺(tái)軟件的研究與設(shè)計(jì)[J].軟件導(dǎo)刊,2012,11(9):55-57.
Design of Servo Testing System Based on LabVIEW
GONG Yulin,LI Rui,BAI Xiaodong
(School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
In order to meet the different performance test of servo system,this paper designs a servo test system based on LabVIEW,due to the servo system of different usually have different control instruction format and send data format,this paper designs the instruction and data format can be customized,to meet the different needs of the servo system,which is suitable for different kinds of servo system test.Has a certain commonality.The test system can send control commands to the servo system,monitor its running status in real time and Calculation error and other parameters.The experimental results show that the test system has good control precision and monitoring precision.
LabVIEW;servo test
TH137
A
1672-9870(2016)05-0091-06
2016-05-30
宮玉琳(1983-),男,博士,講師,E-mail:garrygong1983@126.com