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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

如何使用S7-SCL中的“AT”指令?

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2021-04-04 18:14 ? 次閱讀

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

AT指令是S7-SCL中特有的一個指令,初學者可能會忽略此指令,或者對其理解不夠深刻。AT指令在S7-SCL中有著非常重要的地位,很多應用程序都必須使用此指令。下面將對此指令進行詳細講解。

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

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

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

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

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

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

50447f60-8cfd-11eb-8b86-12bb97331649.png

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

5069ff6a-8cfd-11eb-8b86-12bb97331649.png

注意:此處的UDT200長度應小于等于所繼承的Buffer大小,否則編譯錯誤

50d71c6c-8cfd-11eb-8b86-12bb97331649.png

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

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

5112442c-8cfd-11eb-8b86-12bb97331649.png

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

515d409e-8cfd-11eb-8b86-12bb97331649.png

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

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

519a1d5c-8cfd-11eb-8b86-12bb97331649.png

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

51cef2e8-8cfd-11eb-8b86-12bb97331649.png

523e2302-8cfd-11eb-8b86-12bb97331649.png

AT指令在使用當中,還有如下注意事項:

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

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

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

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

52c50796-8cfd-11eb-8b86-12bb97331649.png

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

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

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

在VASS標準中的應用實例:

pMeldFeld AT 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 故障信息

END_STRUCT;

程序中

TempPointerMsys := Msys; 故障信息號給入變量

故障報警信息

530c0c22-8cfd-11eb-8b86-12bb97331649.png

MeldSend(AufrufNr := 1

,Anz_Meld := 27

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

,pMeldAbb := pMeldAbb.BZ

,MeldDB := WORD_TO_INT(pMeldDBNR.DBNR)

,AenderungsID := AenderungsID

,Integritaet := Integritaet

,Neustart := Neustart

); // VOID

原文標題:SCL_什么是“AT”指令,如何使用?及其在VASS標準中的應用

文章出處:【微信公眾號:機器人PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

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

    關注

    2

    文章

    191

    瀏覽量

    65124
  • S7-SCL
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7721

