亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Variant類(lèi)型的變量指令說(shuō)明

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2022-03-30 15:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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_TypeOfDB、NE_TypeOfDB、TypeOfDB指令參見(jiàn)DB_ANY。

EQ_Type、NE_Type、TypeOf

表1 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

表2 LAD指令說(shuō)明

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

表3 LAD指令說(shuō)明

對(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

表4 LAD指令說(shuō)明

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;

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 指令
    +關(guān)注

    關(guān)注

    1

    文章

    616

    瀏覽量

    36455
  • 數(shù)據(jù)類(lèi)型

    關(guān)注

    0

    文章

    237

    瀏覽量

    13897

原文標(biāo)題:S7-1200 比較操作 - 變量 指令說(shuō)明

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NVME控制器之指令控制模塊設(shè)計(jì)

    池中獲取一個(gè) ID,進(jìn)入 SEL_SQ 狀態(tài); 如果 ID 池中的 ID 全部都在被使用, 則保持 GET_CMD 狀態(tài)。 在 SEL_SQ 狀態(tài)下, 根據(jù)讀取的指令信息的指令類(lèi)型選擇提交條目將要
    發(fā)表于 04-25 08:07

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優(yōu)先級(jí)第二。
    的頭像 發(fā)表于 04-15 10:26 ?315次閱讀

    RISC-V基礎(chǔ)指令詳解

    RISC-V中定義了六種指令類(lèi)型,其中包括 R型指令 : 用于寄存器與寄存器之間算數(shù)運(yùn)算的指令 I型指令 : 用于寄存器和立即數(shù)算術(shù)運(yùn)算和讀
    發(fā)表于 12-29 18:47

    三菱PLC常用指令說(shuō)明

    PLC常用的指令說(shuō)明,這些指令是構(gòu)建PLC程序的基礎(chǔ)。 1. 基本邏輯指令 1.1 LD(Load) 功能 :將輸入信號(hào)加載到累加器(AC)或輔助繼電器(M)中。 格式 :LD X0
    的頭像 發(fā)表于 12-26 18:04 ?6276次閱讀

    圖紙模板中的文本變量

    “ ?文本變量和系統(tǒng)自帶的內(nèi)置變量,可以幫助工程師靈活、高效地配置標(biāo)題欄中的信息,而不用擔(dān)心模板中的文字對(duì)象被意外修改。 ? ” 文本變量的語(yǔ)法 文本變量以?${VARIABLENAM
    的頭像 發(fā)表于 11-13 18:21 ?654次閱讀
    圖紙模板中的文本<b class='flag-5'>變量</b>

    如何在文本字段中使用上標(biāo)、下標(biāo)及變量

    在KiCad的任何文本字段中,都可以通過(guò)以下的方式實(shí)現(xiàn)上標(biāo)、下標(biāo)、上劃線以及顯示變量及字段值的描述: 文本變量“文本變量”可以在 原理圖設(shè)置->工程->文本變量 中設(shè)置。下圖中設(shè)置了一
    的頭像 發(fā)表于 11-12 12:23 ?660次閱讀
    如何在文本字段中使用上標(biāo)、下標(biāo)及<b class='flag-5'>變量</b>

    Linux環(huán)境變量配置方法

    Linux上環(huán)境變量配置分為設(shè)置永久變量和臨時(shí)變量兩種。環(huán)境變量設(shè)置方法同時(shí)要考慮環(huán)境Shell類(lèi)型,不同
    的頭像 發(fā)表于 10-23 13:39 ?705次閱讀

    plc基本指令的應(yīng)用有哪些

    控制、數(shù)據(jù)類(lèi)型轉(zhuǎn)換、算術(shù)運(yùn)算、比較操作、程序控制以及基本的輸入輸出操作等多個(gè)方面。 一、邏輯運(yùn)算指令 邏輯運(yùn)算指令是PLC編程中最常用的指令之一,它們用于實(shí)現(xiàn)基本的邏輯運(yùn)算功能,包括邏
    的頭像 發(fā)表于 10-21 17:16 ?2771次閱讀

    簡(jiǎn)述微處理器的指令集架構(gòu)

    微處理器的指令集架構(gòu)(Instruction Set Architecture,ISA)是計(jì)算機(jī)體系結(jié)構(gòu)中的核心組成部分,它定義了計(jì)算機(jī)能夠執(zhí)行的指令集合、數(shù)據(jù)類(lèi)型、寄存器、內(nèi)存訪問(wèn)方式等,是連接
    的頭像 發(fā)表于 10-05 14:59 ?1165次閱讀

    PLC指令的簡(jiǎn)要說(shuō)明

    PLC(可編程邏輯控制器)的指令雖然因不同的制造商和型號(hào)而有所差異,但有一些指令是相對(duì)比較通用的。
    的頭像 發(fā)表于 09-18 14:15 ?1478次閱讀

    ARM處理器的指令集包括哪些

    ARM處理器的指令集是一個(gè)龐大而復(fù)雜的系統(tǒng),它涵蓋了多種類(lèi)型指令,用于實(shí)現(xiàn)數(shù)據(jù)處理、程序控制、內(nèi)存訪問(wèn)等多種功能。
    的頭像 發(fā)表于 09-10 11:15 ?1538次閱讀

    微處理器的指令集架構(gòu)介紹

    和執(zhí)行。指令集架構(gòu)不僅影響微處理器的性能,還決定了其兼容性、可編程性和應(yīng)用場(chǎng)景。以下是對(duì)微處理器指令集架構(gòu)的詳細(xì)探討,內(nèi)容將圍繞其定義、主要類(lèi)型、設(shè)計(jì)原則、應(yīng)用場(chǎng)景及未來(lái)發(fā)展等方面展開(kāi)。
    的頭像 發(fā)表于 08-22 10:53 ?2438次閱讀

    三菱 FX 系列PLC的基本邏輯指令(2)

    指令的使用說(shuō)明:? 1)SET指令的目標(biāo)元件為Y、M、S,RST指令的目標(biāo)元件為Y、M、S、T、C、D、V 、
    的頭像 發(fā)表于 08-05 09:06 ?1380次閱讀

    RISC-V基礎(chǔ)整數(shù)指令

    ])標(biāo)記每個(gè)立即數(shù)子域。 說(shuō)明:B類(lèi)型和 J類(lèi)型指令如下所述,分支指令(B類(lèi)型)的立即數(shù)字段在S
    發(fā)表于 07-27 22:25

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:基本數(shù)據(jù)類(lèi)型變量

    在C語(yǔ)言中,數(shù)據(jù)類(lèi)型變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類(lèi)型決定了變量的內(nèi)存分配、存儲(chǔ)范圍和操作方式,而變量則是存儲(chǔ)數(shù)據(jù)的容器
    的頭像 發(fā)表于 07-26 17:53 ?2751次閱讀
    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:基本數(shù)據(jù)<b class='flag-5'>類(lèi)型</b>和<b class='flag-5'>變量</b>