FANUC機器人GI與GO位置數據傳輸設置(整數小數分開發)
一、概述
在 Fanuc 機器人應用中,如果 IO 點位足夠,可以利用機器人 IO 傳輸位置數據及偏移位置數據等。
二、操作步驟
1、確認通訊軟件安裝
首先確認機器人控制柜已經安裝了總線通訊軟件(如 EIP,Profinet),相應的 IO 端口通訊已經配置完成,已經配置相應的 GI 與 GO,GI 用于機器人數據輸入,GO 用于機器人數據輸出。
2、IO 數據傳輸原理
計算機通訊中數據是以補碼的形式進行傳輸的。正數和零的補碼是其二進制表示,與原碼相同。負數的補碼是將其原碼除符號位(首位)外的所有位取反(0 變 1,1 變 0,符號位為 1 不變)后加 1。以 8 位二進制數為例進行說明:+9 的原碼是 00001001,補碼也是 00001001。-9 的原碼是 10001001,補碼是 11110110 加 1,即 11110111。
3、PLC 與發那科機器人 IO 數據傳輸特點
PLC 與外部數據 IO 傳輸,無論發送與接收的數據都是補碼,傳輸的數據必須以整數的形式發送。如果數據不是整數則要乘以一定的倍數,將小數轉換成整數。機器人通過 GI/GO 傳輸數據,GI 接收的數據是以無符號數進行顯示;而將數據寄存器 R 值賦值給 GO 時,GO 會自動轉換成相應的補碼,無需人為轉換。因此,PLC 與發那科機器人 IO 進行數據傳輸時,機器人只需要將收到的 PLC 數據進行正負區分和轉換。發那科機器人組信號 GI/GO 每組最多只能設置 16 個點數。16 個信號組成的 16 位數據傳遞的有符號數范圍是-32767~+32767。 ? ?
4、 PLC 與發那科機器人 IO 傳送實時位置數據
1)為了保證機器人運行滿足實際精度要求,機器人數據必須保留到小數點后三位,如下圖所示。如果采用將機器人位置數據乘1000擴大1000倍的方法,那么每個GI或GO 傳輸的數據實際大小范圍則為-32.767~+32.767,很明顯不滿足實際要求。
2) 通常我們將坐標數據 X,Y,Z,W,P,R 的每個坐標分為整數部分和小數部分,整數部分根據實際傳輸,小數部分擴大 1000 倍取整傳輸。GI 定義如下圖所示:
3) 本例中是以 EIP 通訊為例,進行 GI 信號 IO 端口分配,GI 分配見下圖所示: ? ?
5、程序實現
1) 將 GI 收到的數據存儲到相應的數值寄存器,以方便進行運算。
詳細內容查看:https://mp.weixin.qq.com/s/BCXPYHJLGGTrGAXa-tHf7Q?payreadticket=HKJ6q73jkUbvlXzO_1ql7l4oXUuE4VronIZjPp_TZFAl1wqDGGQBCUl8hwvw_a0jxzAHZzo
?