国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > 基于樹莓派的CODESYS編程(6)——ST語言編程的基礎(chǔ):字符串數(shù)據(jù)類型

基于樹莓派的CODESYS編程(6)——ST語言編程的基礎(chǔ):字符串數(shù)據(jù)類型

時間:2021-11-25 來源: 瀏覽:

基于樹莓派的CODESYS編程(6)——ST語言編程的基礎(chǔ):字符串數(shù)據(jù)類型

原創(chuàng) 北島李工 方正智芯
方正智芯

founderchip

原創(chuàng)工業(yè)智能控制領(lǐng)域(PLC、單片機、嵌入式、機器人、通信)的技術(shù)及經(jīng)驗分享。

收錄于話題 #PLC標準 IEC61131-3 8個 內(nèi)容

字符串是一種數(shù)據(jù)類型,它是字符的集合。不同的編程環(huán)境對字符串的處理不盡相同。今天這篇文章,來介紹下CODESYS的字符串數(shù)據(jù)類型,并與西門子S7-1200/1500進行簡單的對比。本文包括如下三個主題:

  1. 字符串(STRING);

  2. 寬字符串(WSTRING);

  3. S7-1200/1500的字符串數(shù)據(jù)類型;

1、字符串(STRING)

CODESYS的字符串由N個字符和1個結(jié)束字符組成。如果在聲明字符串變量時沒有對長度進行設(shè)置,則CODESYS默認分配80個字符長度的內(nèi)存,加上結(jié)束字符,總計長度81個字節(jié)。

比如下面的變量的聲明:strName實際占用內(nèi)存為81個字節(jié);

strName : STRING; //默認情況下字符串分配80個字節(jié)長度

可以在聲明變量的同時使用括號“()”指定其字符數(shù)量,也就是字符串的長度。

比如下面的變量聲明:strRcvData的實際占用內(nèi)存為201個字節(jié)(200個數(shù)據(jù)字符+1個結(jié)束字符)

strRcvData : STRING( 200 ); //指定字符長度為200個字節(jié)

CODESYS本身并不限制字符串的長度,不過字符串處理函數(shù)只能處理長度為1~255的字符串,因此需要指定字符串長度時,最大應(yīng)為255。

可以使用單引號來聲明字符串常量,比如:

VAR CONSTANT JK : STRING( 5 ):= ’Jack’ ; //JK字符串常量,占用6個字節(jié) RS: STRING( 5 ):= ’Rose’ ; //JK字符串常量,占用6個字節(jié) END_VAR

2、寬字符串(WSTRING)

字符串(STRING)中的字符采用ASCII編碼,每個ASCII編碼的字符長度為1個字節(jié)。ASCII編碼最多能表達256種含義,無法處理漢字等東方文字。這種情況下需要采用Unicode編碼。Unicode編碼采用多個字節(jié)表示一個字符,其字符集簡寫為UCS(Unicode Character Set)。常見的Unicode字符集有UCS-2和UCS-4,UCS-2用兩個字節(jié)編碼,UCS-4用4個字節(jié)編碼。

寬字符串中的字符是采用Unicode編碼的字符,一般情況下使用2個字節(jié)表示一個字符。

比如聲明一個wstrName的寬字符串:

wstrName  :WSTRING// 聲明一個寬字符串

wstrName沒有指定字符長度,默認為80個寬字符。寬字符串也需要一個寬字符作為結(jié)束字符,因此其默認長度為81個寬字符。假設(shè)每個寬字符的長度為2個字節(jié),則該字符串占用內(nèi)存為162個字節(jié)。

當然,為了節(jié)省內(nèi)存,建議在聲明字符串時指定其長度,比如:

wstrName10:WSTRING( 10 ); //聲明一個寬字符串,長度為10個寬字符

也可以聲明寬字符串常量,比如:

VAR CONSTANT   GREETING : WSTRING( 10 ):= ’你好,偉大的祖國’ ; //寬字符串常量 END_VAR

3、西門子S7-1200/1500的字符串數(shù)據(jù)類型

在西門子S7-1200/1500系列PLC的編程中,字符串數(shù)據(jù)類型最多占用256個字節(jié)的存儲區(qū),最多可以存儲254個字符,剩下的2個字節(jié)用來存儲字符串的最大長度(第1個字節(jié))和當前長度(第2個字節(jié)),如下圖所示:

比如字符串’Name’有4個字符,它實際占用6個字節(jié)的存儲區(qū)。

聲明字符串變量時可以用方括號“[]”指定其最大長度,比如String[10]的最大長度為10個字符,占用12個字節(jié)的存儲區(qū)。

除了STRING類型,也支持寬字符串WSTRING類型。我的新書《西門子S7-1200/1500 PLC SCL語言編程從入門到精通》對此也有很詳細的介紹,該書即將上市。

好了,關(guān)于CODESYS的字符串數(shù)據(jù)類型就先介紹到這里。

我的視頻號以視頻的方式分享工控小知識,歡迎觀看:

北島李工

你喜歡,就好

贊賞二維碼 微信掃一掃贊賞作者 贊賞

已喜歡, 對作者說句悄悄話
最多40字,當前共

  人贊賞

1 / 3

長按二維碼向我轉(zhuǎn)賬

你喜歡,就好

贊賞二維碼

受蘋果公司新規(guī)定影響,微信 iOS 版的贊賞功能被關(guān)閉,可通過二維碼轉(zhuǎn)賬支持公眾號。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務(wù)必24小時內(nèi)刪除。
相關(guān)推薦