ABB机器人使用profinet传输real类型数据的问题

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

(0)

相关推荐

  • S7-1500PLC与ABB机器人profinet通讯

    关于启程 启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构. 课程咨询报名+老师微信(13809869603)

  • 详解lua的string与hex数据(十六进制)

    本文希望阐述的问题 在lua中处理 string 与 hex(十六进制数) 的思维转换 背景 luat在处理通信的时候,总会设计到数据处理,例如: socket:sendsocket:recvspi. ...

  • 周报107期 | ABB机器人学习中,经常碰壁问题,绝对有你遇到的?

    周报107期 | ABB机器人学习中,经常碰壁问题,绝对有你遇到的?

  • 【干货】ABB机器人编程技巧8:ABB机器人数据存储类型区别

    CONST VAR PERS 区别 1)ABB机器人任何数据都有存储类型,分为常量CONST,变量VAR和可变量PERS 2)常量CONST,即程序内不能赋值 3)变量和可变量程序都能赋值,区别如下 ...

  • ABB机器人 | 数据备份与恢复

    智能方在线学院&助力提高您的技术能力您身边的机器人服务专家定期对ABB机器人的数据进行备份,是保证ABB机器人正常工作的良好习惯.ABB机器人数据备份的对象是所有正在系统内存运行的RAPID程 ...

  • ABB 机器人 I/O信号监控与操作 Profibus与Profinet适配器的连接配置《第二期》

    第一期已经介绍过了,今天我们来学习新的知识,第二期教你学会信号的配置方法及监控与操作的方式,掌握Profibus总线配置方法和Profinet总线配置方法及学会系统输入输出和可编程按键的使用. 智能方 ...

  • 【机器人profinet通讯】ABB机器人Profinet总线设置—基于888-3选项

    Profinet 总线,是目前机器人比较主流的一种通讯方式,在自动化设备中,机器人往往作为PLC系统的一个从站,所以ABB提供了一种方便.快捷.经济的方式实现与PLC之间的通讯,不需要任何额外的硬件支 ...

  • ABB机器人与S7-1200PLC profinet通信

    一. 所需硬件 笔记本一台(装好博图V15) ABB机器人一台(带profinet选项,带GSD文件包) 1200PLC一台 网线3条 交换机1台 准备好硬件以后用网线将PLC,机器人,交换机,电脑连 ...

  • 干货 | ABB机器人系统的重启类型与应用场景

    对于ABB机器人控制系统,进行诸如配置IO.修改系统默认工作语言等操作,都会被要求重启控制系统.通过示教器的重启列表,我们也可以发现很多重启类型. 今天我们就来谈一谈ABB机器人控制系统的重启类型与应 ...

  • ABB机器人与视觉通信发送数据

    导读:在工作中,通常会使用机器人去实现物料的抓取,而物料的颜色.形状.大小.角度等参数,机器人无法去实现,而视觉相机有可以实现这一功能.但是双方交换数据时,需要编程人员去规约或者提取.今天就和大家聊聊 ...

  • ABB机器人重启类型和应用

    需重新启动机器人系统的情况有很多,有时为了解决软件问题,有时为了让配置的参数生效,有时为了有个干净的系统环境. 在主菜单,选择重新启动. 点重启是热启动,系统会重新启动.点"高级...&qu ...