为了**编辑字符串变量,KUKA机器人集成了以下函数功能。这些函数可以用在 SRC 文件、SUB文件进行编辑。在 IF 分支之内可以使用这些函数,而无需明确地给变量分配返回值。
-
StrDeclLen( )
功能:声明时字符串变量的长度
写法:Length = StrDeclLen(StrVar[])
元素 |
说明 |
Length |
类型:INT 返回值的变量。返还值:字符串变量的长度如声明部分中所 协议的一样 |
StrVar[] |
类型:CHAR 框 要确定其长度的字符串变量 因为字符串变量 StrVar[ ] 是 CHAR 类型的数组,则单个字符以及常数对于长度确定来说非法。 |
示例:
CHAR ProName[24]
INT StrLength
…
StrDeclLen(ProName) =
StrDeclLen($Trace.Name[ ]) =
行 |
说明 |
4 |
StrLength = 24 |
5 |
StrLength = 64 |
2.StrLen( )
功能:初始化后字符串变量的长度
写法:Length = StrLen(StrVar)
元素 |
说明 |
Length |
类型:INT 返回值的变量。返还值:目前已分配给字符串变量的字符数量 |
StrVar | 类型:CHAR 要确定其长度的字符串或变量 |
示例:
CHAR PartA[50]
INT AB
…
PartA[] = "This is an example"
AB = StrLen(PartA[])
行 |
说明 |
5 |
AB=18 |
3.StrClear( )
功能:删除字符串变量的内容。
写法:Result = StrClear(StrVar[])
元素 |
说明 |
Result |
类型:BOOL 返回值的变量。返还值: 删除了字符串变量的内容:TRUE 没有删除字符串变量的内容:FALSE |
StrVar[] |
类型:CHAR 框 应删除其字符串的变量 |
示例:
IF (NOT StrClear($Loop_Msg[])) THEN
HALT
ENDIF
在 IF 分支之内可以使用该功能,而无需明确地给变量分配返回值。这也适用于编辑字符串变量的所有功能。
4.StrAdd( )
功能:扩展字符串变量
写法:Sum = StrAdd(StrDest[], StrToAdd[])
元素 |
说明 |
Sum | 类型:INT 返回值的变量。返还值:StrDest[ ] 和 StrToAdd[ ] 的总和如果总和长于事先定义的 StrDest[ ] 长度,则返还值为0。即使在总和大于 470 个字符时,也是这种情况。 |
StrDest[] |
类型:CHAR 框 待扩展的字符串变量 因为字符串变量 StrDest[ ] 是 CHAR 类型的数组,则单个字符以及常数非法。 |
StrToAdd[] | 类型:CHAR 框 要扩展的字符串 |
示例:
DECL CHAR A[50], B[50]
INT AB, AC
…
A[] = "This is an "
B[] = "example"
AB = StrAdd(A[],B[])
行 |
说明 |
6 |
A[ ] = "This is an example" AB = 18 |
5.StrFind( )
功能:搜索字符串变量。
写法:Result = StrFind(StartAt, StrVar[], StrFind[], CaseSens)
元素 |
说明 |
Result |
类型:INT 返回值的变量。返还值:***个找到的字符的位置。如果没有找到字符,则返还值为 0。 |
StartAt |
类型:INT 在该位置时启动搜索。 |
StrVar[] |
类型:CHAR 框 待搜索的字符串变量 |
StrFind[] | 类型:CHAR 框 搜索该字符串。 |
CaseSens |
#CASE_SENS:要区分大小写。 #NOT_CASE_SENS:不区分大小写。 |
示例:
DECL CHAR A[5]
INT B
A[]="ABCDE"
B = StrFind(1, A[], "AC", #CASE_SENS)
B = StrFind(1, A[], "a", #NOT_CASE_SENS)
B = StrFind(1, A[], "BC", #Case_Sens)
B = StrFind(1, A[], "bc", #NOT_CASE_SENS)
行 |
说明 |
4 |
B = 0 |
5 |
B = 1 |
6 |
B = 2 |
7 |
B = 2 |
6.StrCopy( )
功能: 复制字符串变量
写法:Copy = StrCopy(StrDest[], StrSource[])
元素 |
说明 |
Copy |
类型:BOOL 返回值的变量。返还值: 成功地复制了字符串变量:TRUE 没有复制字符串变量:FALSE |
StrDest[] |
类型:CHAR 框 将字符串复制到该字符串变量中。 因为 StrDest[ ] 是 CHAR 类型的数组,则单个字符以及常数非法。 |
StrSource[] | 类型:CHAR 框 复制该字符串变量的内容。 |
示例:
DECL CHAR A[25], B[25]
DECL BOOL C
A[] = ""
B[] = "Example"
C = StrCopy(A[], B[])
行 |
说明 |
5 |
A[ ] = "Example" C = TRUE |
7.StrComp( )
功能:比较字符串变量的内容。
写法:Comp = StrComp(StrComp1[], StrComp2[], CaseSens)
元素 |
说明 |
Comp |
类型:BOOL 返回值的变量。返还值: 字符串相符:TRUE 字符串不相符:FALSE |
StrComp1[] |
类型:CHAR 框 用 StrComp2[] 比较的字符串 |
StrComp2[] |
类型:CHAR 框 用 StrComp1[] 比较的字符串 |
CaseSens |
#CASE_SENS:要区分大小写。 #NOT_CASE_SENS:不区分大小写。 |
示例:
DECL CHAR A[5]
BOOL B
A[]="ABCDE"
B = StrComp(A[], "ABCDE",
B = StrComp(A[], "abcde",
B = StrComp(A[], "abcd",
B = StrComp(A[], "acbde",
行 |
说明 |
4 |
B = TRUE |
5 |
B = TRUE |
6 |
B = FALSE |
7 |
B = FALSE |
- 下一篇:了解kuka机器人!
- 上一篇:KUAK库卡机器人配置与基恩士PLC以EIP通讯