久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

博途比較操作——變量 指令說(shuō)明

 龍之吻6iinxl8c 2019-06-27

從TIA V13SP1 開(kāi)始,,S7-1200 V4.0開(kāi)始,,支持以下處理Variant類(lèi)型的變量的指令,如圖1-2所示,。

圖1 LAD中Variant類(lèi)型的變量比較操作指令

圖2 SCL中Variant類(lèi)型的變量比較操作指令

EQ_Type,、NE_Type,、TypeOf

LAD指令詳情

SCL指令:TypeOf(操作數(shù)),操作數(shù)是FC/FB的Input/Output/InOut/Temp中定義為Variant類(lèi)型的參數(shù),,該語(yǔ)句輸出是數(shù)據(jù)類(lèi)型,,在程序中只能用在IF與CASE進(jìn)行比較。

用法1:IF指令,,操作數(shù)對(duì)應(yīng)的實(shí)參的類(lèi)型與一個(gè)變量類(lèi)型的比較,,例如:

IF (TypeOf(操作數(shù)1) = 變量類(lèi)型(例如Byte))

...

END_IF;

用法2:IF指令,兩個(gè)操作數(shù)對(duì)應(yīng)的實(shí)參的類(lèi)型比較,,例如:

IF (TypeOf(操作數(shù)1) = TypeOf(操作數(shù)2))

...

END_IF;

用法3:CASE OF指令,,操作數(shù)對(duì)應(yīng)的實(shí)參的類(lèi)型與多個(gè)變量類(lèi)型的比較,例如:

CASE (TypeOf(操作數(shù))) OF

Byte:

...

Int:

...

ELSE

...

END_CASE;

使用舉例:

編寫(xiě)FC,,檢查輸入Variant變量類(lèi)型,,Byte則輸出True,其它則輸出False,,如圖3-6所示,。

圖3 FC6參數(shù)定義

圖4 程序詳情

SCL的版本程序,如圖5所示,。

圖5 SCL版本的程序

OB1多次調(diào)用該FC6,,可以看到結(jié)果,'DB16'.Static_1是Byte類(lèi)型,,'DB16'.Static_3不是Byte類(lèi)型,。

圖6 OB1多次調(diào)用FC6

EQ_ElemType、NE_ElemType,、TypeOfElements

SCL指令:TypeOfElements(操作數(shù)),,操作數(shù)是FC/FB的Input/Output/InOut/Temp中定義為Variant類(lèi)型的參數(shù),該語(yǔ)句輸出是數(shù)據(jù)類(lèi)型,,在程序中只能用在IF與CASE進(jìn)行比較,。

比較之前,通常先使用IS_ARRAY檢查操作數(shù)對(duì)應(yīng)的實(shí)參是否是數(shù)組類(lèi)型,。

用法1:IF指令,,操作數(shù)對(duì)應(yīng)的實(shí)參為數(shù)組類(lèi)型,對(duì)該數(shù)組元素的類(lèi)型與一個(gè)變量類(lèi)型的比較,,例如:

IF (TypeOfElements(操作數(shù)1) = 變量類(lèi)型(例如Byte))

...

END_IF;

用法2:IF指令,,兩個(gè)操作數(shù)對(duì)應(yīng)的實(shí)參均為數(shù)組類(lèi)型的類(lèi)型,比較它們數(shù)組元素的類(lèi)型,,例如:

IF (TypeOfElements(操作數(shù)1) = TypeOfElements(操作數(shù)2))

...

END_IF;

用法3:CASE OF指令,,操作數(shù)對(duì)應(yīng)的實(shí)參為數(shù)組類(lèi)型,對(duì)該數(shù)組元素的類(lèi)型與多個(gè)變量類(lèi)型的比較,例如:

CASE (TypeOfElements(操作數(shù))) OF

Byte:

...

Int:

...

ELSE

...

END_CASE;

注意

1.如果上述三種用法操作數(shù)不是數(shù)組類(lèi)型,,但是數(shù)據(jù)類(lèi)型和比較對(duì)象的數(shù)據(jù)類(lèi)型相同,,也會(huì)當(dāng)做該數(shù)據(jù)類(lèi)型的數(shù)組進(jìn)行處理,相當(dāng)于執(zhí)行的TypeOf指令,。

