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函数解析数据)

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值