C++接收字符串数组_ABB机器人字符串拆分转换数值指令
知道多更多资料请关注东莞机器人之家公众号。

ABB机器人
字符串拆分转换数值指令
说明:ABB机器人在通讯时候,会用到字符串,发送字符串给其他设备或者其他设备发送字符串给ABB机器人,这时候ABB机器人需要对字符串进行处理。一般ABB机器人处理字符串指令有StrPart拆分字符串和StrToVal字符串转换为数值等,这里这两条指令进行介绍。
1、StrPart—寻找一部分字符串
(1)指令使用说明
StrPart指令用于寻找一部分字符串,以作为一个新的字符串;即指令截取字符串的某个部分作为新的字符串。指定字符串的子串,其拥有规定的长度,并始于指定字符位置。
(2)StrPart变元:StrPart (Str ChPos Len)
Str:数据类型:string字符串。
ChPos:开始字符位置;如果位于字符串以外,则产生运行时错误。
Len:数据类型num,字符串组成部分的长度;如果长度为负或大于字符串的长度,或者如果子串(部分地)位于字符串之外,则会产生运行时错误。
(3)举例使用
VAR string part;
part := StrPart("Robotics",1,5);
变量part被赋予值"Robot"。
2、StrToVal—将一段字符串转换为一个值
(1)使用说明
StrToVal指令用于将一段字符串转换为任意数据类型的一个值;即把指令字符串转换为数值,如果转换成功则为TRUE,转换失败则FALSE。
(2)StrToVal变元:StrToVal ( Str Val )
Str:数据类型string,一个包含文字数据的字符串值,其格式符合参数Val中使用的数据类型,有关RAPID文字总量的有效格式。
Val:数据类型ANYTYPE(任何形式数值类型),用于储存转换结果的任意数据类型的变量或永久变量的名称。原子结构、记录、记录分量、数组或数组元素均可使用的各类值数据。因为格式不符合参数Str中使用的数据,因此,如果所需转换失败,则数据不会发生改变。
(3)举例使用
例一:
VAR bool ok;
VAR num nval;
ok := StrToVal("3.85",nval);
假定变量ok的值为TRUE,并假定nval的值为3.85。
例二:
VAR string str15 := "[600, 500, 225.3]";
VAR bool ok;
VAR pos pos15;
ok := StrToVal(str15,pos15);
假定变量ok的值为TRUE,并假定变量pos15的值为字符串str15中的规定值。
3、举例
程序数据定义:
PERS string TCP_data
VAR string string_X:="";
VAR string string_Y:="";
VAR string string_Rz:="";
VAR num num_X:=0;
VAR num num_Y:=0;
VAR num num_Rz:=0;
程序:
string_X := StrPart(TCP_data,1,7);
string_Y := StrPart(TCP_data,7,7);
string_Rz := StrPart(TCP_data,15,7);
change_done := StrToVal(string_X,num_X);
change_done := StrToVal(string_Y,num_Y);
change_done := StrToVal(string_Rz,num_Rz);
设定:
TCP_data="1234567,8910111,2131415",则:
string_X="1234567"
string_X="8910111"
string_X="2131415"
num_X=1234567
num_Y=8910111
num_Z=2131415
参考资料:ABB机器人指令功能函数
-
机器人与PLC RS232/485串口通讯(一)
-
安川机器人校原点
-
FANUC机器人RS232-C通讯连接
-
FANUC机器人程序运行外部控制篇 —RSR控制
-
KUKA机器人用赋值偏移指令一点画圆和方的秘密
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)