ANY數(shù)據類型
在編程語言 SCL 和 STL 中,如果在塊參數(shù)中設定了一個 ANY 指針,則任意類型的存儲器都可以在塊調用時傳遞。
但是,ANY 指針不能存儲有關存儲器結構的任何信息。例如,ANY 指針不能保存指向 PLC數(shù)據類型變量的信息。ANY 指針將其作為 BYTE 類型的 ARRAY。
ANY 數(shù)據類型的參數(shù)可以被傳遞到系統(tǒng)函數(shù)塊 (SFB) 或系統(tǒng)函數(shù) (SFC)。
下圖給出了 ANY 指針的結構:

在SCL中,能夠聲明ANY數(shù)據類型的變量如下:
作為塊的形式參數(shù);當塊被調用時,這些參數(shù)能用任意數(shù)據類型的實際參數(shù)提供。
作為臨時變量;能夠指定任意數(shù)據類型的值給這些變量。
能夠用下列數(shù)據作為實際參數(shù)或作為賦值語句的右邊部分:
本地和共享變量
在DB中的變量(絕對地址或稱號地址)
在本地實例中的變量(絕對地址或稱號地址)
NIL常量
指定一個空指針。
ANY數(shù)據類型
定時器、計數(shù)器和塊
指定標識符(如:T1, C20或FB6)。
限制(Restrictions)
ANY數(shù)據類型允許用作FB和FC的形式輸入參數(shù)、輸入/輸出參數(shù),及FC的輸出參數(shù)。常量不允許用作其實際參數(shù)或用在其賦值語句的右邊,除NIL常量外。
當調用FB或FC時,如果將臨時變量用作ANY類型的形式參數(shù),不能傳遞參數(shù)到遠程塊,傳遞他們時臨時變量將失效。
這種類型變量不能用作結構類型的組件類型或作為數(shù)組的元素類型。
當調用FC或FB時,如果形式參數(shù)作為輸入參數(shù)聲明,只能指定過程輸入(%PEW)給ANY類型的形式參數(shù)。
當調用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ù)據塊
B#16#85 DIX 背景數(shù)據塊
B#16#86 L 本地數(shù)據
B#16#87 V 先前的本地數(shù)據
ANY數(shù)據類型舉例
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標準中的應用:
AnyRob_A :ANY;// ANY變量獲得機器的發(fā)出給PLC的輸出地址
pRob_A AT AnyRob_A: STRUCT 擴展分解建立結構體
SyntaxId :BYTE; // Byte 0
DataType :BYTE; // Byte 1 數(shù)據/參數(shù)類型
DataCount:WORD; // Byte 2+3 變量長度
DBNR :WORD; // Byte 4+5 數(shù)據庫編號
BZ :DWORD; // Byte 6 bis 10 區(qū)域指針
END_STRUCT;
原文標題:西門子SCL -ANY數(shù)據類型
文章出處:【微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
數(shù)據
+關注
關注
8文章
7298瀏覽量
93602 -
西門子
+關注
關注
98文章
3240瀏覽量
119521 -
SCL
+關注
關注
1文章
244瀏覽量
17857
原文標題:西門子SCL -ANY數(shù)據類型
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
SQL 通用數(shù)據類型
詳解TIA Portal SCL編程語言中的IF語句
IEC101協(xié)議可以傳輸什么類型的數(shù)據
詳解Prometheus的數(shù)據類型
全套C語言培訓資料—PPT課件
labview數(shù)據類型與PLC 數(shù)據類型之間的轉換(來自于寫入浮點數(shù)到匯川 PLC中的數(shù)據轉換關鍵的修改)
gitee 支持的編程語言有哪些
請問ADS1299使用Test Signals ,獲取到的數(shù)據類型是什么?
Triton編譯器支持的編程語言
如何選擇適合自己的編程語言
編程語言的誤區(qū)與常見問題
對比Python與Java編程語言
西門子博途新數(shù)據類型之:SINT(8位整數(shù))

編程語言SCL中ANY數(shù)據類型
評論