李唐 洪晴
(南京工業(yè)職業(yè)技術(shù)大學(xué)工程技術(shù)實訓(xùn)中心,江蘇南京 210023)
在自動化設(shè)備中經(jīng)常會遇到多軸轉(zhuǎn)動的問題,比如多軸機床。在復(fù)雜的環(huán)境下要實現(xiàn)多軸精確定位,需要考慮復(fù)雜電路對系統(tǒng)的干擾問題,同時,系統(tǒng)要盡量簡單,避免多環(huán)節(jié)造成的可靠性降低問題。CAN (Controller Area Network)總線由于其高性能、高可靠性及獨特的設(shè)計,具有較強的抗干擾能力,適合用于實時性要求很高的系統(tǒng)[1]。為了實現(xiàn)系統(tǒng)簡單,考慮采用總線控制方式,因為CAN 總線抗干擾性比較強,所以設(shè)計了基于CAN 總線的多軸轉(zhuǎn)臺控制系統(tǒng)。目前多采用單片機、plc 作為主控制器,采用串口總線控制方式,人機交互采用上位機或顯示屏實現(xiàn),這樣系統(tǒng)元件增加,成本較高。
針對上述問題,本文設(shè)計了四軸轉(zhuǎn)臺控制系統(tǒng),轉(zhuǎn)動范圍-180°~+180°,轉(zhuǎn)動速度1-10°/s 可調(diào)。采用基于CAN 總線的控制方式,同時選用觸摸屏作為控制,實現(xiàn)控制器與人機界面一體,該系統(tǒng)結(jié)構(gòu)簡單,精度高,可靠性高。
CAN 總線可根據(jù)總線驅(qū)動能力支持100 個以上節(jié)點,具有接口簡單,傳輸速率高、實時性好、抗干擾能力強等特點,非常適合伺服系統(tǒng)多節(jié)點、高實時性的要求[2]。威綸eMT 系列觸摸屏可以作為主站,從而實現(xiàn)對節(jié)點驅(qū)動器的控制。同時觸摸屏可以實現(xiàn)人機交互。電機為伺服電機,本文以施耐德BSH 伺服電機,驅(qū)動器型號為匹配的LXM32A 系列伺服驅(qū)動器為例。觸摸屏與節(jié)點之間采用CAN 總線進行通信,接口協(xié)議為CANopen,采用屏蔽雙絞線作為傳輸介質(zhì)設(shè)計。系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
觸摸屏作為主站,通過CAN 總線與4 臺電機驅(qū)動器連接,通過電機驅(qū)動器設(shè)置4 臺電機分別設(shè)置為節(jié)點1 至節(jié)點4,比特率均為1Mbp,觸摸屏與上位機留有RS485 串口,可實現(xiàn)上位機對系統(tǒng)的監(jiān)控。
觸摸屏中添加4 個CAN 從機,在EasyBuilder Pro 軟件的系統(tǒng)參數(shù)內(nèi)添加。如圖2 所示,共添加了4 個CAN 節(jié)點從機,節(jié)點號分別為1-4.波特率為1Mbp,添加了一個RS232 串口,用于與上位機的通訊,該串口波特率設(shè)置為115200kbps。至此觸摸屏添加硬件設(shè)置已完成,下面需要軟件設(shè)計。
圖2 添加CAN 節(jié)點從機
軟件開發(fā)工具為EasyBuilder Pro,是一款非常好用的威綸通觸摸屏編程軟件,軟件提供了人性化的人機交互界面,可以滿足不同編程人員的需要,適用于威綸通eMT、cMT、iE、MT(iP)以及TK(iP)機型,可以有效地提升編程人員的效率。為了實現(xiàn)各電機的精確定位,軟件設(shè)計通過CAN 總線操作伺服電機驅(qū)動器位置環(huán)。首先上電初始化CAN,然后判斷是否按下相應(yīng)軸的啟動按鈕,如啟動則關(guān)使能,選擇工作模式為位置模式,以及位置模式下的速度值。最后判斷輸入角度是否合法,是否在-180°~+180°范圍內(nèi),如合法則使能電機,電機運動到目標(biāo)角度??刂瞥绦蛟砜驁D如圖3 所示。
圖3 控制程序原理框圖
觸摸屏是通過運行宏指令來給電機發(fā)送指令和數(shù)據(jù)的,宏指令,是威綸通觸摸屏提供的一個附加功能。簡而言之,它是一個腳本編輯界面,用戶可以在上面編寫一些指令,從而對組態(tài)的控件執(zhí)行一些復(fù)雜的邏輯運算等處理。宏指令語法類似于簡化的C 語言。
本文主要用到了如下宏指令,分別用于實現(xiàn)不同的功能。如“回告”指令用于上報給上位機系統(tǒng)的角度數(shù)據(jù)?!按诮邮战嵌取庇糜趯邮盏降纳衔粰C指令進行解析?!巴V埂焙汀罢伊恪敝噶罘謩e用于停止工作和各軸回歸原點。四個軸的定位工作分別通過相應(yīng)的宏指令實現(xiàn)。最后的“差值顯示”指令用于顯示定位目標(biāo)角度與當(dāng)前角度的差值(圖4)。
圖4 主要宏指令
定位模式屬于點到點運行模式,這種模式僅可通過現(xiàn)場總線的方式來執(zhí)行運行模式,在設(shè)定目標(biāo)位置時有相對位置和絕對位置兩種方式。兩種方式均可以使用加速斜坡和減速斜坡以及最終速度參考值來設(shè)置運動曲線[3]。在執(zhí)行相對運動時,運動以上次目標(biāo)位置或者當(dāng)前電機位置為參考;執(zhí)行絕對運動時,因為執(zhí)行的絕對運動是完全以零點為參考的,所有在首次執(zhí)行絕對定位之前,必須通過Homing 模式來定義零點[4]。我們采用的是絕對運動,所以需要定義零點,我們先將各種調(diào)整至機械零點,然后通過can 總線讀取各軸電機編碼器的數(shù)據(jù),將機械零點時的數(shù)據(jù)標(biāo)定為零點。后面產(chǎn)生的運動都是以此零點為基礎(chǔ)。
在軸1 定位宏指令中,我們分別通過函數(shù)SetDataEx 關(guān)使能,設(shè)置位置模式,設(shè)置速度。然后在循環(huán)中,不斷通過GetData函數(shù)讀取觸摸屏數(shù)值元件RW25 輸入的軸1 的目標(biāo)角度,并進行角度轉(zhuǎn)換,最后通過函數(shù)SetDataEx 使能驅(qū)動器,電機實現(xiàn)轉(zhuǎn)動。具體程序如圖5 所示。其他功能宏指令與此示例類似,均通過相應(yīng)函數(shù)實現(xiàn),這里不再贅述。
圖5 主要程序
利用EasyBuilder Pro 軟件設(shè)計了人機界面,每個軸包含啟動停止按鈕,下發(fā)目標(biāo)角度的數(shù)值元件,顯示實際角度的數(shù)值元件和誤差角度數(shù)值元件。當(dāng)觸摸屏右上方伺服狀態(tài)為“開”時,用戶可對系統(tǒng)進行操作。伺服狀態(tài)為“關(guān)”時,系統(tǒng)禁止使用。(圖6)
圖6 界面設(shè)計
實驗階段,所有軸先恢復(fù)到機械零點,通過施耐德伺服電機調(diào)試軟件SoMove 軟件監(jiān)控電機運行狀態(tài),通過觸摸屏設(shè)置目標(biāo)角度10°,運動速度2°/s,然后按下“軸1 啟動按鈕”后,軸1從當(dāng)前位置開始運動,直至運動到目標(biāo)位置,運動曲線如圖7 所示,最上方曲線為位置曲線,中間為速度曲線,最下方為電流曲線??梢姡姍C運行平穩(wěn)。
對其他軸進行相同操作均可獲得準(zhǔn)確定位。多個軸可以同時操作。
本文設(shè)計了多軸轉(zhuǎn)臺控制系統(tǒng),以四軸為例做了具體說明,控制方式為CAN 總線控制,選用威綸通觸摸屏作為主站,各軸伺服電機驅(qū)動器為從站。軟件開發(fā)使用宏指令實現(xiàn)。最后模擬驗證,該系統(tǒng)能夠?qū)崿F(xiàn)轉(zhuǎn)動范圍-180°~+180°,轉(zhuǎn)動速度1-10°/s 可調(diào)的技術(shù)要求,控制精度0.1°。該控制系統(tǒng)結(jié)構(gòu)簡單,可靠性高。