字符串最大長(cháng)度占用長(cháng)度為256個(gè)字符長(cháng)度,其中
第一個(gè)字符定義為字符串的最大長(cháng)度數值
第二個(gè)字符定義為字符串的有效長(cháng)度數值
從第三個(gè)字符開(kāi)始為實(shí)際有效的字符,最大可設置254個(gè)字符長(cháng)度,每個(gè)字符的數據類(lèi)型是:Char。字符是以ASCII的方式存儲。
ASCII碼與16進(jìn)制和10進(jìn)制轉換關(guān)系如下圖所示:
	
表1 ASCII碼表
1. STEP7庫功能
STEP7庫中提供了如下幾個(gè)轉換塊:(庫文件路徑:庫libraries---Standard Libray---IEC Function Blocks)
(FC94,95路徑:庫libraries---Standard Libray---TI-S7 Converting Blocks)
| 
				 FC編號  | 
			
				 功能名稱(chēng)  | 
			
				 描述  | 
		
| 
				 FC5  | 
			
				 DI_STRING  | 
			
				 雙整數轉字符串  | 
		
| 
				 FC16  | 
			
				 I_STRING  | 
			
				 整數轉字符串  | 
		
| 
				 FC30  | 
			
				 R_STRING  | 
			
				 實(shí)數轉字符串  | 
		
| 
				 FC37  | 
			
				 STRING_DI  | 
			
				 字符串轉雙整數  | 
		
| 
				 FC38  | 
			
				 STRING_I  | 
			
				 字符串轉整數  | 
		
| 
				 FC39  | 
			
				 STRING_R  | 
			
				 字符串轉實(shí)數  | 
		
| 
				 FC94  | 
			
				 ATH  | 
			
				 ASCII轉換為十六進(jìn)制  | 
		
| 
				 FC95  | 
			
				 HTA  | 
			
				 十六進(jìn)制轉換為ASCII  | 
		
表2. 字符串轉換
2 .整數(雙整數)轉字符串
	以FC5為例,雙整數為有符號整數,因此如圖第三個(gè)有效字符為符號位,顯示“+”。
注意: 此處字符串定義最大長(cháng)度為254個(gè)字符,圖二中第一位最大長(cháng)度為-2為有符號數值。
	
圖1. FC5及數據塊定義
	
圖2. 變量表監看
3 .實(shí)數轉字符串
實(shí)數轉換為字符串,顯示格式為科學(xué)計數法。如圖3所示:
	
圖3. 科學(xué)計數法顯示
	其有效數據最多顯示7位。同時(shí)轉換后的字符串固定占用14個(gè)有效字符長(cháng)度。
注意,建立字符串最大長(cháng)度時(shí)務(wù)必要大于14個(gè)字符長(cháng)度,否則FC30不執行,無(wú)輸出。
	
	
圖4. FC30實(shí)例
4 .字符串轉16進(jìn)制
	FC94功能實(shí)際為將連續的字符轉換為連續的16進(jìn)制。
因此,使用時(shí)注意:
1. 輸入"IN"為有效字符的起始地址,即字符串的前兩個(gè)固定占用字符需要跳過(guò)
2. 轉換個(gè)數與字符串本身定義的有效字符長(cháng)度數值無(wú)關(guān),只與輸入"N"有關(guān)
3. 字符占8位,16進(jìn)制占16位;因此轉換后占位方式如圖6
	
圖5. FC94
	
圖6. FC94監看
	
如何將Date 或 Date_and_Time數據類(lèi)型轉換為字符串?
	
如何將字符串轉換為實(shí)數(非科學(xué)計數法形式)?
請參考:哪些標準 STEP 7函數可用來(lái)對字符串變量和ASCII 字符進(jìn)行轉換和比較?
1. STEP7庫功能
STEP7庫中提供了如下幾個(gè)比較塊:(庫功能路徑:庫libraries---Standard Libray---IEC Function Blocks)
| 
				 FC編號  | 
			
				 功能名稱(chēng)  | 
			
				 描述  | 
		
| 
				 FC10  | 
			
				 EQ_STRING  | 
			
				 S1=S2  | 
		
| 
				 FC13  | 
			
				 GE_STRING  | 
			
				 S1≥S2  | 
		
| 
				 FC15  | 
			
				 GT_STRING  | 
			
				 S1>S2  | 
		
| 
				 FC19  | 
			
				 LE_STRING  | 
			
				 S1≤S2  | 
		
| 
				 FC24  | 
			
				 LT_STRING  | 
			
				 
					S1  | 
		
| 
				 FC29  | 
			
				 NE_STRING  | 
			
				 S1≠S2  | 
		
表3. 字符串比較
	
注意:
1. 比較功能,比較的是兩個(gè)字符串的有效數據長(cháng)度部分。即字符串定義的最大長(cháng)度與比較結果無(wú)關(guān)。見(jiàn)圖7
2. 比較大小時(shí),字符從上至下依次比較。見(jiàn)圖8
3. 比較大小時(shí),字符轉換為16或10進(jìn)制比較。即非數字字符,是轉換為16或10進(jìn)制進(jìn)行比較。見(jiàn)圖9
	
圖7. FC10比較大小
	
圖8. FC13比較大小
	
圖9. FC13比較大小
	
為何比較帶"+-"的字符串,"-"的字符串反而大于"+"字符串?
如圖9,由于"+"對應十進(jìn)制43,"-"對應十進(jìn)制45;因此對于+-號比較,"-"的字符串反而大于"+"的字符串。
1. STEP7庫功能
STEP7庫中提供了如下幾個(gè)功能塊:(庫功能路徑:庫libraries---Standard Libray---IEC Function Blocks)
| 
				 FC編號  | 
			
				 功能名稱(chēng)  | 
			
				 描述  | 
		
| 
				 FC2  | 
			
				 CONCAT  | 
			
				 合并字符串  | 
		
| 
				 FC4  | 
			
				 DELETE  | 
			
				 刪除字符串內字符  | 
		
| 
				 FC11  | 
			
				 FIND  | 
			
				 字符串查找  | 
		
| 
				 FC17  | 
			
				 INSERT  | 
			
				 字符串插入  | 
		
| 
				 FC20  | 
			
				 LEFT  | 
			
				 讀取左側字符串  | 
		
| 
				 FC21  | 
			
				 LEN  | 
			
				 字符串內有效字符長(cháng)度  | 
		
| 
				 FC31  | 
			
				 REPLACE  | 
			
				 字符串替換  | 
		
| 
				 FC32  | 
			
				 RIGHT  | 
			
				 讀取右側字符串  | 
		
表4. 字符串功能
	
注意:以上功能塊均以字符串的有效長(cháng)度為基礎。
電話(huà):13818569113 15721373211
郵箱:fushidianji@139.com
網(wǎng)址:http://www.xiangtai88.cn
地址:上海青浦區北青公路7171號111-112室