文章目录
ABB机器人组输入、组输出信号只能发送正整数,本文将阐述如何通过程序将float数据类型进行收发。
一、效果展示
ABB机器人通过PN总线收发float数据
go_float1:浮点数转换后发出的数值
reg2:接收的组信号转换为浮点数的值
二、知识储备
1.PackRawBytes - 将数据装入原始数据字节数据
PackRawBytes用于将num、dnum、byte或string类变量的内容装到rawbytes.
类容器中
2.UnpackRawBytes - 打开来自原始数据字节数据的数据
UnpackRawBytes用于将rawbytes型容器的内容解包至byte、num、dnum或string
型变量
3.BitLShDnum - 双数值上的逻辑逐位LEFT SHIFT运算
BitLShDnum(Bit Left Shift dnum)用于执行数据类型dnum上的逻辑逐位LEFTSHIFT
运算。
4BitRShDnum - 双数值上的逻辑逐位RIGHT SHIFT运算
BitRShDnum(位右移双数值)用于在数据类型dnum上执行一次逻辑逐位RIGHT
SHIFT运算。
三、源码说明
1.发送浮点数
PROC rSendfloat(num nSendDate)
ClearRawBytes rawbyte1; !清空rawbyte1
PackRawBytes nSendDate,rawbyte1,1\Float4; !将nSendDate以float4形式打包到rawbyte1中,从第一个数组开始
FOR i FROM 1 TO 4 DO
UnpackRawBytes rawbyte1,i,byte1{
i}\Hex1