ABB机器人通讯进阶篇——套接字拆分提取

对于有一定通讯基础的小伙伴来说,掌握基本的通讯指令,要将指令用于实际的项目中,特别是与机器视觉通讯时,接收视觉点位在机器人全局点中的使用。此篇章对socket搜索指令,寻位指令,转化指令进行进一步讲解。

一、字符串搜索指令STRFIND

1、对于非标视觉通讯来说,机器人触发拍照指令后,视觉软件会返回1个或者多个点位给到机器人,下图我们使用通讯助手进行视觉软件的模拟,格式为:点位名称,X,Y,Z,RX,RY,RZ的值。

2、在示教器上添加对应的赋值语句,创建一个num型的变量为found表示寻位长度变量,一个num型的变量start表示起始位变量,一个num型的变量为long表示切割套接字长度

3、添加对应的赋值语句,左侧为我们的寻位长度,右侧为搜索指令STRFIND1(  * ,  * ,  * )中的需要填入的3个参数。

第一个参数received_string为我们用来接收视觉发送过来的字符串变量

第二个参数start为我们创建的用来接收字符串的起始位变量,对start进行赋值,让其等于found+1

(因为有把分割号的1个长度计算进去)

第三个参数为我们用来分割数据的分割符号

4、以我们测试的通讯软件为例,其中第一位为点位名称pos1,那么我们运行完程序后,我们的found变量中的长度就会为5(从第一分割号向前算)

二、寻找部分字符串指令

1、设置套接字切割长度long(因为每次提取字符串的长度都是不一样的,所以我们的切割长度=搜索长度-起始位

2、我们需要把对应的字符串拆分来用,需要用到字符串部分提取指令STRPART

3、STRPART指令对应参数的意义

第一个参数received_string为我们用来接收视觉发送过来的字符串变量

第二个参数start为我们创建的用来接收字符串的起始位变量

第三个参数long为我们切割的长度

4、程序运行后就将POS1点位名称放进string_name点位名称这个字符串变量中

三、字符串变量转化指令

1、字符串转化指令STRTOVAL,左侧为bool型的变量,转化成功时为true,转化失败时为false。

右侧为STRTOVAL指令将string_x字符串变量转为num_x的实数型变量。

2、其中string_x中的数据也需要从上一步中strpart中提取

四、连续提取数据

1、收到数据时,需要对数据进行一个连续的拆分与提取,此时需要插入一个循环。

0-3循环4次,分别拿点位名称,X,Y,Z值。

下面提供一个测试案例给各位小伙伴们参考,希望大家们提出自己见解,优化程序。互相学习,望共勉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值