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