tft每日頭條

 > 科技

 > 西門子plcs7 200整數運算符号講解

西門子plcs7 200整數運算符号講解

科技 更新时间:2024-11-13 08:24:12
一、指令說明

通過指令“Strg_TO_Chars”,可将數據類型為 STRING 的字符串複制到 Array of CHAR 或 Array of BYTE 中;或将數據類型為 WSTRING 的字符串複制到 Array of WCHAR 或 Array of WORD 中。該操作隻能複制 ASCII 字符。

在輸入參數 STRG 中指定字符串。這些字符将寫入數據類型為 Array of CHAR / BYTE / WCHAR / WORD 的參數 CHARS 中。

  • 目标域中的字符量必須至少與從源字符串中複制的字符數量相同。
  • 如果目标域包含的字符數少于源字符串中的字符數,則将隻寫入最多與目标域最大長度相同的字符數。
  • 如果字符串中包含“$00”或 W#16#0000 字符,則不會影響複制操作的執行(見下圖)。
  • 然後,在參數 CNT 中輸出已複制的字符個數。

使用參數 PCHARS,可指定目标域中将寫入的起始位置。

  • 示例:如果應從第三個位置開始寫入,則在參數 PCHARS 中使用值“2”:

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)1

PCHARS 的默認值為“0”。當 PCHARS = 0 時,将使用數組下标的下限(如 Array [0..5] of CHAR 的 CHAR[0])。如果數組的下限為負值(例如 Array [-5..5] of CHAR 的 CHAR[-5]),此規則也适用。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)2

下表列出了“Strg_TO_Chars”指令的參數:

二、示例程序

當複制操作的目标數組下标起始值為0時,例如Array…[0…9],數據轉換完全正常。

在以下示例中,将 STRING 數據類型的字符串中的字符複制到 Array of CHAR 數據類型的結構中。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)3

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)4

将根據 Array of CHAR 數據類型創建一個包含各個字符的結構。CHARS 結構(“arrayCHARS”)的長度為 10 個字符 (Array ... [0..9])。根據參數 PCHARS(“pointerCHARS”)的值“0”,從該結構的第一個字符開始寫入( “0”包含字符串(“string”)的第一個字符)。在字符串(“string”)的字符寫入到結構(“arrayCHARS”)後,待創建結構的最後一個字符将寫入為空。字符串中移動的字符數通過輸出參數 CNT(“countCHARS”)輸出。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)5

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)6

看到這裡是不是以為這條指令就是這麼簡單呢,其實并不然。如果改變array的起始值,起始位pChars的值是怎麼設置的呢?接着往下看。

當複制操作的目标數組下标起始值為1時,例如Array…[1…9],數據轉換就出現一點問題。pChars的值設置1,string的第一個字符複制到了數組下标“2”的地址中。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)7

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)8

測試結果可見,當下标起始值為1時,pChars的值也設置為1 ,但是轉換完成後,string的第一個字符複制到了數組下标“2”的地址中。

修改pChars的值為0,string的第一個字符複制到了數組下标“1”的地址中。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)9

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)10

如果把ArryaChar數組的下标起始值設置為3,即Array[3…12],再來看一下測試結果。pChars的值依然設置從0開始.

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)11

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)12

轉換完成後的結果依然是從下标的起始值arrayChar[3]開始保存。

繼續将pChars的值設置為1,測試轉換結果。

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)13

西門子plcs7 200整數運算符号講解(字符串轉換成字符指令Strg)14

經過以上測試結果表明,無論目标數組arrayChar的下标起始值是從幾開始,pChars參數都是從0開始計算。

總結:pChars參數下标數值定義為n, n對應arrayChar[n 起始值],arrayChar[n 起始值]就是string字符串中第一個字符的保存地址。例如:目标數組arrayChar[2…10];pChars:=2,字符串第一個字符保存地址就是arrayChar[4]。

各位工控達人們,掌握字符串轉換成字符指令的使用方法了嗎,歡迎留言讨論!


點擊 轉發 關注,@豆豆牽着蝸牛在散步!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved