您好!欢迎光临工博士商城

ABB工业机器人销售

产品:211    
联系我们
联系方式
  • 联系人:黄经理
  • 电话:15821599520
  • 邮件:hc@gongboshi.com
  • 手机:15821599520
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > ABB机器人使用profinet传输real类型数据的问题--ABB机器人
新闻中心
ABB机器人使用profinet传输real类型数据的问题--ABB机器人
发布时间:2022-05-12        浏览次数:456        返回列表
 ABB机器人使用profinet传输real类型数据的问题
 
profinet即为实时数据通信,以IO的形式对应二进制数。
ABB机器人编程中real数据为4byte,即对应32个IO。
 
ABB机器人使用profinet传输该real类型数据时,需将该real数据转化为对应的32位数据编码,所以需要在配置对应signal时将Device Mapping 只包含8个IO的跨度,分为
4个输出signal:
profinet_out_byte0
profinet_out_byte1
profinet_out_byte2
profinet_out_byte3
4个输入signal:
profinet_in_byte0
profinet_in_byte1
profinet_in_byte2
profinet_in_byte3
 
1.定义数据
LOCAL VAR rawbytes raw_DA;
LOCAL VAR num FZ:=0;
LOCAL VAR byte byte_0:=0;
LOCAL VAR byte byte_2:=0;
LOCAL VAR byte byte_3:=0;
LOCAL VAR byte byte_1:=0;
 
2.设置real数据
FZ := 14.33478;//need to send
 
3.置位4个输出signal,即发送数据
ClearRawBytes raw_DA;
PackRawBytes FZ, raw_DA, 1\Float4;
UnpackRawBytes raw_DA, 1, byte_3\Hex1;
UnpackRawBytes raw_DA, 2, byte_2\Hex1;
UnpackRawBytes raw_DA, 3, byte_1\Hex1;
UnpackRawBytes raw_DA, 4, byte_0\Hex1;
SetGO profinet_out_byte0, byte_0;
SetGO profinet_out_byte1, byte_1;
SetGO profinet_out_byte2, byte_2;
SetGO profinet_out_byte3, byte_3;
以上即可发送标准编码的real数据,PLC端可直接使用ID数据进行real数据的判断。
(注:使用PackRawBytes 函数将发送的数据以Float4的方式编码后再用UnpackRawBytes 函数解出每一位的数据,byte_0为对应二进制的高位,byte_3为低位。以上第3步骤设置只是为了对应PLC端ID数据的容易读取,这样在PLC端才不需要将数据倒置。)
 
4.接收来自PLC的实数QD数据
byte_0 := profinet_in_byte0;
byte_1 := profinet_in_byte1;
byte_2 := profinet_in_byte2;
byte_3 := profinet_in_byte3;
ClearRawBytes raw_DA;
PackRawBytes byte_3, raw_DA, 1\Hex1;
PackRawBytes byte_2, raw_DA, 2\Hex1;
PackRawBytes byte_1, raw_DA, 3\Hex1;
PackRawBytes byte_0, raw_DA, 4\Hex1;
UnpackRawBytes raw_DA, 1, FZ\Float4;
接收到的数据存于FZ中。
(注:PLC端直接设置QD数据为实数,PLC端对应的IO映射到ABB机器人端的IO,则profinet_in_byte0为数据的高位,profinet_in_byte3为数据的低位,所以步骤4这样设置,才能使用UnpackRawBytes 函数解析数据)来源   网络
       更多详情:ABB机器人             



 

联系热线:15821599520 联系人:黄经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB工业机器人销售

返回
顶部