99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

什么是“AT”指令,如何使用?

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2021-04-09 15:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是“AT”指令,如何使用?

AT指令是S7-SCL中特有的一個(gè)指令,初學(xué)者可能會(huì)忽略此指令,或者對(duì)其理解不夠深刻。AT指令在S7-SCL中有著非常重要的地位,很多應(yīng)用程序都必須使用此指令。下面將對(duì)此指令進(jìn)行詳細(xì)講解。

AT指令可以使用戶能夠以不同的數(shù)據(jù)類型來訪問一個(gè)已經(jīng)聲明的變量。此指令類似于高級(jí)編程語言中的“繼承”概念。此指令有如下特點(diǎn):

· 特點(diǎn)一:定義僅在塊內(nèi)有效,在接口參數(shù)中不出現(xiàn)

· 特點(diǎn)二:在塊中可以使用其它數(shù)據(jù)類型的視圖

· 特點(diǎn)三:它只是讓另外一些變量繼承了某個(gè)變量的特性,僅僅數(shù)據(jù)類型是新的,其它特性相同。

下面將通過具體程序?qū)σ陨先齻€(gè)特點(diǎn)進(jìn)行說明,首先定義UDT100,UDT200,大小都為12個(gè)字節(jié),但結(jié)構(gòu)不同。UDT100包括一個(gè)DATE_AND_TIME數(shù)據(jù)類型(8個(gè)字節(jié)),還包括一個(gè)實(shí)數(shù)(4個(gè)字節(jié));UDT200包括6個(gè)字(12個(gè)字節(jié));在FC2定義輸入?yún)?shù)Buffer, Frame1,Frame2:

特點(diǎn)一:定義僅在塊內(nèi)有效,在接口參數(shù)中不出現(xiàn)。塊內(nèi)定以的輸入?yún)?shù)有3個(gè),但僅在塊內(nèi)有效,在接口參數(shù)僅出現(xiàn)Buffer輸入?yún)?shù)

c2e3e0ee-9417-11eb-8b86-12bb97331649.png

特點(diǎn)三:它只是讓Frame1繼承了Buffer的特性,僅僅數(shù)據(jù)類型是新的,其它特性相同。此處的UDT100長度應(yīng)小于等于所繼承的Buffer大小,否則編譯錯(cuò)誤

c2ec9734-9417-11eb-8b86-12bb97331649.png

注意:此處的UDT200長度應(yīng)小于等于所繼承的Buffer大小,否則編譯錯(cuò)誤

c306c46a-9417-11eb-8b86-12bb97331649.png

注意:UDT100,UDT200繼承了Buffer特性

在OB1中調(diào)用FC2,并將一個(gè)數(shù)組賦值給Buffer輸入?yún)?shù)

c31efbfc-9417-11eb-8b86-12bb97331649.png

特點(diǎn)一:塊內(nèi)定以的輸入?yún)?shù)有3個(gè),但僅在塊內(nèi)有效,在接口參數(shù)僅出現(xiàn)Buffer輸入?yún)?shù)

c347a6f6-9417-11eb-8b86-12bb97331649.png

特點(diǎn)二:對(duì)于輸入?yún)?shù)Buffer得到的數(shù)據(jù),可以按照Frame1,或Frame2的格式來尋址。例如可以將 Buffer 的前8 個(gè)字節(jié)認(rèn)為是DATA_AND_TIME,送至臨時(shí)變量TEST_DT中

AT指令應(yīng)用例子1:在STL中,用戶如果希望取得MB0的某一位的數(shù)值是非常容易的,例如第3位,直接尋址M0.2就可以了。而在S7-SCL中,由于其具備高級(jí)語言的特點(diǎn),所以定義的變量的絕對(duì)地址一般是不顯現(xiàn)的。因此在STL中簡單的操作,在S7-SCL中卻復(fù)雜起來。但是通過使用AT指令即可解決這個(gè)問題。下圖中的例子中,當(dāng)輸入的某個(gè)字節(jié),其輸出依次為此字節(jié)的8個(gè)位。

c366d79c-9417-11eb-8b86-12bb97331649.png

AT指令應(yīng)用例子2:在S7-SCL中,ANY數(shù)據(jù)類型的使用,經(jīng)常會(huì)伴隨著AT指令的使用,下面的例子演示了如何拆分改寫ANY數(shù)據(jù)類型中的內(nèi)容。程序執(zhí)行結(jié)果相當(dāng)于:

