halt库卡_KUKA库卡机器人编程之字符串处理函数
在常規(guī)計(jì)算機(jī)語言(如:C#)中,字符變量的值是放在單引號內(nèi),字符串變量的值則是放在雙引號內(nèi)。而在庫卡機(jī)器人KRL語言中,沒嚴(yán)格意義上的字符串,只有基本字符數(shù)據(jù)類型,字符變量的值是放在雙引號內(nèi),如果需要表示表示字符串,這時則需要適用字符數(shù)組來實(shí)現(xiàn)。本文主要以字符串處理函數(shù)展開的,接下來列出常用的系統(tǒng)自帶的字符串處理函數(shù)。
一.字符串變量轉(zhuǎn)換其他數(shù)據(jù)類型:
用 StrTo[…] 類型的函數(shù)可以將字符串變量轉(zhuǎn)換為另一個數(shù)據(jù)類型,下表列出系統(tǒng)自帶的字符串轉(zhuǎn)換為其他數(shù)據(jù)類型的函數(shù):
函數(shù)
返回值
說明
StrToAXIS (CHAR strValue[256], AXIS value)
BOOL
字符串轉(zhuǎn)AXIS類型數(shù)據(jù)
StrToBOOL (CHAR strValue[256], BOOL value)
BOOL
字符串轉(zhuǎn)布爾類型數(shù)據(jù)
StrToE3AXIS (CHAR strValue[256], E3AXIS value)
BOOL
字符串轉(zhuǎn)E3AXIS類型數(shù)據(jù)
StrToE6AXIS (CHAR strValue[256], E6AXIS value)
BOOL
字符串轉(zhuǎn)E6AXIS類型數(shù)據(jù)
StrToE3POS (CHAR strValue[256], E3POS value)
BOOL
字符串轉(zhuǎn)E3POS類型數(shù)據(jù)
StrToE6POS (CHAR strValue[256], E6POS value)
BOOL
字符串轉(zhuǎn)E6POS類型數(shù)據(jù)
StrToFRAME (CHAR strValue[256], FRAME value)
BOOL
字符串轉(zhuǎn)FRAME類型數(shù)據(jù)
StrToINT (CHAR strValue[256], INT value)
BOOL
字符串轉(zhuǎn)整數(shù)類型數(shù)據(jù)
StrToPOS (CHAR strValue[256], POS value)
BOOL
字符串轉(zhuǎn)POS類型數(shù)據(jù)
StrToREAL (CHAR strValue[256], REAL value)
BOOL
字符串轉(zhuǎn)實(shí)數(shù)類型數(shù)據(jù)
具體語法( 以StrToAxis函數(shù)為例):
success = StrToAXIS(string, value)
元素
說明
success
返回值的變量類型:BOOL
-TRUE:轉(zhuǎn)換成功
-FALSE:轉(zhuǎn)換不成功
String
1.輸入的變量類型:CHAR
2.要將其轉(zhuǎn)換為另一個數(shù)據(jù)類型的字符串變量.
3.如果字符串是一個集合,則單個分量必須已通過逗號隔開。
Value
1.輸出變量的類型:AXIS
2.轉(zhuǎn)換后值的輸出變量
比如:
DECL?BOOL?success,?valuesuccess=StrToBOOL("TRUE",?value) ;Value=TRUE
二.字符串變量聲明時的長度
函數(shù)StrDeclLen() 根據(jù)其在程序聲明部分中的聲明確定字符串變量的長度。
語法:
Length = StrDeclLen(StrVar[])
元素
說明
Length
1.返回值類型:INT
2.返回值的變量。返還值:字符串變量的長度如聲明部分中所協(xié)議的一樣
StrVar[]
1.變量類型:CHAR[]
2.要確定其長度的字符串變量:因?yàn)樽址兞?StrVar[ ] 是 CHAR 類型的數(shù)組,則單個字符以及常數(shù)對于長度確定來說非法。
比如:
CHAR ProName[24]INT?StrLengthStrLength=StrDeclLen(ProName[])??????;strLength=24
三.字符串變量初始化后的長度
與已在程序初始化部分確定的一樣,函數(shù) StrLen() 確定字符串變量的字符串長度。
語法:
Length = StrLen(StrVar[])
元素
說明
Length
1.返回值類型:INT
2.返回值的變量。返還值:目前已分配給字符串變量的字符數(shù)量
StrVar[]
1.變量類型:CHAR[]
2.要確定其長度的字符串變量
比如:
CHAR ProName[24]INT?StrLengthProName[24]="Pick_Part"StrLength=StrLen(ProName[]) ;StrLength=9
四.刪除字符串變量的內(nèi)容
函數(shù)StrClear() 用于刪除字符串變量的內(nèi)容。
語法:
Result= StrClear(StrVar[])
元素
說明
Result
1.返回值類型:BOOL
2.返回值的變量。返還值:
-刪除了字符串變量的內(nèi)容:TRUE
-沒有刪除字符串變量的內(nèi)容:FALSE
StrVar[]
1.變量類型:CHAR[]
2.應(yīng)刪除其字符串的變量
比如:
IF (NOT StrClear($Loop_Msg[])) THENHALTENDIF
五.擴(kuò)展字符串變量
用函數(shù)StrAdd() 可以給字符串變量擴(kuò)展其他字符串變量的內(nèi)容。
語法:
Sum= StrAdd(StrDest[],StrToAdd[])
元素
說明
Sum
1.返回值類型:INT
2.返回值的變量。返還值:StrDest[ ] 和 StrToAdd[ ] 的總和:
如果總和長于事先定義的 StrDest[ ] 長度,則返還值為0。即使在總和大于 470 個字符時,也是這種情況。
StrDest[]
1.變量類型:CHAR[]
2.待擴(kuò)展的字符串變量:
因?yàn)樽址兞?StrDest[ ] 是 CHAR 類型的數(shù)組,則單個字符以及常數(shù)非法。
StrToAdd[]
1.變量類型:CHAR 框
2.要擴(kuò)展的字符串
比如:
DECL CHAR A[50], B[50]DECL?INT?ABA[]="This?is?an?"B[]="example"AB=StrAdd(A[],B[]);A[]="This?is?an?example";AB=18
六.搜索字符串變量
用函數(shù)StrFind() 可以搜索字符串變量的字符串。
語法:
Result = StrFind(StartAt, StrVar[], StrFind[], CaseSens)
元素
說明
Result
1.返回值類型:INT
2.返回值的變量。返還值:第一個找到的字符的位置。如果沒有找到字符,則返還值為 0。
StartAt
1.變量類型:INT
2.在該位置時啟動搜索。
StrVar[]
1.變量類型:CHAR 框
2.帶搜索的字符串
StrFind[]
1.變量類型:CHAR 框
2.搜索該字符串
CaseSens
#CASE_SENS:要區(qū)分大小寫。
#NOT_CASE_SENS:不區(qū)分大小寫。
比如:
DECL CHAR A[5]DECL INT?BA[]="ABCDE"B?=?StrFind(1,?A[],?"AC",?#CASE_SENS) ;B=0B?=?StrFind(1,?A[],?"a",?#NOT_CASE_SENS)??? ;B=1B?=?StrFind(1,?A[],?"BC",?#Case_Sens) ;B=2B?=?StrFind(1,?A[],?"bc",?#NOT_CASE_SENS) ;B=2
七.比較字符串變量
用函數(shù)StrComp() 可以比較兩個字符串變量。
語法:
Result= StrComp(StrComp1[], StrComp2[], CaseSens)
元素
說明
Result
1.返回值類型:BOOL
2.返回值的變量。返還值:
-字符串相符:TRUE
-字符串不相符:FALSE
StrComp1[]
1.變量類型:CHAR[]
2.與 StrComp2[] 比較的字符串
StrComp2[]
1.變量類型:CHAR 框
2.與StrComp2[] 比較的字符串
CaseSens
#CASE_SENS:要區(qū)分大小寫。
#NOT_CASE_SENS:不區(qū)分大小寫。
比如:
DECL CHAR A[5]DECL BOOL?BA[]="ABCDE"B?=?StrComp(A[],?"ABCDE",?#CASE_SENS) ;B=TRUEB?=?StrComp(A[],?"abcde",?#NOT_CASE_SENS)?? ;B=TRUEB?=?StrComp(A[],?"abcd",?#NOT_CASE_SENS) ;B=FALSEB?=?StrComp(A[],?"acbde",?#NOT_CASE_SENS) ;B=FALSE
八.復(fù)制字符串變量
用函數(shù)StrCopy() 可以將字符串變量的內(nèi)容復(fù)制到另一個字符串變量。
語法:
Result= StrCopy(StrDest[],StrSource[])
元素
說明
Result
1.返回值類型:BOOL
2.返回值的變量。返還值
-成功地復(fù)制了字符串變量:TRUE
-沒有復(fù)制字符串變量:FALSE
StrDest[]
1.變量類型:CHAR[]
2.將字符串復(fù)制到該字符串變量中:
因?yàn)樽址兞?StrDest[ ] 是 CHAR 類型的數(shù)組,則單個字符以及常數(shù)非法。
StrSource[]
1.變量類型:CHAR 框
2.復(fù)制該字符串變量的內(nèi)容。
比如:
DECL CHAR A[25], B[25]DECL?BOOL?CA[]=""B[]="Example"C=StrCopy(A[],?B[]);A[]="Example";C=TRUE
九.小結(jié):
前面主要以系統(tǒng)自帶的字符串處理函數(shù)展開的,比如數(shù)據(jù)轉(zhuǎn)換的函數(shù),用戶也可以自己通過SREAD指令來實(shí)現(xiàn),這里就不一一詳述。另外,用戶也可以擴(kuò)展自己的函數(shù)或子程序庫來實(shí)現(xiàn)一些功能,一便日后快速使用,例如:字符串分割/ 字符串截取/其他數(shù)據(jù)類型轉(zhuǎn)換字符串/判斷字符串中的空格等。
總結(jié)
以上是生活随笔為你收集整理的halt库卡_KUKA库卡机器人编程之字符串处理函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python产生fir滤波器_Pytho
- 下一篇: 智能指针的释放_手把手教你实现智能指针