String字符串作为很多种语言包含的一个基本类型,在ABB机器人编程语言中也具有重要的作用。下面我就讲讲我了解的ABB RAPID语言。
如果你在RAPID代码中写出下面几 行简单的代码:
TPWrite(STR_DIGIT);
TPWrite(STR_UPPER);
TPWrite(STR_LOWER);
你会发现一串有意思的代码,对就是阿拉伯数字,一串所有字符的大写,一串所有字符的小写。这个其实是实现了很多高级语言的一个机制,可以再我们面对一些棘手的字符处理的时候走捷径,甚至是想生成一串随机字符或者数字的时候可以使用它。
RAPID语言支持字符串转其他变量,以后大家会发现和上位机有大量数据交互的时候除了使用PCSDK更多的就是字符串通讯不管你使用串口还是Socket都将会和String打招呼。
String中的使用技巧:
String的显示和操作
下面便是一个简单的String的赋值语句:VAR String Robot:="Hi,I am ABB IRB120";
Operate只支持 + 不支持 – 下面的语句实现了String的添加
VAR String Robot:="Hi,I am ABB IRB120";Robot:=Robot+Robot;
String的基本操作
可以使用指令StrToVal(String To Value)来讲String转成任何你想要的类型。比如Num,Pos等类型。
ABB RAPID提供了下面的一些字符串操作的基本函数:
0.1 StrLen 查找字符串长度
0.2 StrPart 获取部分字符串
0.3 StrMemb 检查字符是否属于一组
0.4 StrFind 在字符串中搜索字符
0.5 StrMatch 在字符串中搜索预置样式
0.6 StrOrder 检查字符串是否有序
0.7 NumToStr 将一个数值转换为一段字符串
0.8 ValToStr 将一个值转换为一段字符串
0.9 StrToVal 将一段字符串转换为一个值
10. StrMap 映射一段字符串
11. StrToByte 将一段字符串转换为一个字节
12. ByteToStr 将一个字节转换为一段字符串
13. DecToHex 将10进制可读字符串中指定的一个数字转换成16进制。
String的一些陷阱
回车换行
有时候由于串口通讯或者ABB机器人会驱动其他设备需要发送回车换行。
这时候可以直接在字符的后面添加“”\0D\0A“”
如下:
VAR String LenOfStr_Temp:="123456789\0D\0A";
VAR String LenOfStr:="123456789";
输出的直接输出字符串或者写入文本是没有事很难发现他们的区别的,尤其一些调试设备默认是自动添加回车换行,下面我输出他们的字符串长度。
TPWrite "Len of StrRobot : "\Num:=StrLen(LenOfStr);
TPWrite "Len of LenOfStr_Temp: "\Num:=StrLen(LenOfStr_Temp);
String在RAPID平台同样有一些限制
一个字符串的长度不能超过80,这个限制对有些特殊编程是致命,比如一个Target类型传给其他设备的时候,可能发现转化成String之后超出了限制发不出去了。
更多了解ABB机器人
- 下一篇:ABB的RobotLoad插件
- 上一篇:工业机器人码垛工作站的系统集成