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

分享

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

 彎丘 2020-06-03

西門(mén)子S7-1200/1500系列PLC提供Variant數(shù)據(jù)類(lèi)型用于對(duì)數(shù)據(jù)進(jìn)行引用,,有著比ANY類(lèi)型更強(qiáng)大的功能,。今天這篇文章,我們就來(lái)聊聊Variant類(lèi)型,,并使用SCL語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的例程。
本文包括如下幾個(gè)主題:
1,、認(rèn)識(shí)Variant類(lèi)型;
2,、Variant與ANY類(lèi)型的區(qū)別,;
3、Variant類(lèi)型使用示例

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

封面

1,、認(rèn)識(shí)Variant類(lèi)型
Variant是西門(mén)子S7-1200/1500系列PLC支持的一種新數(shù)據(jù)類(lèi)型,它是一種可以指向基本數(shù)據(jù)類(lèi)型,、復(fù)雜數(shù)據(jù)類(lèi)型或者用戶(hù)自定義類(lèi)型的引用,。Variant的使用限于FB/FC/OB的形參,也就是說(shuō),,只能在FB/FC/OB的參數(shù)列表中聲明某個(gè)參數(shù)的類(lèi)型為Variant,但FB的靜態(tài)參數(shù)列表除外,,也不能聲明數(shù)據(jù)塊(DB)的元素為Variant類(lèi)型;
可以給FB/FC的Variant形參賦任何類(lèi)型的變量,,調(diào)用該FB/FC時(shí),,不僅會(huì)傳遞變量的值,,而且會(huì)傳遞變量的類(lèi)型,;可以使用SCL指令TypeOf識(shí)別變量的類(lèi)型并做相應(yīng)的處理;
2,、Variant與ANY類(lèi)型的區(qū)別

有兩點(diǎn):

  1. 兩者支持的數(shù)據(jù)類(lèi)型不同
    ANY可以指向輸入緩存區(qū)(I)、輸出緩存區(qū)(Q),、外設(shè)(PI/PO),、位存儲(chǔ)區(qū)(M),、數(shù)據(jù)塊(DB)等存儲(chǔ)區(qū),,支持基本數(shù)據(jù)類(lèi)型、字符串等,;但不支持?jǐn)?shù)組、用戶(hù)自定義類(lèi)型等復(fù)雜數(shù)據(jù)類(lèi)型,;
    Variant可以引用幾乎所有的數(shù)據(jù)類(lèi)型(數(shù)組,、結(jié)構(gòu),、UDT)的變量,,比ANY功能強(qiáng)大;
    注:S7-300/400/1500支持ANY類(lèi)型
  2. 占用空間大小不同
    ANY需要占用10個(gè)字節(jié)的存儲(chǔ)空間,,當(dāng)把一個(gè)變量定義為ANY類(lèi)型時(shí),無(wú)論其是否指向目標(biāo)變量,,都要占用10個(gè)字節(jié)的存儲(chǔ)空間;
    Variant不占用背景數(shù)據(jù)塊或者工作存儲(chǔ)器的空間,。Variant只是對(duì)另一個(gè)實(shí)例(可以理解為變量)的引用,,相當(dāng)于該實(shí)例的一個(gè)別名,。在使用Variant指向該實(shí)例時(shí),該實(shí)例已經(jīng)被創(chuàng)建了,;

3,、Variant類(lèi)型使用示例

舉個(gè)例子,創(chuàng)建一個(gè)功能,,名稱(chēng)為FC_VariantDemo,參數(shù)如下:

輸入:

  • oprand1,,Variant類(lèi)型;
  • oprand2,,Variant類(lèi)型;

輸出:

  • ouput1,,INT類(lèi)型;
  • ouput2,,TIME類(lèi)型,;

FC功能描述:

  • 若oprand1和oprand2的類(lèi)型為整數(shù),,將兩者相加,并將結(jié)果輸出到output1中,;
  • 若oprand1和oprand2的類(lèi)型為T(mén)IME,將兩者相加,,并將結(jié)果輸出到output2中;

參數(shù)聲明如下圖:

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

參數(shù)聲明

代碼如下:

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

示例代碼

上述代碼中的TypeOf指令用來(lái)判斷變量的類(lèi)型,VariantGet指令可以訪(fǎng)問(wèn)一個(gè)Variant引用并獲取其真實(shí)的數(shù)值及類(lèi)型,;這兩個(gè)指令及其它與Variant操作的指令我們將在下一篇文章詳細(xì)介紹。

創(chuàng)建DB_VariantDemo,,添加元素如下:

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

在OB1中調(diào)用FC_VariantDemo的示例如下圖所示:

西門(mén)子SCL編程入門(mén)教程連載(15)-Variant類(lèi)型

調(diào)用子程序

好了,關(guān)于Variant類(lèi)型就先介紹這么多,。

我的新書(shū)《西門(mén)子S7-200 SMART PLC應(yīng)用技術(shù)——編程,、通信,、裝調(diào)、案例》出版了,,歡迎點(diǎn)擊下面的鏈接查看詳細(xì)介紹:

新書(shū)《西門(mén)子S7-200 SMART PLC應(yīng)用技術(shù)》出版了!

    本站是提供個(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)似文章 更多