三菱機械手與上位機通信的VB實現
2018-5-10 來源:陜西漢江機床有限公司 作者: 張新寧
摘要:利用三菱機械手與上位機的通信,解決了機械手控制器中程序和數據文件的備份保存問題;同時解決了國標刀片類型多、數據多和程序多的數據存放問題,簡化了機床的操作。
工業機器人在機械加工、制造業、汽車以及化工等領域的應用越來越廣泛。國家重大科技專項“五軸聯動高速、精密可轉位刀片周邊和雙端面刃磨數控工具磨床”(2010ZX04001—162)的產品調試過程中,上位機和機械手的通信一直是一個難題,因為機械手控制器就相當于一個黑匣子,用戶并不清楚內部裝載了什么程序和數據文件,只能從控制器面板上選擇可執行文件并執行,而且執行程序的名稱僅限于不多于4位的數字文件名,對于多于4位的程序名以及非數字字符文件名不能從面板選擇和執行,只能通過機械手的專用軟件來操作。
在一臺專用的電腦上運行機械手專用軟件,能夠查看、選擇并執行程序,但需要專門的技術人員才行。非專業技術人員操作機床需要利用簡單的操作方法來實現,鑒于這種目的,通過對機械手性能和軟件結構等進行分析,基于三菱機械手提供的Active X通信控件Melfa RXM.ocx具有一些專用的命令,可以實現上位機與機械手控制器之間的通信。本文介紹了在Visual Basic 6.0下的上位機與三菱機械手的通信方法。
1. 準備工作
( 1 ) A c t i v e X 通 信 控 件M e l f a R X M . o c x 在 V B 6 下的注冊。在將機械手專用控制軟件RT Toolbox 2安裝到windows系統中之后,Melfa RXM.ocx控件可通過下列方法進行VB6的注冊:打開VB6程序,新建一個工程(標準EXE),命名為“機械手與上位機通信試驗”,菜單欄中選擇【工程】、【部件】,打開【部件】對話框,在【控件】下選擇“Melfa Rx M Active X module”項,如圖1所示,點擊“確定”按鈕,注冊完成。
圖1
(2)在機械手軟件安裝路徑下,找到Melfa RXM_Dev文件夾并打開,將Robo Com文件夾下的Robot Com.exe文件拷貝到剛建立的工程路徑根目錄下,如圖2所示。R o b o t C o m.e x e文件是與機械手通信的伺服軟件,在與機械手控制器通信的過程中,數據的傳送和接收均依賴于這個執行文件,是機械手控制器通信的通道。
圖 2
2. 三菱機械手通信控件的Melfa RXM.ocx的主要方法介紹
(1)Server Live。功能:獲取通信伺服的狀態。返回值:1(即true,下同)表示通信伺服已經啟動,0(即false,下同)表示通信伺服未啟動。
(2)Server Start。功能:啟動通信伺服。返回值:1表示通信伺服啟動成功,0表示通信伺服啟動失敗。
(3)Server Kill。功能:關閉通信伺服。返回值:1表示通信伺服關閉,0表示通信伺服關閉失敗。
(4)R e q u e s t S e r v i c e、R e q u e s t S e r v i c e2N u l l。功能:發 送 一 個 通 信 請 求 。 語 法 :R e q u e s t S e r v i c e2N u l l ( l o n g M s g I D , S t r i n g D a t a , l o n g Display, long Cycle)。參數:M s g I D表示定義機械手控制器的編號ID,不同的ID有不同的通信數據格式和不同的結果。例如:I D=100,功能是讀取機械后控制器中的程序;ID=106,功能是讀取機械后控制器中的程序列表。D a t a表示依賴于不同的M s g I D,不同的Msg ID,Data數據不同。Display表示是否在通信中顯示數據。Cycle表示機械手控制器通信中的監控次數,始終為“1”。返回值:返回通信結果,1表示接收數據成功,0表示接收數據失敗,-1表示通信伺服未啟動。
(5)G e t R e c v D a t a。功能 : 獲 取 通 信 數 據 。 語 法 :G e t R e c v D a t a (l o n g M s g I D,String Data,long Status,longError)。參數:Msg ID表示設置請求的通信ID;Data表示通信所接受的數據;Status表示通信狀態,1表示接收數據成功,2表示數據傳送失敗,3表示接收數據超時;Error表示發生錯誤號(如果發生錯誤時);返回值表示返回通信結果,1表示獲取數據成功,0表示無效數據。
3. 在V B程序中涉及到的通信ID號的定義
三菱機械手控制器的通信控件,包含有400多種通信ID,不同的ID產生不同的通信。下面簡要解釋部分ID功能.
(1)ID=100。功能:從控制器中讀取程序。參數:要讀取的程序名。
(2)ID=106。功能:從控制器中讀取程序列表。參數:無。
(3)ID=235。功能:讀取機械手當前的位置坐標。參數:槽號,對于單控制器為1。機床號:對于單控制器為1。坐標類型:對于關節=0,對于直角坐標 = 1 。 返 回 值 : 第 一 軸 ( X )坐標,第二軸(Y)坐標,第三軸(Z)坐標,……,第八軸坐標。
(4)ID=304。功能:讀取機械手控制器中帶特殊擴展名的文件。參數:擴展名,例如“.TXT”。返回值:返回控制器中所有包含擴展名的文件列表。
(5)ID=305。功能:讀取機械手控制器中指定文件的文件清單,可以是程序文件名,也可以是指定的數據文件名。參數:指定文件名。返回值:指定文件名和文件中包含的數據字符串。
4. 在與三菱機械手控制器
進行通信中的VB6試驗結果
( 1 ) 利 用 I D = 1 0 0 , 讀 取T E S T1的機械手控制程序清單,如圖3所示。返回結果:第一行,指定的程序名;第二行,文件中包含的程序的行數;第三行及以后行,指定文件的程序清單。
(2)利用ID=106,讀取機械手控制器中所有程序列表,在列表可以看到包含有TEST1.MB5的程序,如圖4所示。
(3)利用ID=235,讀取機械手當前的位置坐標(見圖5)。在輸出數據中包含了機械手的X、Y、Z軸的實際坐標值。在機械手模擬運行中對比,如圖6所示。圖6a為機械手的實際位置,圖6b是機械手運行模擬的坐標位置顯示。由比較可知,試驗結果和實際坐標是吻合的。
(4)利用ID=304讀取機械手控制器中所有的程序文件和數據文件列表,如圖7所示。
圖7
(5)利用ID=305讀取指定數據文件。在顯示中包含了數據文件名、文件大小以及文件的字符串數據清單,如圖8所示。
圖8
當 然 , 三 菱 機 械 手 控 制 器的通信控件功能是相當強大的,還包括了機械手的各種信息、控制器的各種信息、文件刪除以及拷貝等功能,由于涉及范圍的限制,不再一一列舉。
5. 試驗的應用
本次試驗是非常成功的,通過試驗,進一步將三菱機械手與上位電腦、筆記本的通信擴展到F a g o r8070數控系統中,典型的應用有:①在CNC中嵌入機械手坐標采樣程序,將不同刀片加工時機械手的實際坐標采樣并保存在C N C硬盤中,供以后加工時數據恢復和自動調用。②機械手運作程序的備份保存。③定期清理機械手控制器中不常用的數據文件,確保機械手控制器內存充足,運行流暢。
6. 結語
通過這次試驗,學習了一種新的通信方法。這種獨特的參數化通信模式涵蓋了三菱機械手與上位機的所有通信內容,為程序的模塊化設計提供了一個參考樣本,也為以后的編程提供了一個新思路。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息