1.相机通常发送字符串给机器人,比如”1.23,4.56,7.89D”,即x为1.23,y为4.56,z的角度为7.89,用D作为结束符,数据之间用“,”隔开。
2.如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaX,deltaY,和thetaZ?
3.建立若干num变量,用以存储过程数据,比如StartBit1,表示x的数据从第几位开始,Endbit1表示x的数据结束是第几位,Lenbit1表示x数据的长度,s1表示提取的x的值的字符串
4.
5.先假设x的一号位是1,给Startbit1赋值为1
6.插入函数strfind,查找头一个“,”在第几位,得到EndBit1值
7.
8.EndBit1减去StartBit1就是x的数据长度
9.同理得到y和theta的信息
10.通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串
11.
12. 同理得到y和z的字符串
13.通过StrToVal函数,把s1转为num型,付给delta_x, StrToVal函数的反馈值为bool量,即转换成功为true不成功为false
14.同理得到delta_y和delta_theta
15. 成功后可以写屏测试,如下图
六、ABB机器人如何创建数组
1.什么是数组?
将相同数据类型的元素按一定顺序排列的集合
2.有什么用?
比如创建一个robtarget类型的数组p_array,p_array里有10个点位,走完10个位置就可以用如下代码,方便简洁
FOR i FROM 1 TO 10 DO
MoveL p_array{i},v500,z1,tool0;
ENDFOR
3.哪些数据类型能创建数组
所有数据类型都可以创建数组
4.数组极大 几维?
ABB机器人">ABB机器人数组极大 三维!
5.数组起始序号是0还是1?
是1
6.如何创建
(1)程序数据
更多详情请关注:ABB机器人服务商
(2)选中类型,比如Robtarget
(3)新建,设置名称,维数(这里举例1维),每个维度的元素数量(举例为10)
(4)创建完,就有了一个10个数据的p_array,
(5)修改点位,点击上图上某一行,修改位置,即把数组里的某一个元素位置修改了。
更多详情请关注:ABB机器人服务商