一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

S7-1200比較操作-變量指令說(shuō)明

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

掃碼添加小助手

加入工程師交流群

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

de04bbfa-ae0b-11ec-aa7f-dac502259ad0.jpg

圖1 LAD中Variant類型的變量比較操作指令

de1a4100-ae0b-11ec-aa7f-dac502259ad0.jpg

圖2 SCL中Variant類型的變量比較操作指令

注:EQ_TypeOfDB、NE_TypeOfDB、TypeOfDB指令參見(jiàn)DB_ANY。

EQ_Type、NE_Type、TypeOf

表1 LAD指令詳情

LAD指令 操作數(shù)1 操作數(shù)2 說(shuō)明

操作數(shù)1
┫EQ_Type┣
操作數(shù)2

Variant

除Variant以外所有類型

比較操作數(shù)1對(duì)應(yīng)的實(shí)參與操作數(shù)2的數(shù)據(jù)類型是否相等,相等則該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”。如果不相等則該指令返回 RLO“0”。操作數(shù)1是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。

操作數(shù)1
┫NE_Type┣
操作數(shù)2
Variant 除Variant以外所有類型 比較操作數(shù)1對(duì)應(yīng)的實(shí)參與操作數(shù)2的數(shù)據(jù)類型是否不相等,不相等則該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”。如果相等則該指令返回 RLO“0”。操作數(shù)1是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。

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

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

IF (TypeOf(操作數(shù)1) = 變量類型(例如Byte))
...
END_IF;

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

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

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

CASE (TypeOf(操作數(shù))) OF
Byte:
...
Int:
...
ELSE
...
END_CASE;

使用舉例:

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

de2cf354-ae0b-11ec-aa7f-dac502259ad0.jpg

圖3 FC6參數(shù)定義

de49b994-ae0b-11ec-aa7f-dac502259ad0.jpg

圖4 程序詳情

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

de5933ce-ae0b-11ec-aa7f-dac502259ad0.jpg

圖5 SCL版本的程序

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

de69171c-ae0b-11ec-aa7f-dac502259ad0.jpg

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

EQ_ElemType、NE_ElemType、TypeOfElements

表2 LAD指令說(shuō)明

LAD指令 操作數(shù)1 操作數(shù)2 說(shuō)明

操作數(shù)1
┫EQ_ElemType┣
操作數(shù)2

Variant

除Variant以外所有類型

如果操作數(shù)1對(duì)應(yīng)的實(shí)參是數(shù)組類型,則比較其數(shù)組元素與操作數(shù)2的數(shù)據(jù)類型是否相等,相等則該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”,如果不相等則該指令返回 RLO“0”;如果操作數(shù)1對(duì)應(yīng)的實(shí)參不是數(shù)組類型,并且操作數(shù)1對(duì)應(yīng)的實(shí)參與操作數(shù)2的數(shù)據(jù)類型相等,則該指令返回 RLO“1”,其余情況,該指令返回 RLO“0”。操作數(shù)1是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。比較之前,通常先使用IS_ARRAY檢查操作數(shù)1對(duì)應(yīng)的實(shí)參是否是數(shù)組類型。

操作數(shù)1
┫NE_ElemType┣
操作數(shù)2
Variant 除Variant以外所有類型 如果操作數(shù)1對(duì)應(yīng)的實(shí)參是數(shù)組類型,則比較其數(shù)組元素與操作數(shù)2的數(shù)據(jù)類型是否相等,不相等則該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”,如果相等則該指令返回 RLO“0”。如果操作數(shù)1對(duì)應(yīng)的實(shí)參不是數(shù)組類型,則該指令返回 RLO“1”。操作數(shù)1是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。比較之前,通常先使用IS_ARRAY檢查操作數(shù)1對(duì)應(yīng)的實(shí)參是否是數(shù)組類型。

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

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

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

IF (TypeOfElements(操作數(shù)1) = 變量類型(例如Byte))
...
END_IF;

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

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

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

CASE (TypeOfElements(操作數(shù))) OF
Byte:
...
Int:
...
ELSE
...
END_CASE;

注意

