kuka機器人使用profinet傳輸real類型數據的問題
2020-02-14 17:26:08
kuka機器人使用profinet傳輸real類型數據的問題
profinet即為實時數據通信,以IO的形式對應二進制數。
kuka機器人編程中real數據為4byte,即對應32個IO。
庫卡機器人使用profinet傳輸該real類型數據時,需將該real數據轉化為對應的32位數據編碼,可如以下編寫:
1.定義數據
REAL DATA1
int offset
CHAR Bytes[4]
SIGNAL KUKA1 $OUT[256] TO $OUT[263]
SIGNAL KUKA2 $OUT[264] TO $OUT[271]
SIGNAL KUKA3 $OUT[272] TO $OUT[279]
SIGNAL KUKA4 $OUT[280] TO $OUT[287]
SIGNAL PLC1 $IN[256] TO $IN[263]
SIGNAL PLC2 $IN[264] TO $IN[271]
SIGNAL PLC3 $IN[272] TO $IN[279]
SIGNAL PLC4 $IN[280] TO $IN[287]
(OUT[256] 至OUT[287]為KUKA要發送的profinet數據IO,IN[256] 至IN[287]為KUKA要接收的profinet數據IO)
2.設置real數據
DATA1 = 7.891123
3.置位OUT[256] 至OUT[287],即發送數據
offset = 0
CAST_TO(Bytes[],offset,DATA1)
KUKA1 = Bytes[4]
KUKA2 = Bytes[3]
KUKA3 = Bytes[2]
KUKA4 = Bytes[1]
以上即可發送標準編碼的real數據,PLC端可直接使用ID數據進行real數據的判斷。
(注:使用CAST_TO函數后,Bytes[1]為對應二進制的低位,Bytes[4]為高位。以上第3步驟設置只是為了對應PLC端ID數據的容易讀取,這樣在PLC端才不需要將數據倒置。)
4.接收來自PLC的實數QD數據
Bytes[1] = PLC4
Bytes[2] = PLC3
Bytes[3] = PLC2
Bytes[4] = PLC1
offset = 0
CAST_FROM(Bytes[],offset,DATA1)
接收到的數據存于DATA1中。
(注:PLC端直接設置QD數據為實數,則PLC端對應的IO映射到KUKA機器人端的IO,則PLC1為數據的高位,PLC4為數據的低位,所以步驟4這樣設置,才能使用CAST_FROM函數解析數據)
————————————————
版權聲明:本文為CSDN博主「nongzhen_」的原創文章
原文鏈接:https://blog.csdn.net/nongzhen_2019/article/details/104052604
了解更多:庫卡機器人