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机器人