1.如果上述三種用法操作數(shù)不是數(shù)組類型,但是數(shù)據(jù)類型和比較對(duì)象的數(shù)據(jù)類型相同,也會(huì)當(dāng)做該數(shù)據(jù)類型的數(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變量類型,數(shù)組元素如果是Byte則輸出1為T(mén)rue,輸出2為False,數(shù)組元素如果是Int則輸出1為False,輸出2為T(mén)rue,其余情況輸出1為False,輸出2為False,如圖7-10所示。

de822c5c-ae0b-11ec-aa7f-dac502259ad0.jpg

圖7 FC7參數(shù)定義

de98e546-ae0b-11ec-aa7f-dac502259ad0.jpg

圖8 程序詳情

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

dea97f78-ae0b-11ec-aa7f-dac502259ad0.jpg

圖9 SCL版本的程序

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

dec63564-ae0b-11ec-aa7f-dac502259ad0.jpg

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

IS_NULL、NOT_NULL

表3 LAD指令說(shuō)明

LAD指令 操作數(shù) 說(shuō)明

操作數(shù)
┫IS_NULL┣

Variant

如果操作數(shù)對(duì)應(yīng)的實(shí)參有指向變量,該指令返回邏輯運(yùn)算結(jié)果 (RLO)“0”,否則該指令返回 RLO“1”。操作數(shù)是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。

操作數(shù)
┫NOT_NULL┣
Variant 如果操作數(shù)對(duì)應(yīng)的實(shí)參有指向變量,該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”,否則該指令返回 RLO“1”。操作數(shù)是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。

對(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是不滿足DB_ANY_TO_VARIANT條件的DB塊,為T(mén)emp_3初始化的DB19是不滿足DB_ANY_TO_VARIANT條件的DB塊,最終將FC8的3個(gè)輸出關(guān)聯(lián)FC9的3個(gè)輸出至OB1中顯示,如圖11-13所示。

ded9ee4c-ae0b-11ec-aa7f-dac502259ad0.jpg

圖11 FC8程序詳情

def3be80-ae0b-11ec-aa7f-dac502259ad0.jpg

圖12 FC9程序詳情

OB1調(diào)用FC9

df04c342-ae0b-11ec-aa7f-dac502259ad0.jpg

圖13 OB1調(diào)用FC9

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

IS_ARRAY

表4 LAD指令說(shuō)明

LAD 操作數(shù) 說(shuō)明

操作數(shù)
┫IS_ARRAY┣

Variant

如果操作數(shù)對(duì)應(yīng)的實(shí)參為數(shù)組或者P#指針格式,該指令返回邏輯運(yùn)算結(jié)果 (RLO)“1”,否則該指令返回 RLO“0”。操作數(shù)是FC/FB的Input/Output/InOut/Temp以及OB的Temp中定義為Variant類型的參數(shù)。

SCL指令:

IS_ARRAY(操作數(shù)),操作數(shù)是FC/FB的Input/Output/InOut/Temp中定義為Variant類型的參數(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)注

    0

    文章

    614

    瀏覽量

    28954
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    333

    瀏覽量

    18626

原文標(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)推薦

    S7-1200如何通過(guò)附加聲明來(lái)覆蓋所聲明的變量

    S7-1200/1500:在 FC 中使用 AT,對(duì)于 S7-1200/1500 中的 FC,覆蓋變量和被覆蓋變量的數(shù)據(jù)長(zhǎng)度必須相同。如果無(wú)法通過(guò)程序?qū)崿F(xiàn),請(qǐng)檢查是否可以使用片段訪問(wèn)來(lái)
    發(fā)表于 07-08 10:31 ?1247次閱讀

    S7-1200S7-1200/S7-1500不同項(xiàng)目下UDP通信

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過(guò) UDP 協(xié)議來(lái)實(shí)現(xiàn)。本列中使用TSEND_C,TRCV_C指令建立雙方的UDP通訊。TSEND_C,TRCV_C指令在兩臺(tái)
    的頭像 發(fā)表于 01-10 09:19 ?7336次閱讀

    基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

    本文檔內(nèi)容介紹了基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài),以及S7-1200的概要及功能。
    發(fā)表于 09-25 18:14 ?29次下載
    基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)

    基于S7-1200的PLC的編程及擴(kuò)展

    S7-1200 系列是一款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動(dòng)化應(yīng)用。S7-1200設(shè)計(jì)緊湊、成本低廉且具有功能強(qiáng)大的指令
    發(fā)表于 09-25 18:39 ?35次下載

    S7-1200S7-1200進(jìn)行S7通信的詳細(xì)資料說(shuō)明

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持 S7 單邊通信,僅需在客戶端單邊組態(tài)連接和編程,
    的頭像 發(fā)表于 08-17 10:51 ?3w次閱讀
    <b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>進(jìn)行<b class='flag-5'>S7</b>通信的詳細(xì)資料<b class='flag-5'>說(shuō)明</b>

    S7-1200S7-300和S7-400以太網(wǎng)通信數(shù)據(jù)交換的教程說(shuō)明

    S7-1200S7-300和S7-400以太網(wǎng)通信數(shù)據(jù)交換的教程說(shuō)明
    發(fā)表于 12-04 08:00 ?1次下載
    <b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300和<b class='flag-5'>S7</b>-400以太網(wǎng)通信數(shù)據(jù)交換的教程<b class='flag-5'>說(shuō)明</b>

    關(guān)于S7-1200S7-1200之間UDP的通信與仿真

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過(guò) UDP 協(xié)議來(lái)實(shí)現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block ( TCON, TDISCON, TUSEND, TURCV)
    的頭像 發(fā)表于 04-22 09:14 ?6325次閱讀
    關(guān)于<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>之間UDP的通信與仿真

    S7-1200使用AT覆蓋變量

    S7-1200 要訪問(wèn)聲明變量內(nèi)的數(shù)據(jù)區(qū)域,可以通過(guò)附加聲明來(lái)覆蓋所聲明的變量。這樣可以選擇對(duì)不同數(shù)據(jù)類型的已聲明變量進(jìn)行尋址,例如,可以使用 BOOL 的 ARRAY 對(duì) WORD
    的頭像 發(fā)表于 03-11 11:10 ?4390次閱讀

    S7-1200 Modbus TCP通信指令塊編程教程

    S7-1200 Modbus TCP通信指令塊編程教程免費(fèi)下載。
    發(fā)表于 03-28 16:08 ?10次下載

    關(guān)于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1中針對(duì)S7-1200S7-1500通信,可以創(chuàng)建狀態(tài)變量和控制變量,用來(lái)顯示和控制S7-1200
    發(fā)表于 10-09 10:05 ?2676次閱讀

    西門(mén)子S7-1200運(yùn)動(dòng)控制指令的使用

    1. 打開(kāi)OB1塊,在Portal軟件右側(cè)“指令”中的“工藝”中找到“運(yùn)動(dòng)控制”指令文件夾,展開(kāi)“S7-1200 Motion Control”可以看到所有的S7-1200 運(yùn)動(dòng)控制
    的頭像 發(fā)表于 11-16 11:01 ?2.1w次閱讀

    通過(guò)相應(yīng)的診斷指令去實(shí)現(xiàn)對(duì)S7-1200 CPU和擴(kuò)展模塊的診斷操作

    在TIA STEP7 V16版本中,可以通過(guò)相應(yīng)的診斷指令去實(shí)現(xiàn)對(duì)S7-1200 CPU(固件版本V4.4)和擴(kuò)展模塊的診斷操作
    的頭像 發(fā)表于 12-02 10:00 ?7817次閱讀

    支持處理Variant類型的變量指令說(shuō)明

    從TIA V13SP1 開(kāi)始,S7-1200 V4.0開(kāi)始,支持以下處理Variant類型的變量指令。
    的頭像 發(fā)表于 01-03 16:56 ?3005次閱讀

    S7-1200 PLC仿真功能

    PLCSIM 幾乎支持仿真的 S7-1200S7-1200F 的所有指令(系統(tǒng)函數(shù)和系統(tǒng)函數(shù)塊),支持方式與物理 PLC 相同。PLCSIM 將不支持的塊視為非運(yùn)行狀態(tài)。
    的頭像 發(fā)表于 02-16 09:48 ?4915次閱讀

    西門(mén)子S7-1200 PLC的指令介紹

    了最新的技術(shù),為用戶提供了更為高效、靈活的控制方案。本文將詳細(xì)介紹S7-1200 PLC的指令系統(tǒng),包括其指令分類、具體指令功能以及在實(shí)際應(yīng)用中的優(yōu)勢(shì)。
    的頭像 發(fā)表于 06-18 14:52 ?5025次閱讀