西門子SCL編程入門教程連載(16)-Variant相關(guān)指令
前面的文章我們介紹了Variant類型,今天這篇文章我們來介紹下與Variant相關(guān)的指令。包括如下幾個(gè):
1、TypeOf
2、IS_ARRAY
3、TypeOfElement
4、CountOfElements
5、VariantGet
6、VariantPut
7、關(guān)于空值的判斷

1、TypeOf指令
TypeOf指令用來判斷一個(gè)Variant形參所引用的變量的類型。支持的數(shù)據(jù)類型包括:基本類型、復(fù)雜類型或者用戶自定義類型等。
TypeOf指令一般配合IF語句使用。比如,判斷一個(gè)Variant的引用變量是否為"INT",可以使用如下的語句:

也可以使用TypeOf指令直接判斷兩個(gè)Variant參數(shù)是否為相同的類型,比如下面的代碼:

2、IS_ARRAY指令
用來判斷Variant所引用的變量是否是數(shù)組類型或者P#指針數(shù)據(jù)類型。如果是,則返回真(RLO=1);否則返回假(RLO=0)。IS_ARRAY指令需要配合IF語句使用。例如:

3、TypeOfElement指令
TypeOfElement指令用來判斷Variant所引用的數(shù)組中元素的數(shù)據(jù)類型。比如下面的代碼首先判斷operand1引用的變量是否為數(shù)組類型,如果是,則判斷數(shù)組中元素的類型是否為INT型:

也可以使用TypeOfElement指令直接與已知數(shù)組的類型進(jìn)行比較,例如下面的代碼:

4、CountOfElements 指令
該指令用來獲取Variant引用數(shù)組變量的元素的個(gè)數(shù),返回值為無符號(hào)雙整數(shù)(UDINT)型。
例如下面的代碼:

5、VariantGet指令
該指令用來獲取Variant所引用變量的值,并寫入到一個(gè)指定的變量中;
例如下面的代碼:

6、VariantPut指令
該指令將某個(gè)變量的值寫入到Variant引用的變量中,例如下面的代碼:

7、關(guān)于空值的判斷
某些情況下,有可能存在Variant指向的變量不存在的情況,即Variant引用了一個(gè)空變量??兆兞炕蛘呖罩涤肗ULL表示。
在梯形圖語言中,可以使用IS_NULL指令用來判斷形參是否引用了空變量。
如果形參引用了空變量,則指令返回真(RLO=1);
如果形參引用的變量不為空,則指令返回假(RLO=0);
相應(yīng)的,在梯形圖語言中還有NOT_NULL指令用來判斷形參引用的變量是否不為空;
如果非空,則NOT_NULL指令返回真;否則,NOT_NULL指令返回假;
在SCL語言中沒有IS_NULL或者NOT_NULL指令,但是可以直接在IF語句中將變量與NULL關(guān)鍵字進(jìn)行比較。例如下面的代碼:

好了,關(guān)于Variant相關(guān)的指令我們就先介紹這么多。至于DB_ANY相關(guān)的內(nèi)容將在后續(xù)文章中介紹。
我最近開通了微信視頻號(hào),以視頻的方式分享工控小知識(shí)。具有視頻號(hào)內(nèi)測(cè)權(quán)限的小伙伴歡迎掃描下方的二維碼查看:
-
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外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