c3abf2c8-9417-11eb-8b86-12bb97331649.png

c3c3b3f4-9417-11eb-8b86-12bb97331649.png

AT指令在使用當(dāng)中,還有如下注意事項(xiàng):

· AT指令用于對(duì)某個(gè)變量進(jìn)行其它數(shù)據(jù)類型的聲明時(shí),必須放在此變量的聲明語句后面

· AT指令生成的變量不可以初始化

· AT指令用于對(duì)某個(gè)變量其它數(shù)據(jù)類型的聲明時(shí),占用內(nèi)存大小要小于等于此變量的長度

· AT指令用于對(duì)某個(gè)變量其它數(shù)據(jù)類型的聲明時(shí),如下的組合是允許的:

c3f58ba4-9417-11eb-8b86-12bb97331649.png

(1)AT指令用于ANY類型在VAR_OUT中是不允許的

Elementary (基本數(shù)據(jù)類型包括) :BOOL, BYTE, WORD, DWORD, INT, DINT, DATE, TIME,

S5TIME, CHAR Complex (復(fù)雜數(shù)據(jù)類型包括) :ARRAY, STRUCT, DATE_AND_TIME, STRING

在VASS標(biāo)準(zhǔn)中的應(yīng)用實(shí)例:

pMeldFeldAT TempPointerMsys: STRUCT 變量格式是結(jié)構(gòu)

BYTE0:BYTE; // Byte 0

TYP :BYTE; //Byte 1 Daten/Parametertyp

ANZ :WORD; //Byte 2+3 Laenge der Variablen

DBNR :WORD; //Byte 4+5 DB-Nummer

BZ :DWORD;// Byte 6 故障信息號(hào)

END_STRUCT;

程序中

TempPointerMsys := Msys; 故障信息號(hào)給入變量

故障報(bào)警信息

c41efb56-9417-11eb-8b86-12bb97331649.png

MeldSend(AufrufNr := 1

,Anz_Meld:= 27

,pMeldFeld:= pMeldFeld.BZ 故障信息號(hào)被用來發(fā)出

,pMeldAbb := pMeldAbb.BZ

,MeldDB:= WORD_TO_INT(pMeldDBNR.DBNR)

,AenderungsID := AenderungsID

,Integritaet:= Integritaet

,Neustart:= Neustart

); // VOID

-------------------------------END--------------------------

責(zé)任編輯:lq

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

    關(guān)注

    11

    文章

    1867

    瀏覽量

    33023
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    13883
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    243

    瀏覽量

    17542

