如何理解STEP7的復(fù)雜數(shù)據(jù)類型:ANY
在之前的PLC基礎(chǔ)篇中我們?cè)榻B過(guò)STEP7的數(shù)組、字符串、指針(POINTER)等數(shù)據(jù)類型,最近有小伙伴詢問(wèn)關(guān)于STEP7的“ANY”數(shù)據(jù)類型的理解及使用。考慮到疑問(wèn)的普遍性,于是我想寫(xiě)篇文章介紹下STEP7的ANY數(shù)據(jù)類型。

ANY數(shù)據(jù)類型是STEP7的一種復(fù)雜數(shù)據(jù)類型。所謂“復(fù)雜”,就是說(shuō)它是由一些簡(jiǎn)單數(shù)據(jù)類型(比如:字節(jié),字等)按照某種定義組成的。由于ANY數(shù)據(jù)類型中包含了很多信息(比如:訪問(wèn)數(shù)據(jù)的地址、訪問(wèn)數(shù)據(jù)的長(zhǎng)度、訪問(wèn)數(shù)據(jù)的基本數(shù)據(jù)類型等),很多系統(tǒng)功能塊都使用ANY數(shù)據(jù)類型作為參數(shù)。
比如,系統(tǒng)功能塊SFC20 "BLKMOV",它來(lái)實(shí)現(xiàn)從一個(gè)地址(源地址)到另一個(gè)地址(目標(biāo)地址)拷貝一定長(zhǎng)度的數(shù)據(jù)的功能。其源地址和目標(biāo)地址的參數(shù)都是使用ANY數(shù)據(jù)類型。
S7-300/400,S7-1500系列PLC都支持ANY數(shù)據(jù)類型。ANY數(shù)據(jù)類型包含10個(gè)字節(jié),各字節(jié)的定義如下圖:

我們來(lái)解釋下各字節(jié)的含義:
字節(jié)0(Byte0):為常數(shù)10H(十六進(jìn)制數(shù)10),表示STEP7;
字節(jié)1(Byte1):ANY數(shù)據(jù)中的基本數(shù)據(jù)類型;
字節(jié)2~字節(jié)3(Byte2~Byte3):ANY數(shù)據(jù)的重復(fù)因子(Repetition factor),表示傳送的數(shù)據(jù)的長(zhǎng)度或者數(shù)組、字符串的長(zhǎng)度;
字節(jié)4~字節(jié)5(Byte4~Byte5):數(shù)據(jù)塊的編號(hào)(DB number);當(dāng)訪問(wèn)區(qū)域?yàn)榉荄B區(qū)時(shí),將該值設(shè)置為0;
字節(jié)6(Byte6):訪問(wèn)存儲(chǔ)區(qū)的代碼;
字節(jié)7的0~2位、字節(jié)8及字節(jié)9的3~7位:表示訪問(wèn)數(shù)據(jù)的字節(jié)地址(byte address);
字節(jié)9的0~2位:表示訪問(wèn)數(shù)據(jù)的位地址(bit address);
ANY數(shù)據(jù)的基本數(shù)據(jù)類型代碼(Byte1)見(jiàn)下面的表格:

注:當(dāng)數(shù)據(jù)類型為BLOCK_FB,BLOCK_FC,BLOCK_DB,BLOCK_SDB,COUNTER或TIMER時(shí),重復(fù)因子(repetition factor)必須為1,數(shù)據(jù)塊編號(hào)(DB number,byte4~byte5)必須為0,字節(jié)7(byte7)必須為0。字節(jié)8~字節(jié)9(byte8~byte9)表示數(shù)據(jù)塊FB/FC、計(jì)數(shù)器或定時(shí)器的編號(hào);
ANY數(shù)據(jù)類型的訪問(wèn)存儲(chǔ)區(qū)代碼(Byte6)見(jiàn)下面的表格:

其實(shí),ANY數(shù)據(jù)類型的Byte4~Byte9就是POINTER數(shù)據(jù)類型。ANY是在POINTER的基礎(chǔ)上增加了訪問(wèn)長(zhǎng)度(重復(fù)因子)及訪問(wèn)數(shù)據(jù)的基本數(shù)據(jù)類型(Byte1),因此可表達(dá)更多的信息。
可以去看看文章詳解STEP7的指針數(shù)據(jù)類型(POINTER)增加對(duì)ANY數(shù)據(jù)類型的理解。
另外提醒下:S7-1200不支持ANY數(shù)據(jù)類型。
相關(guān)參考文章:
PLC基礎(chǔ)篇之?dāng)?shù)據(jù)類型(Data type)
PLC基礎(chǔ)篇之復(fù)雜數(shù)據(jù)類型:數(shù)組與字符串
好了,關(guān)于STEP7的ANY數(shù)據(jù)類型就介紹到這里。
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計(jì)算焓和比熱容 2020-08-31
-
CAD外部參照無(wú)法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
