ANY數(shù)據(jù)類型
在編程語言 SCL 和 STL 中,如果在塊參數(shù)中設(shè)定了一個 ANY 指針,則任意類型的存儲器都可以在塊調(diào)用時傳遞。
但是,ANY 指針不能存儲有關(guān)存儲器結(jié)構(gòu)的任何信息。例如,ANY 指針不能保存指向 PLC數(shù)據(jù)類型變量的信息。ANY 指針將其作為 BYTE 類型的 ARRAY。
ANY 數(shù)據(jù)類型的參數(shù)可以被傳遞到系統(tǒng)函數(shù)塊 (SFB) 或系統(tǒng)函數(shù) (SFC)。
下圖給出了 ANY 指針的結(jié)構(gòu):
在SCL中,能夠聲明ANY數(shù)據(jù)類型的變量如下:
作為塊的形式參數(shù);當塊被調(diào)用時,這些參數(shù)能用任意數(shù)據(jù)類型的實際參數(shù)提供。
作為臨時變量;能夠指定任意數(shù)據(jù)類型的值給這些變量。
能夠用下列數(shù)據(jù)作為實際參數(shù)或作為賦值語句的右邊部分:
本地和共享變量
在DB中的變量(絕對地址或稱號地址)
在本地實例中的變量(絕對地址或稱號地址)
NIL常量
指定一個空指針。
ANY數(shù)據(jù)類型
定時器、計數(shù)器和塊
指定標識符(如:T1, C20或FB6)。
限制(Restrictions)
ANY數(shù)據(jù)類型允許用作FB和FC的形式輸入?yún)?shù)、輸入/輸出參數(shù),及FC的輸出參數(shù)。常量不允許用作其實際參數(shù)或用在其賦值語句的右邊,除NIL常量外。
當調(diào)用FB或FC時,如果將臨時變量用作ANY類型的形式參數(shù),不能傳遞參數(shù)到遠程塊,傳遞他們時臨時變量將失效。
這種類型變量不能用作結(jié)構(gòu)類型的組件類型或作為數(shù)組的元素類型。
當調(diào)用FC或FB時,如果形式參數(shù)作為輸入?yún)?shù)聲明,只能指定過程輸入(%PEW)給ANY類型的形式參數(shù)。
當調(diào)用FB時,如果形式參數(shù)作為輸出參數(shù)聲明,只能指定過程輸出(%PAW)給ANY類型的形式參數(shù)。
B#16#80 P I/O
B#16#81 I 輸入存儲區(qū)
B#16#82 Q 輸出存儲區(qū)
B#16#83 M 位存儲的存儲區(qū)
B#16#84 DBX 數(shù)據(jù)塊
B#16#85 DIX 背景數(shù)據(jù)塊
B#16#86 L 本地數(shù)據(jù)
B#16#87 V 先前的本地數(shù)據(jù)
ANY數(shù)據(jù)類型舉例
Example of the ANY Data Type
VAR_INPUT
iANY : ANY;
END_VAR
VAR_TEMP
pANY : ANY;
END_VAR
CASE ii OF
1:
pANY := MW4; // pANY包含MW4的地址
3..5:
pANY := aINT[ii]; // pANY包含aINT中的第ii個元素的地址;
100:
pANY := iANY; // pANY contains the value of the iANY input variable
ELSE
pANY := NIL; // pANY包含NIL指針的值
END_CASE;
SFCxxx(IN := pANY);
在VASS標準中的應(yīng)用:
AnyRob_A :ANY;// ANY變量獲得機器的發(fā)出給PLC的輸出地址
pRob_A AT AnyRob_A: STRUCT 擴展分解建立結(jié)構(gòu)體
SyntaxId :BYTE; // Byte 0
DataType :BYTE; // Byte 1 數(shù)據(jù)/參數(shù)類型
DataCount:WORD; // Byte 2+3 變量長度
DBNR :WORD; // Byte 4+5 數(shù)據(jù)庫編號
BZ :DWORD; // Byte 6 bis 10 區(qū)域指針
END_STRUCT;
原文標題:西門子SCL -ANY數(shù)據(jù)類型
文章出處:【微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7256瀏覽量
91863 -
西門子
+關(guān)注
關(guān)注
98文章
3173瀏覽量
118252 -
SCL
+關(guān)注
關(guān)注
1文章
243瀏覽量
17556
原文標題:西門子SCL -ANY數(shù)據(jù)類型
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
詳解TIA Portal SCL編程語言中的IF語句

labview數(shù)據(jù)類型與PLC 數(shù)據(jù)類型之間的轉(zhuǎn)換(來自于寫入浮點數(shù)到匯川 PLC中的數(shù)據(jù)轉(zhuǎn)換關(guān)鍵的修改)
gitee 支持的編程語言有哪些
請問ADS1299使用Test Signals ,獲取到的數(shù)據(jù)類型是什么?
編程語言的誤區(qū)與常見問題
對比Python與Java編程語言
FPGA編程語言的入門教程
plc編程語言編程相關(guān)技巧有哪些
AIC23采集到的數(shù)據(jù)是應(yīng)該用什么數(shù)據(jù)類型來接收?int還是unsigned int?
labview數(shù)據(jù)類型的取值范圍是多少
常見的遙感數(shù)據(jù)類型有哪些
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-初識倉頡開發(fā)語言
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-初識倉頡開發(fā)語言
技術(shù)干貨驛站 ▏深入理解C語言:基本數(shù)據(jù)類型和變量

評論