首頁 » 安川機械手臂 » [YaskawaRobot] 通訊控制功能(High Speed Ethernet Server)

[YaskawaRobot] 通訊控制功能(High Speed Ethernet Server)

作者:

分類:
YRC1000教導器畫面

安川手臂可透過網路通訊協定控制,例如讀取手臂目前位置或是讀寫手臂狀態、I/O、警報…等參數資訊、讀寫手臂Job File,另外也可直接下指令移動手臂,但為了安全非常不建議。

如何透過網路控制安川手臂,除了額外購買安川開發的函示庫(MOTOCOM…等);另一個方法就是自行實作Yaskawa High Speed Ethernet Server,而這部分安川是有將封包格式公開的,只要去官網都可以找到相應資料參考

Yaskawa High Speed Ethernet Server

限制

Yaskawa High Speed Ethernet Server是安川手臂的網路通訊控制協定,以UDP方式為基礎,透過此協定可以讀寫手臂大多數的參數及狀態,但有以下限制

  • 需要開啟遠端指令模式(CMD REMOTE):開啟方式請參考此篇
  • 相關參數的寫入&讀取額外權限需要設定:通常預設即可,如果需要可參考 Ch11.2 Related Parameter
  • 指令同時執行限制:大意上指令需依序執行,同時下指令雖然不會有問題,但控制器可能不會回應
    • 實測需要等待收到控制器回覆後才能送下一個指令,但這過程是很快的
    • 猜測可能是考量安全性的問題

網路參數

IP:192.168.255.1 (UDP)

PORT:10040(手臂控制/參數/狀態)、10041(檔案傳輸)

封包組成

通訊控制協定中最重要的封包部分,根據安川的手冊由標頭(header: 32 bytes)+資料(variable data: 479 bytes at max.)組成,因此最大會有511 byte。

請求(req)指令封包結構
請求(req)指令封包結構
回應(ans)指令封包結構
回應(ans)指令封包結構

絕大多數的讀寫指令都可以透過單一封包來完成,只有檔案傳送多點數值讀寫這兩種狀況需要分多個封包傳送,這時會需要Block No.來組合封包。


以上為工作過程紀錄,有興趣的可以自行實作看看,GitHub上也有範例可以參考。

小弟照著手冊說明開發是可行的,成功省了不少購買函示庫的費用。

如果內容有誤,還請先進前輩不吝指教。

參考文件

「cian」的個人頭像