PLC基礎(chǔ)篇之復(fù)雜數(shù)據(jù)類型:數(shù)組與字符串
前面的文章我們介紹了PLC的基本數(shù)據(jù)類型,講解了“位”,“字”,“雙字”和“整型”和“實型”的含義,今天這篇文章是數(shù)據(jù)類型的進階篇,我們與大家討論下復(fù)雜數(shù)據(jù)類型中的數(shù)組與字符串的概念。

什么是“數(shù)組”呢?數(shù)組(Array),是具有特定數(shù)目的、相同數(shù)據(jù)類型的元素的集合。從定義中可以看出,數(shù)組有兩個特點:1)元素的數(shù)目是確定的;2)元素具有相同的數(shù)據(jù)類型。
“元素的數(shù)目是確定的”表示在聲明數(shù)組時,必須為其指定數(shù)組的上限(元素序號的最大值)和下限(元素序號的最小值);
“元素具有相同的數(shù)據(jù)類型”表示在聲明數(shù)組時,必須為其指定基本數(shù)據(jù)類型,這種類型適用于數(shù)組中的每一個元素。
接下來我們看看如何在博途環(huán)境下聲明數(shù)組?首先,新建一個DB塊,然后在里面新建一個變量“sensor”,點擊其右邊的“數(shù)據(jù)類型(Data type)” ,你會看到數(shù)組的聲明:Array[lo..hi] of type,如下圖:

其中,“lo”表示數(shù)組的下限,“hi”表示數(shù)組的上限,“type”表示數(shù)組元素的基本數(shù)據(jù)類型。
選中數(shù)組類型的聲明,然后點擊右邊向下的箭頭,會彈出一個小窗口,如下圖:

在“數(shù)據(jù)類型(Data type)”中,可以選擇元素的基本數(shù)據(jù)類型,假設(shè)我們選擇“布爾型(Bool)”;在“數(shù)組界限(Array limits)”中可選擇數(shù)組的上下限,同時,可以通過輸入英文的逗號“,”來增加數(shù)組的維數(shù);
什么是數(shù)組的維數(shù)呢?通常我們使用的數(shù)組的維數(shù)為一,稱為“一維數(shù)組”;一維數(shù)組的數(shù)據(jù)按照“行”和“列”進行排布,其中行數(shù)大于1,列數(shù)等于1;二維數(shù)組的數(shù)據(jù)按照“行”和“列”進行排布,其中行數(shù)和列數(shù)均大于1;三維數(shù)組的數(shù)據(jù)排布可以理解成三維空間,不但有“行”和“列”,還在垂直方向進行排布;還可以有四維等多維數(shù)組;但是請注意,數(shù)組維數(shù)的增加會導(dǎo)致其元素的數(shù)目成級數(shù)的增長,占用大量的內(nèi)存,一般使用最多的是一維數(shù)組和二維數(shù)組。一個布爾型的二維數(shù)組的聲明如下圖:

這個數(shù)組,有兩行三列,總計2x3=6個元素。
下面再來談?wù)勛址⊿tring)。字符串是字符(Char)的集合,用來存儲諸如“姓名”、“VIN碼”之類的數(shù)據(jù),字符串有一定的長度。在西門子S7系列PLC中,對字符串結(jié)構(gòu)的定義如下:

字符串的第一個字節(jié),表示字符串能存放的最大字符的數(shù)目;第二個字節(jié)表示字符串的存放的實際字符的數(shù)目;從第三個字節(jié)開始,是字符串存放的字符數(shù)據(jù)(最多254個字符);
假設(shè)我們要聲明一個長度為20的VIN碼為字符串類型,可以在右邊的“數(shù)據(jù)類型(Data type)”中選擇“String”,然后在其后面寫上“[20]”,如下圖:

有關(guān)字符串的操作前面有文章介紹過,參考:STEP7中如何用簡潔的代碼獲取字符串的長度
關(guān)于數(shù)組和字符串就先介紹到這里,相關(guān)參考文章:
PLC基礎(chǔ)篇之數(shù)據(jù)類型(Data type)
PLC基礎(chǔ)篇之常量與變量
想收藏的可以去官網(wǎng)下載本文的PDF版本哦 :)
-
Origin(Pro):學習版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
OriginPro:學習版申請及過期激活方法【數(shù)據(jù)繪圖】 2020-08-06
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
