梁子財(cái)
摘 要:利用Qt平臺(tái)開(kāi)發(fā)了一款針對(duì)編碼器的操作軟件,該軟件能夠基于不同編碼器通信協(xié)議對(duì)編碼器進(jìn)行參數(shù)讀寫等操作,簡(jiǎn)單、迅速、明了地實(shí)時(shí)監(jiān)測(cè)編碼器工作狀態(tài)。以HIPERFACE協(xié)議為例,介紹該軟件的開(kāi)發(fā)與使用流程,以供其他開(kāi)發(fā)技術(shù)人員進(jìn)行參考。
關(guān)鍵詞:Qt;編碼器;參數(shù)讀寫;HIPERFACE
中圖分類號(hào):TB 文獻(xiàn)標(biāo)識(shí)碼:Adoi:10.19311/j.cnki.1672-3198.2019.29.113
1 引言
目前,世界各國(guó)都在大力發(fā)展自己的數(shù)控技術(shù),甚至有些工業(yè)發(fā)達(dá)國(guó)家已經(jīng)將數(shù)控技術(shù)及其裝備列為國(guó)家戰(zhàn)略物資,并且出臺(tái)一些政策限制出口。伺服驅(qū)動(dòng)系統(tǒng)的性能對(duì)于數(shù)控裝備的性能有著舉足輕重的影響,能夠通過(guò)增強(qiáng)位置檢測(cè)裝置的性能來(lái)使伺服驅(qū)動(dòng)系統(tǒng)的性能適應(yīng)現(xiàn)代工業(yè)發(fā)展要求。目前工業(yè)上運(yùn)用較多的位置檢測(cè)裝置是光電編碼器。其中絕對(duì)式編碼器工作穩(wěn)定,無(wú)誤差累計(jì),任意位置都有唯一相應(yīng)的二進(jìn)制碼等優(yōu)點(diǎn),因此被廣泛運(yùn)用于國(guó)防、航天,及科研部門。但同時(shí),絕對(duì)式光電編碼器結(jié)構(gòu)較為復(fù)雜,價(jià)格昂貴。
文章使用的HIPERFACE絕對(duì)式光電編碼器綜合了增量式編碼器和絕對(duì)式編碼器兩者的長(zhǎng)處,精度高,分辨率高,性能穩(wěn)定,能夠勝任較為苛刻惡劣的工況運(yùn)用。因此可見(jiàn),HIPERFACE絕對(duì)式光電編碼器對(duì)于伺服驅(qū)動(dòng)系統(tǒng)來(lái)說(shuō)是作為位置檢測(cè)環(huán)節(jié)較好的選擇。但是HIPERFACE協(xié)議復(fù)雜,單純使用伺服驅(qū)動(dòng)器無(wú)法簡(jiǎn)便、充分地使用HIPERFACE編碼器的各種功能。筆者基于Qt平臺(tái)開(kāi)發(fā)了一款編碼器操作軟件,該軟件可對(duì)編碼器進(jìn)行參數(shù)讀寫等操作,簡(jiǎn)單、迅速、明了地實(shí)時(shí)監(jiān)測(cè)編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開(kāi)發(fā)與使用流程,以供其他開(kāi)發(fā)技術(shù)人員進(jìn)行參考。
2 HIPERFACE絕對(duì)式光電編碼器簡(jiǎn)介
2.1 工作原理簡(jiǎn)介
HIPERFACE是SICK-STEGMANN電機(jī)反饋系統(tǒng)的標(biāo)準(zhǔn)接口。HIPERFACE絕對(duì)式光電編碼器綜合了普通增量式光電編碼器和絕對(duì)式光電編碼器兩者的優(yōu)點(diǎn),同時(shí)輸出差分傳輸?shù)恼倚盘?hào)和余弦信號(hào)的增量信號(hào)以及通過(guò)RS485傳輸?shù)亩M(jìn)制數(shù)字信號(hào),原理圖如圖1所示。
HIPERFACE絕對(duì)式光電編碼器采用雙向RS485接口來(lái)傳遞各種數(shù)據(jù)參數(shù),如讀取存儲(chǔ)在編碼器內(nèi)部EEPROM中的電機(jī)參數(shù)數(shù)據(jù),或者初始化過(guò)程中讀取編碼器絕對(duì)位置值等等。絕對(duì)位置數(shù)據(jù)可通過(guò)參數(shù)通道(RS485)獲得,這個(gè)通過(guò)參數(shù)通道獲得的絕對(duì)位置有別于從正弦和余弦信號(hào)里獲得的絕對(duì)位置,它主要用于初始化定位以及判斷收到的正余弦信號(hào)具體處于哪個(gè)周期。此外,HIPERFACE一共有20種不同指令,可以實(shí)現(xiàn)20種不同功能,這些功能的都是通過(guò)參數(shù)通道的數(shù)據(jù)傳輸來(lái)完成的。
2.2 通信協(xié)議簡(jiǎn)介
HIPERFACE絕對(duì)式編碼器與伺服驅(qū)動(dòng)器的對(duì)話流程如圖2所示,HIPERFACE傳輸協(xié)議的對(duì)話時(shí)序如圖3所示,每一次數(shù)據(jù)傳輸,都以地址開(kāi)頭,校驗(yàn)碼結(jié)束。每一次數(shù)據(jù)傳輸主要由四部分組成:地址、指令、可選數(shù)據(jù)和校驗(yàn)碼。其中,地址、指令和校驗(yàn)碼部分必須有,而且數(shù)據(jù)長(zhǎng)度只有一幀(一幀數(shù)據(jù)長(zhǎng)度為11位),而可選數(shù)據(jù)部分則可以根據(jù)需要進(jìn)行取舍,數(shù)據(jù)長(zhǎng)度也不固定,可以為0幀,最多可以132幀。
RS485的數(shù)據(jù)傳輸通過(guò)超時(shí)協(xié)議進(jìn)行控制,在同一次數(shù)據(jù)傳輸過(guò)程中,每一幀數(shù)據(jù)之間的間隔時(shí)間Tp必須小于超越時(shí)間,否則會(huì)導(dǎo)致通信協(xié)議錯(cuò)誤報(bào)文。而上一次數(shù)據(jù)傳輸與下一次數(shù)據(jù)傳輸之間的時(shí)間間隔Tr必須大于超越時(shí)間。在一定時(shí)間內(nèi)(超時(shí))如果沒(méi)有更多信息傳輸至編碼器,當(dāng)前接收的協(xié)議就會(huì)被處理掉,超時(shí)后的第一個(gè)字節(jié)將會(huì)被視為一個(gè)地址。超越時(shí)間默認(rèn)為5.73毫秒。
3 編碼器操作軟件設(shè)計(jì)
在本次的操作軟件開(kāi)發(fā)中,首要的目標(biāo)是解決HIPERFACE協(xié)議編碼器指令復(fù)雜以及繁多的缺點(diǎn),因此在設(shè)計(jì)中將HIPERFACE的常用指令轉(zhuǎn)化為一個(gè)個(gè)獨(dú)立的按鈕,同時(shí)也應(yīng)保留手動(dòng)輸入指令的功能。其次,就是將收到的數(shù)據(jù)進(jìn)行歸類以及顯示,由于收到的數(shù)據(jù)是以16進(jìn)制數(shù)表示,因此需要對(duì)這些數(shù)據(jù)進(jìn)行解碼,轉(zhuǎn)化成相應(yīng)的信息。
編碼器操作軟件的工作流程如圖4所示。當(dāng)某個(gè)功能按鍵被按下之后,編碼器操作軟件將該按鍵對(duì)應(yīng)得指令信息發(fā)往串口輸出緩沖區(qū)。當(dāng)串口接收緩沖區(qū)接收來(lái)自編碼器的數(shù)據(jù)之后,編碼器操作軟件對(duì)數(shù)據(jù)進(jìn)行判斷,并將數(shù)據(jù)進(jìn)行解碼,之后將相應(yīng)信息在標(biāo)簽或者文本框中顯示。同時(shí)為了便于監(jiān)測(cè)編碼器工作狀態(tài)以及通信過(guò)程的可靠性,在軟件開(kāi)發(fā)中需要增加相應(yīng)的報(bào)警顯示燈以及錯(cuò)誤提示欄。
經(jīng)過(guò)編碼以及界面設(shè)計(jì),最終編碼器操作軟件成功開(kāi)發(fā)。圖5為操作軟件的入口界面。在操作軟件開(kāi)發(fā)過(guò)程中,考慮到要同時(shí)實(shí)現(xiàn)其他協(xié)議編碼器以及不同工作模式的使用,在操作軟件主界面設(shè)計(jì)了編碼器協(xié)議和工作模式選項(xiàng),為后續(xù)的操作軟件擴(kuò)展做好準(zhǔn)備。
圖6為HIPERFACE協(xié)議編碼器的操作軟件界面,在此界面中的所有功能只針對(duì)基于HIPERFACE協(xié)議的編碼器。在此界面中,使用者除了可以使用快捷功能鍵外,還可以利用發(fā)送區(qū)手動(dòng)輸入相應(yīng)的信息串口輸出緩沖區(qū)。接收區(qū)將接收到的所有數(shù)據(jù)顯示出來(lái),與上面的相應(yīng)顯示標(biāo)簽和文本框作對(duì)比,保證數(shù)據(jù)顯示正確。通信錯(cuò)誤顯示區(qū)突出顯示了各個(gè)不同錯(cuò)誤類型,方便用戶對(duì)編碼器工作狀態(tài)進(jìn)行監(jiān)控。
4 軟件測(cè)試
在開(kāi)發(fā)完編碼器操作軟件之后,需要對(duì)其進(jìn)行測(cè)試并對(duì)出現(xiàn)的問(wèn)題進(jìn)行處理。在測(cè)試中,對(duì)所有功能一一進(jìn)行測(cè)試,測(cè)試結(jié)果如圖6所示。測(cè)試結(jié)果顯示,編碼器操作軟件能夠正確運(yùn)行,正確響應(yīng)用戶的請(qǐng)求指令。
5 總結(jié)
筆者基于Qt平臺(tái)開(kāi)發(fā)了一款編碼器操作軟件,該軟件可對(duì)編碼器進(jìn)行參數(shù)讀寫等操作,簡(jiǎn)單、迅速、明了地實(shí)時(shí)監(jiān)測(cè)編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開(kāi)發(fā)與使用流程。最后對(duì)軟件進(jìn)行測(cè)試,證明了軟件的實(shí)踐運(yùn)用效果。
參考文獻(xiàn)
[1]李七一.數(shù)控技術(shù)和裝備發(fā)展趨勢(shì)及對(duì)策[J].今日科苑,2008,(14):50-50.
[2]陳琳,鐘文,潘海鴻,等.基于FPGA的絕對(duì)式編碼器的解碼電路設(shè)計(jì)[J].微特電機(jī),2013,41(8):60-63.
[3]張琴琴,楊建宏,劉琳.基于DSP的絕對(duì)式光電編碼器串行接口設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(14):185-188.
[4]Orlosky S.Basics of rotary optical encoders[J].Control Engineering,1997,(44):7282.
[5]董莉莉,熊經(jīng)武,萬(wàn)秋華.光電軸角編碼器的發(fā)展動(dòng)態(tài)[J].光學(xué)精密工程,2000,8(2):198-202.
[6]朱建宏,毛超,王平.簡(jiǎn)易絕對(duì)式光電編碼器的基本原理和通訊方式[J].電氣傳動(dòng),1997,39(4):43-47.
[7]方杰.基于HIPERFACE協(xié)議的絕對(duì)式高分辨率編碼器接口設(shè)計(jì)和在交流伺服中的應(yīng)用[J].機(jī)械制造,2014,52(7):44-46.