■陜西漢江機床有限公司 (漢中 723003) 張新寧 黨玉厚
三菱機械手與觸摸屏的數據共享試驗與研究
■陜西漢江機床有限公司 (漢中 723003) 張新寧 黨玉厚
摘要:利用三菱機械手CRnD-700控制器的擴展功能,與觸摸屏GT1275網線直連,通過機械手控制器共享數據區進行數據共享訪問。通過模擬交通燈來驗證共享區數據的正確性,并將該結果推廣到多個子項目中,獲得了專家認可。
工業機器人是面向工業領域的多關節機械手或多自由度的機器人,是自動執行工作的機器裝置,是靠自身動力和控制能力來實現各種功能的一種機器。它可以接受人類指揮,也可以按照預先編排的程序運行,還可以接受示教而完成各種簡單的重復動作。示教過程中,機械手可依次通過工作任務的各個位置,這些位置序列全部記錄在存儲器內,在任務的執行過程中,機器人的各個關節在伺服驅動下依次再現上述位置,故這種機器人的主要技術功能被稱為“可編程”和“示教再現”。
在工業生產中能代替人做某些單調、頻繁和重復的長時間作業,或是危險、惡劣環境下的作業,在國家重大專項“五軸聯動高速、精密可轉位刀片周邊和雙端面刃磨數控工具磨床(2010ZX04001-162)”上,機械手的主要作用就是給加工機床上、下料(小刀片),配合機床加工并將加工好的刀片進行管理,每天加工能力在600片以上。強度之大難以想象。
在使用機械手的過程中,出現了許多不容易解決的問題。通過對加工工藝流程的改進、程序控制邏輯的修正、機械手新功能的開發和使用,都有較好的效果。下面就三菱四軸水平關節機器人和觸摸屏之間的數據共享進行論述。
所謂數據共享,就是在機械手控制器的存儲器內單獨開辟一塊專用區域,機械手控制器將機械手的操作數據寫入存儲區,而觸摸屏(簡稱GOT)從存儲區取得相應數據,通過簡單的處理,將機械手的狀態以信息顯示的方式在GOT屏上顯示出來。反之,GOT屏上設置的數據寫入共享區,機械手控制通過相應指令讀取設置信息,根據設置數據情況進行程序操作,使得機械手執行相應的動作,以實現數據共享的交互操作。
由于三菱機械手控制器和三菱觸摸屏都支持網絡連接,因此只需要通過一根平行網線進行網絡連接即可。所說的平行網線就是通常的通用網線,不需要特別制作。連接圖如圖1所示。

圖1 機械手控制器與GT1275的連接
三菱機械手控制器數據區域包括用戶數據區和擴展數據區。在用戶數據區中,機械手控制器基本配置為:Input 0~95,Output 0~95;擴展I/O地址:Input 96~511,Output 96~511。
如果需要使用控制器的共享擴展存儲區域,就必須設置控制器參數“IQMEM”。擴展存儲區域為0.5K字(每個字為16位二進制數)。當然需要三菱機械手生產廠家增加擴展協議和擴展模塊(見圖2、圖3)。
訪問共享存儲區域,共享地址是以偏移地址模式進行操作的。機械手控制器的輸入地址對應于GOT的輸出地址,機械手控
制器的輸出地址對應于GOT的輸入地址。
在觸摸屏中訪問地址是十六進制地址,而在機械手控制器中僅可以采用十進制地址偏移,也可以采用十六進制地址偏移(見表1)。

圖2 輸入數據共享存儲區地址影射

圖3 輸出數據共享存儲區地址影射

表1
在操作共享數據區時,特別要注意,機械手保留了許多專用數據區,訪問時不能隨便亂用,防止錯誤數據造成系統出現問題。當然,用戶只能操作具有R/ W屬性的數據區數據。
由于專項中使用的是標配的水平多關節機械手及控制器系統,不帶擴展數據存儲模塊,因此數據共享區只能使用0~511的輸入/輸出地址,在試驗中共享數據區使用了偏移地址為256開始的IO地址,即輸入地址為256~271、272~287、288~303三個雙字節地址(每個雙字節占16位IO點),作為觸摸屏上設置數據的共享區;輸出地址為256~271的一個字節地址作為觸摸屏上顯示數據的共享區。
三菱機械手控制器的編程語言是MELFA BASIC Ⅴ。類似于BASIC的語言結構,其中有許多和BASIC完全相同的指令,但用法有些又完全不同,又增加了許多專用的指令。在此對一些常用的指令作功能簡要說明。
M_In(16)( 機械手控制器的輸入口,其中16表示輸入口地址為第17個輸入點。)
M_Inw(10000+16*16) ( 機械手控制器的共享輸入口,表示輸入口地址為第10000個輸入點開始的第16個雙字節地址(每個字節8位),相當于機械手的輸入口M_ Inw256一個雙字節的地址。)
M_Inw(10000+16*16)(指令和M_Inw256使用效果相同。)
M_Out(16) (機械手控制器的輸出口,其中16表示輸出口地址為第17個輸出點。)
M_Outw(10000+16*16) (機械手控制器的共享輸出口,表示輸出口地址為第10000個輸出點開始的第16個雙字節地址,相當于機械手的輸出口M_Outw256一個雙字節的地址。)
M_Outw(10000+16*16)(指令和M_Outw256使用效果相同。)
DLY 1(表示延時1s。)
While <條件>…… Wend(程序循環指令,當條件滿足時執行循環體內指令。)
Select <條件>(執行滿足條件的程序塊。)
Case
Case else
End select
Break(強行跳出循環體。)
If <條件> then <地址>(程序控制指令,根據條件判斷進行程序跳轉。)
M1=10(賦值語句。)
Hlt(機械手程序停止。)
當然,三菱機械手控制器還包含有其他的指令,例如關節插補指令Mov,直線插補MVS,碼垛運算def plt,plt,以及子程序Gosub和子程序調用Callp等指令,由于在下面的事例程序中沒有用到,不再一一介紹。
本事例是模擬交通紅綠燈功能控制,動作如下:啟動機械手程序,三個燈滅。紅燈亮,延時10s后,紅燈滅;黃燈亮,延時3s后,黃燈滅;綠燈亮,延時10s后,綠燈滅;循環上述工作過程。
GOT的界面設置:在GOT上制作一個數據顯示框(模擬顯示紅黃綠三個燈等待時間),三個數據輸入框(設置紅黃綠三個燈點亮時間)和三個指示燈(分別代表紅、黃、綠三個交通燈),具體設置如表2所示。
機械手控制紅綠燈的程序流程框圖如圖4所示。