原文標(biāo)題:SCL_什么是“AT”指令,如何使用?及其在VASS標(biāo)準(zhǔn)中的應(yīng)用

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    步進(jìn)電機(jī)控制指令詳解

    這些指令主要是針對(duì)用 PLC 直接聯(lián)動(dòng)伺服放大器,目的是可以不借助其他擴(kuò)展設(shè)備(例如1GM 模塊)來進(jìn)行簡單的點(diǎn)位控制, 使用這些指令時(shí)最好配合三菱的伺服放大器 (如 MR-J2)。然而,我們也可以用這些指令來控制步進(jìn)電機(jī)的運(yùn)行
    的頭像 發(fā)表于 06-12 10:33 ?706次閱讀
    步進(jìn)電機(jī)控制<b class='flag-5'>指令</b>詳解

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

    指令控制模塊由一個(gè)指令信息緩存, 一個(gè)指令組裝狀態(tài)機(jī)和一個(gè) ID 池組成。 指令信息緩存中存放著由系統(tǒng)控制模塊寫入的待處理指令信息;
    的頭像 發(fā)表于 04-24 10:22 ?273次閱讀
    NVME控制器設(shè)計(jì)之<b class='flag-5'>指令</b>控制

    CPU的各種指令和執(zhí)行流程

    在集成電路設(shè)計(jì)中,CPU的指令是指計(jì)算機(jī)中央處理單元(CPU)用來執(zhí)行計(jì)算任務(wù)的基本操作指令集。這些指令是CPU能夠理解并執(zhí)行的二進(jìn)制代碼,它們在計(jì)算機(jī)內(nèi)部由硬件控制并按順序執(zhí)行,從而實(shí)現(xiàn)計(jì)算、控制
    的頭像 發(fā)表于 04-18 11:24 ?799次閱讀

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

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

    Erp指令能效

    ErP指令EC244/2009、EC245/2009、EU1194/2012和能效標(biāo)簽指令EU874/2012已經(jīng)實(shí)行多年,歐盟委員會(huì)在近3年通過參照不斷改進(jìn)的照明產(chǎn)品技術(shù)、環(huán)境和經(jīng)濟(jì)因素以及實(shí)際
    的頭像 發(fā)表于 11-20 23:57 ?566次閱讀
    Erp<b class='flag-5'>指令</b>能效

    匯川INOVANCE 中型PLC指令手冊

    匯川INOVANCE 中型PLC指令手冊
    發(fā)表于 11-19 13:45 ?6次下載

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

    PLC(可編程邏輯控制器)的基本指令是PLC編程語言的基本元素,用于描述PLC如何根據(jù)輸入信號(hào)的狀態(tài)控制輸出信號(hào)的變化,從而實(shí)現(xiàn)對(duì)機(jī)械設(shè)備的控制。PLC的基本指令涵蓋了邏輯運(yùn)算、定時(shí)控制、計(jì)數(shù)
    的頭像 發(fā)表于 10-21 17:16 ?2745次閱讀

    DSP指令緩存性能OMAP5912

    電子發(fā)燒友網(wǎng)站提供《DSP指令緩存性能OMAP5912.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 10:16 ?0次下載
    DSP<b class='flag-5'>指令</b>緩存性能OMAP5912

    處理器指令的獲取過程

    微處理器指令的獲取是計(jì)算機(jī)執(zhí)行程序過程中的關(guān)鍵環(huán)節(jié),它決定了微處理器如何對(duì)數(shù)據(jù)和指令進(jìn)行處理。以下將詳細(xì)闡述微處理器指令的獲取過程,包括指令的來源、存儲(chǔ)位置、讀取方式以及相關(guān)的硬件和軟
    的頭像 發(fā)表于 10-05 15:16 ?974次閱讀

    微處理器執(zhí)行指令的基本過程

    微處理器,作為現(xiàn)代計(jì)算機(jī)的核心部件,負(fù)責(zé)執(zhí)行存儲(chǔ)在內(nèi)存中的指令,完成各種計(jì)算和控制任務(wù)。指令的執(zhí)行過程不僅體現(xiàn)了微處理器的設(shè)計(jì)思想和架構(gòu)特點(diǎn),還直接影響到計(jì)算機(jī)的性能和效率。
    的頭像 發(fā)表于 10-05 15:07 ?1956次閱讀

    微處理器的指令集和指令系統(tǒng)有什么不同

    微處理器的指令集和指令系統(tǒng)是兩個(gè)緊密相關(guān)但又有所區(qū)別的概念,它們在微處理器的設(shè)計(jì)和運(yùn)行中扮演著不同的角色。以下是對(duì)這兩個(gè)概念的詳細(xì)解析,旨在深入探討它們之間的不同點(diǎn)。
    的頭像 發(fā)表于 10-05 14:57 ?1104次閱讀

    PLC指令的簡要說明

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

    復(fù)雜指令集和精簡指令集有什么區(qū)別

    復(fù)雜指令集(CISC,Complex Instruction Set Computer)和精簡指令集(RISC,Reduced Instruction Set Computer)是微處理器設(shè)計(jì)中
    的頭像 發(fā)表于 08-22 11:00 ?5684次閱讀

    西門子移位指令怎么用在順序控制

    西門子的PLC(可編程邏輯控制器)廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域,其指令集豐富,能夠滿足各種控制需求。在順序控制中,移位指令是一種非常有用的指令,可以實(shí)現(xiàn)數(shù)據(jù)的移動(dòng)和處理。 移位指令概述 移
    的頭像 發(fā)表于 08-16 17:08 ?2065次閱讀

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

    ?置位與復(fù)位指令(SET/RST) ?(1)SET(置位指令) 它的作用是使被操作的目標(biāo)元件置位并保持。 ?(2)RST(復(fù)位指令) 使被操作的目標(biāo)元件復(fù)位并保持清零狀態(tài)。SET、RST指令
    的頭像 發(fā)表于 08-05 09:06 ?1363次閱讀