陸雪影
摘 要:文章主要從軟件和硬件兩個部分對基于PLC的工業(yè)機器人控制系統(tǒng)關鍵技術進行研究,硬件部分詳細介紹了工業(yè)機器人與多個伺服驅動器通信的SERCOS高速傳輸總線,及其與外圍I/O設備通信的CanOpen總線協(xié)議;軟件部分在CoDeSys產(chǎn)品基礎上,重點對G代碼解碼程序,以及進行工業(yè)機器人運動軌跡控制的插補程序結構進行研究。通過軟硬件的結合,工業(yè)機器人控制程序可讀取G代碼存儲的機器人運動控制程序,以及工業(yè)機器人硬件部分的準確、快速通信,滿足工業(yè)機器人的應用需求。
關鍵詞:工業(yè)機器人;控制系統(tǒng);SERCOS;CanOpen;CoDeSys
中圖分類號:TD40 文獻標志碼:A 文章編號:2095-2945(2018)12-0148-02
Abstract: In this paper, the key technology of industrial robot control system based on PLC is studied from two parts: software and hardware. In hardware part, the SERCOS high-speed transmission bus which communicates between industrial robot and several servo drivers is introduced in detail. The CanOpen bus protocol which communicates with the peripheral I/O equipment, the software part based on the CoDeSys product, with focus on the G code decoding program, as well as the interpolation program structure of the industrial robot motion trajectory control. Through the combination of software and hardware, the control program of industrial robot can read the motion control program stored in G code, and the hardware part of the industrial robot can communicate accurately and quickly, which can meet the application needs of industrial robot.
Keywords: industrial robot; control system; SERCOS; CanOpen; CoDeSys
工業(yè)機器人是一種機電一體化的高技術產(chǎn)品,在眾多生產(chǎn)領域廣泛應用,對于提高勞動生產(chǎn)力,改善工人作業(yè)條件,提高產(chǎn)品質(zhì)量,提高經(jīng)濟效益等方面都起著不可替代的作用。運動控制是工業(yè)機器人最重要的構成部分,本文主要對基于PLC的工業(yè)機器人運動控制系統(tǒng)進行研究。
1 控制系統(tǒng)總體結構
工業(yè)機器人控制系統(tǒng)的主要包括硬件和軟件兩個部分。其中,硬件部分主要通過SERCOS總線驅動工業(yè)機器人電機,以及為總線傳遞控制信號,實現(xiàn)與外圍I/O通信;軟件部分主要通過PLC實現(xiàn)機器人控制程序的讀取、語言的轉換、邏輯和運動控制??刂葡到y(tǒng)的工作原理與流程如下:控制系統(tǒng)上電時加載機器人控制程序,通過語言解釋程序,并通過PLC和CanOpen等現(xiàn)場總線接口,將CNC文件中的邏輯指令發(fā)送給I/O設備;同時,機器人語言解釋程序將運動控制指令轉換為標準G代碼,并通過插補程序計算各電機的控制目標數(shù)據(jù);最后,通過SERCOS高速運動控制總線,實現(xiàn)與各軸控制器之間的通信,控制工業(yè)機器人的各軸運動,實現(xiàn)工業(yè)機器人的精準控制。
2 控制系統(tǒng)硬件結構
2.1 SERCOS總線
與其他總線相比,SERCOS總線的數(shù)據(jù)傳輸速率高,具有極高的數(shù)據(jù)傳輸效率,和可設置控制參數(shù)以確保系統(tǒng)同步和精度等特點,這在實時性要求較高的工業(yè)機器人控制系統(tǒng)中具有非常大的優(yōu)勢。為此,本文所設計的工業(yè)機器人控制系統(tǒng)采用SERCOS總線。工業(yè)機器人控制系統(tǒng)的硬件系統(tǒng)利用SERCOS主卡作為主站與機器人運動執(zhí)行部件之間的接口,為軟件系統(tǒng)提供了一個通用化、開放性的控制平臺,有助于實現(xiàn)控制系統(tǒng)主控功能的軟件化。
2.2 CanOpen協(xié)議
CAN總線鏈路層采用CSMA/CD方式,在總線傳輸發(fā)生沖突時,采用“非破壞總線優(yōu)先逐位仲裁”技術,以保證優(yōu)先級高的信息能夠優(yōu)先通過總線傳輸,以保證工業(yè)機器人控制實時性。CanOpen基于CAL子協(xié)議,具有很好的模塊性特性,具備很強的適應性,得到了廣泛的應用。在CanOpen協(xié)議的應用層,設備之間通過交換通信對象實現(xiàn)通信,借助CanOpen良好的面向對象和分層設計思想,構建了一個清晰的通信模型。CanOpen應用層的所有對象(COB)可通過一個16位索引和一個8位子索引進行檢索,由于CanOpen的性能穩(wěn)定、功能強大、價格低廉和通用性好等原因,本文所研究的工業(yè)機器人控制系統(tǒng)采用CanOpen協(xié)議實現(xiàn)控制系統(tǒng)與外圍I/O接口的通信。
3 控制系統(tǒng)軟件結構
軟件是工業(yè)機器人控制系統(tǒng)的核心內(nèi)容之一,也是本文研究的重點內(nèi)容。本文所研究的工業(yè)機器人控制系統(tǒng)使用基于IEC61131-3標準的CoDeSys系統(tǒng)進行PLC程序編寫。CoDeSys包含了力矩控制模塊、速度控制模塊、電機位置控制模塊、插補模塊等幾乎所有基本模塊,同時也支持用戶根據(jù)實際情況編寫新的控制模塊,其功能非常強大,應用也非常人性化。在集成Windows操作系統(tǒng)的工控機上安裝CoDeSys軟件,并通過工控機上的SERCOS主卡和CAN總線卡,實現(xiàn)PLC與其它接口之間的通信。首先使用AML和AUTOPASS等具有動作級編程語言全部動作功能的高級語言,開發(fā)機器人控制程序,然后通過代碼解碼,將高級語言編寫的機器人控制程序,轉換為可以直接進行伺服電機控制的數(shù)控程序(G代碼);最后,通過插補,確定最終的伺服電機運動控制軌跡。
3.1 代碼編譯
代碼編譯是將使用高級機器人語言編寫的機器人控制程序,轉換為數(shù)控程序(G代碼)的過程。其主要任務就是將用戶所編寫的機器人控制程序準確無誤地轉換成相應的G代碼指令。其實現(xiàn)包括兩個步驟的內(nèi)容:第一步,通過一個數(shù)組,將機器人控制程序的指令、變量及其值分別保存起來;第二步,將每一跳機器人運動控制程序轉換為G代碼,并保存到數(shù)據(jù)存儲器上。在CoDeSys中,使用ST實現(xiàn)代碼編譯過程,分別使用strComm、StrChar和fValue三個變量來存儲指令名、變量名和變量值三個部分的內(nèi)容。其數(shù)據(jù)結構定義如下所示。
typedef struct ROBOT_PARAM{
String strComm;
String strChar;
String fVvalue;
} ROBOT_PARAM;
機器人的語言指令設計如表1所示。
3.2 代碼解碼
機器人控制程序在加載前以G代碼的形式保存在存儲器上,機器人的插補程序無法直接讀取文本形式的G代碼,因此需要借助解碼程序讀取文本總的G代碼,將之轉換為插補程序能識別的數(shù)據(jù)流,并傳給插補程序。該模塊的詳細介紹如表2所示。
3.3 插補程序
插補程序的主要功能為機器人運動軌跡控制,機器人根據(jù)控制系統(tǒng)所給出的機器人行動軌跡目標位置,結合當前位置信息,實現(xiàn)機器人運動軌跡插補。在解碼完成后,控制系統(tǒng)將完成解碼的控制數(shù)據(jù)發(fā)送給插補程序,并根據(jù)從解碼數(shù)據(jù)中獲得的機器人運行位置信息,進而得到機器人運行到目標位置,各電機所需要轉動的角度,進而將這些角度值和運行順序發(fā)送給機器人電機,通過驅動電機的轉動,來實現(xiàn)機器人的運行控制。機器人運行軌跡的插補,相當于逆向運動學分析。機器人運動插補程序的實現(xiàn)采用CoDeSys中的Interpolator模塊,在使能端被激活后,Interpolator模塊從g_CNCpoqPath中獲取機器人的目標位置,進行插補計算,通過piSetPosition函數(shù)將初步結果從輸出端口中輸送出去。
參考文獻:
[1]張倩,單忠德.基于PLC和PMC的經(jīng)軸紗機器人控制系統(tǒng)研究與設計[J].制造業(yè)自動化,2017,12(25).
[2]宮小飛,陳富林,馮帥.基于ARM嵌入式機器人控制系統(tǒng)的研究與設計[J].機械與電子,2017,12(24).
[3]吳曉帆.基于PLC的焊接機器人自動控制系統(tǒng)設計[J].現(xiàn)代信息科技,2017,1(2).
[4]紀利琴,葛新生,蘇巧平.基于PLC的雙臂焊接機器人控制系統(tǒng)的設計[J].新鄉(xiāng)學院學報,2017,9(11).