原文標題:SCL_什么是“AT”指令,如何使用?及其在VASS標準中的應用

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子1200移位指令怎么移位怎么燈都亮了

    西門子S7-1200 PLC是一款廣泛應用于工業(yè)自動化領域的控制器,其編程環(huán)境為TIA Portal。在S7-1200,移位指令(Shift Instruction)是一種基本的位操
    的頭像 發(fā)表于 08-16 17:10 ?491次閱讀

    S7-200指令

    S7-200庫文件是西門子旗下同款編程軟件的可調(diào)用數(shù)據(jù)庫,可安裝也可直接覆蓋進行使用。常用的數(shù)據(jù)庫,簡便方便調(diào)用。在PLC調(diào)試節(jié)省時間。
    發(fā)表于 07-23 12:29 ?4次下載

    西門子S7-1200 PLC的指令介紹

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

    西門子博途中的LAD、FBD與SCL編程

    選擇要在其后插入新程序段的程序段。 在快捷菜單,選擇命令“插入 STL 程序段”(Insert STL network) 或“插入 SCL 程序段” (Insert SCL network)。
    發(fā)表于 01-16 09:33 ?2500次閱讀
    西門子博途中的LAD、FBD與<b class='flag-5'>SCL</b>編程

    STEP7博圖中的SCL設置和屬性解析

    SCL V11,可以檢查“擴展狀態(tài)信息”。與SCL V5.x相反,始終創(chuàng)建最小化的調(diào)試信息,這允許進行基本調(diào)試!
    的頭像 發(fā)表于 01-02 09:58 ?1739次閱讀
    STEP<b class='flag-5'>7</b>博圖中的<b class='flag-5'>SCL</b>設置和屬性解析

    SIMATIC S7-1500 PLC S7-SCL SCL塊及應用

    函數(shù)和函數(shù)塊在西門子的大中型PLC編程,應用十分廣泛,前介紹過函數(shù)和函數(shù)塊
    的頭像 發(fā)表于 12-15 16:18 ?935次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC <b class='flag-5'>S7-SCL</b> <b class='flag-5'>SCL</b>塊及應用

    使用PUT和GET指令通過S7連接在兩個CPU之間交換數(shù)據(jù)

    使用 PUT 和 GET 指令通過 S7 連接在兩個 CPU 之間交換數(shù)據(jù)。
    的頭像 發(fā)表于 12-14 16:53 ?1w次閱讀
    使用PUT和GET<b class='flag-5'>指令</b>通過<b class='flag-5'>S7</b>連接在兩個CPU之間交換數(shù)據(jù)

    SIMATIC S7-1500 PLC S7-SCL應用舉例

    函數(shù)和函數(shù)塊在西門子的大中型PLC編程,應用十分廣泛,前介紹過函數(shù)和函數(shù)塊,其編程采用的是LAD語言,而本節(jié)采用SCL語言編程,以下僅用一個例子介紹函數(shù),函數(shù)塊使用方法也類似。
    的頭像 發(fā)表于 12-11 09:17 ?670次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC <b class='flag-5'>S7-SCL</b>應用舉例

    s7-200字符串賦值指令

    S7-200的字符串賦值指令,包括其語法、使用方法、注意事項等,以幫助讀者更好地理解和應用該指令。 首先,我們來了解一下S7-200
    的頭像 發(fā)表于 12-08 14:44 ?1892次閱讀

    SIMATIC S7-1500 PLC S7-SCL SCL塊詳解

    函數(shù)和函數(shù)塊在西門子的大中型PLC編程,應用十分廣泛,前介紹過函數(shù)和函數(shù)塊,其編程采用的是LAD語言,而本節(jié)采用SCL語言編程,以下僅用一個例子介紹函數(shù),函數(shù)塊使用方法也類似。
    的頭像 發(fā)表于 12-06 09:17 ?902次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC <b class='flag-5'>S7-SCL</b> <b class='flag-5'>SCL</b>塊詳解

    SIMATIC S7-1500 PLC S7-SCL尋址詳解

    尋址可分為直接尋址和間接尋址,以下分別介紹。
    的頭像 發(fā)表于 12-04 09:29 ?2630次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC <b class='flag-5'>S7-SCL</b>尋址詳解

    SIMATIC S7-1500 PLC S7-SCL賦值詳解

    通過賦值,一個變量接受另一個變量或者表達式的值。在賦值運算符“;=”左邊的是變量,該變量接受右邊的地址或者表達式的值。
    的頭像 發(fā)表于 11-29 09:24 ?3008次閱讀

    SIMATIC S7-1500 PLC S7-SCL表達式詳解

    表達式為了計算一個終值所用的公式,它由地址(變量)和運算符組成。表達式的規(guī)則如下。
    的頭像 發(fā)表于 11-28 09:36 ?1012次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC <b class='flag-5'>S7-SCL</b>表達式詳解

    SIMATIC S7-1500 PLC S7-SCL簡介

    S7-SCL(Structured Control Language)結(jié)構(gòu)化控制語言是一種類似于計算機高級語言的編程方式,它的語法規(guī)范接近計算機的PASCAL語言。
    的頭像 發(fā)表于 11-20 09:17 ?987次閱讀

    西門子S7-200與S7-1500的通信技術(shù)分析

    .在指令塊下方的“屬性"對話框設置“連接參數(shù)”(以PUT指令塊為例):選擇"未指定",TIA軟件會自動創(chuàng)建一個連接(例:“S7_連接_1”),自動分配連接ID,并自動
    發(fā)表于 11-19 15:21 ?3250次閱讀
    西門子<b class='flag-5'>S7</b>-200與<b class='flag-5'>S7</b>-1500的通信技術(shù)分析