2.用法2,,也可以是這樣的:

IF (TypeOfElements(操作數(shù)1) = TypeOf(操作數(shù)2))

...

END_IF;

或者

IF (TypeOf(操作數(shù)1) = TypeOfElements(操作數(shù)2))

...

END_IF;

即一邊是數(shù)組,一邊不是數(shù)組的比較,。

使用舉例:

編寫(xiě)FC,,檢查輸入Variant變量類(lèi)型,數(shù)組元素如果是Byte則輸出1為T(mén)rue,,輸出2為False,,數(shù)組元素如果是Int則輸出1為False,輸出2為T(mén)rue,,其余情況輸出1為False,輸出2為False,,如圖7-10所示,。

圖7 FC7參數(shù)定義

圖8 程序詳情

SCL的版本程序,如圖9所示,。

圖9 SCL版本的程序

OB1多次調(diào)用該FC7,,可以看到結(jié)果,'DB17'.Static_1是Byte數(shù)組,,'DB17'.Static_4是Int數(shù)組,,'DB17'.Static_7不是以上兩種類(lèi)型。

圖10 OB1多次調(diào)用FC7

IS_NULL,、NOT_NULL

對(duì)于SCL,,雖然沒(méi)有相對(duì)應(yīng)指令,但是可以在IF指令中,,將Variant變量與NULL比較

IF (操作數(shù) = NULL)

...

END_IF;

理論上來(lái)說(shuō),,對(duì)于每個(gè)參數(shù)出現(xiàn)了Variant的FC/FB,都應(yīng)該檢查該Variant變量是否指向了空指針,,此處的空指針不一定是形參填寫(xiě)NULL,,也有可能填寫(xiě)沒(méi)有初始化的Temp中的Variant。

對(duì)于最新的S7-1200 V4.2版本,,只有一種情況可以初始化Temp中的Variant,,就是指令DB_ANY_TO_VARIANT(參見(jiàn)DB_ANY),同時(shí)運(yùn)行沒(méi)有錯(cuò)誤,,否則Temp中的Variant就相當(dāng)于NULL,。

使用舉例:

程序架構(gòu):OB1調(diào)用FC9,F(xiàn)C9調(diào)用FC8,,F(xiàn)C8中檢查3個(gè)輸入是否是NULL,,是則輸出True,,不是則輸出False,F(xiàn)C9的3個(gè)Temp變量作為FC8的3個(gè)輸入,,Temp_1是不賦值的Int變量,,Temp_2和Temp_3是通過(guò)DB_ANY_TO_VARIANT初始化的Variant變量,其中為T(mén)emp_2初始化的DB1是不滿(mǎn)足DB_ANY_TO_VARIANT條件的DB塊,,為T(mén)emp_3初始化的DB19是不滿(mǎn)足DB_ANY_TO_VARIANT條件的DB塊,,最終將FC8的3個(gè)輸出關(guān)聯(lián)FC9的3個(gè)輸出至OB1中顯示,如圖11-13所示,。

圖11 FC8程序詳情

圖12 FC9程序詳情

OB1調(diào)用FC9

圖13 OB1調(diào)用FC9

從圖13中可知,,不滿(mǎn)足DB_ANY_TO_VARIANT條件的DB1初始化的Temp_2相當(dāng)于NULL,其余兩個(gè)都可以視作有明確指向,。

IS_ARRAY

SCL指令:

IS_ARRAY(操作數(shù)),,操作數(shù)是FC/FB的Input/Output/InOut/Temp中定義為Variant類(lèi)型的參數(shù),當(dāng)操作數(shù)對(duì)應(yīng)的實(shí)參為數(shù)組或者P#指針格式,,IS_ARRAY(操作數(shù)) 為T(mén)rue,,否則IS_ARRAY(操作數(shù)) 為False。

使用方法:

IF IS_ARRAY(操作數(shù)) THEN

...

END_IF;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多