表2

圖4 機械手控制紅綠燈的程序流程框圖
根據圖4所示,編制機械手控制器控制程序。
在機械手在線程序中新建一個程序,文件名為1.MB5。機械手控制程序清單如下:
‘=================
‘交通燈自動控制系統(Traffic lights)
‘=================
M_Out(16)=0‘red light
M_Out(17)=0 ‘yellow light
M_Out(18)=0 ‘green light
mSetTimes=5'設置程序執行次數,中間變量。文檔中沒有說明的 m… 均為中間變量。
M1=0
M3=0'選擇點亮哪個燈0=紅燈,1,3=黃燈,2=綠燈
'mRed_Delay=M_Inw(10000+16*16)'觸摸屏上設置紅燈點亮時間(本行在機械手上測試時要用,保留)
'mYellow_Delay=M_Inw(10000+16*17)'黃燈點亮時間
'mGreen_Delay=M_Inw(10088+16*18)'綠燈點亮時間
mRed_Delay=10
mYellow_Delay=3
mGreen_Delay=10
*NextLoop:'程序循環跳轉地址
mCur_Delay=0
M3=M1 mod 4
SelectM3
Case 0
M_Out(16)=1 '紅燈點亮
M_Out(17)=0 '黃燈
M_Out(18)=0 '綠燈
M2=mRed_Delay
While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(16)=0 Break Case 1,3 M_Out(16)=0 ‘紅燈 M_Out(17)=1 ‘黃燈點亮 M_Out(18)=0 ‘綠燈 M2=mYellow_Delay While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(17)=0 Break Case 2 M_Out(16)=0 ‘紅燈 M_Out(17)=0 ‘黃燈 M_Out(18)=1 ‘綠燈點亮 M2=mGreen_Delay While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(18)=0 Break End Select M1=M1+1 If M1 *EndLamp: M_Out(16)=0 M_Out(17)=0 M_Out(18)=0 Hlt 打開機械手控制器的監視菜單下的信號監視,查看通用信號的狀態變化;在調試模式下打開程序1.MB5,按控制面板上的執行鍵,可以看到如下的運行結果: 紅燈亮如圖5所示。 圖5 黃燈亮如圖6所示。 圖6 綠燈亮如圖7所示。 圖7 更改上面的程序,使程序變為: mRed_Delay=M_Inw(10000+16*16)(紅燈點亮時間,在機械手上測試時要用) mYellow_Delay=M_Inw(10000+16*17)(黃燈點亮時間) mGreen_Delay=M_Inw(10088+16*18)(綠燈點亮時間) (mRed_Delay=10) (mYellow_Delay=3) (mGreen_Delay=10) 在觸摸屏上設置三個燈的點亮時間后,將機械手控制器上的鑰匙開關扳到自動方式,選擇執行程序1.MB5,按程序啟動鍵運行程序,可以看到程序運行結果:三個指示燈循環變化狀態。結果表明,完全模擬了交通紅黃綠的控制,證明試驗是完全成功的,達到了預期的效果。 通過上面的成功試驗,在國家重大專項“五軸聯動高速、精密可轉位刀片周邊和雙端面刃磨數控工具磨床(2010ZX04001-162)”上有許多典型的擴展應用,例如邦納相機照相數據、三菱觸摸屏操作數據、上位機PC控制數據、發格(Fagor)數控系統8070的PLC接口數據、程序控制數據,全部通過一個由路由器組成的局域網絡傳輸到三菱機械手的共享數據區,這些數據通過觸摸屏來顯示信息,控制其他可操作的動作,例如氣閥、液壓缸、料庫升降及料盤出入庫等動作,取得了良好的配合動作。這些技術的應用,在重大專項項目驗收的過程中,得到了專家的好評。 * “高檔數控機床與基礎制造裝備”國家重大科技專項基金項目(2010ZX04001-162) 收稿日期:(20150214)6. 交通燈控制程序的模擬運行結果



7. 機械手上的程序測試
8. 試驗結果的推廣應用