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

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

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

西門子SCL-ANY數(shù)據(jù)類型

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-06-05 10:50 ? 次閱讀

ANY數(shù)據(jù)類型

編程語言 SCL 和 STL 中,如果在塊參數(shù)中設定了一個 ANY 指針,則任意類型的存儲器都可以在塊調(diào)用時傳遞。

但是,ANY 指針不能存儲有關存儲器結構的任何信息。例如,ANY 指針不能保存指向 PLC數(shù)據(jù)類型變量的信息。ANY 指針將其作為 BYTE 類型的 ARRAY。

ANY 數(shù)據(jù)類型的參數(shù)可以被傳遞到系統(tǒng)函數(shù)塊 (SFB) 或系統(tǒng)函數(shù) (SFC)。

下圖給出了 ANY 指針的結構:

eee99b6c-034a-11ee-90ce-dac502259ad0.png 

eefe967a-034a-11ee-90ce-dac502259ad0.png

在SCL中,能夠聲明ANY數(shù)據(jù)類型的變量如下:

作為塊的形式參數(shù);當塊被調(diào)用時,這些參數(shù)能用任意數(shù)據(jù)類型的實際參數(shù)提供。

作為臨時變量;能夠指定任意數(shù)據(jù)類型的值給這些變量。

能夠用下列數(shù)據(jù)作為實際參數(shù)或作為賦值語句的右邊部分:

本地和共享變量

在DB中的變量(絕對地址或稱號地址)

在本地實例中的變量(絕對地址或稱號地址)

NIL常量
指定一個空指針。

ANY數(shù)據(jù)類型

定時器、計數(shù)器和塊
指定標識符(如:T1, C20或FB6)。

限制(Restrictions)

ANY數(shù)據(jù)類型允許用作FB和FC的形式輸入?yún)?shù)、輸入/輸出參數(shù),及FC的輸出參數(shù)。常量不允許用作其實際參數(shù)或用在其賦值語句的右邊,除NIL常量外。

當調(diào)用FB或FC時,如果將臨時變量用作ANY類型的形式參數(shù),不能傳遞參數(shù)到遠程塊,傳遞他們時臨時變量將失效。

這種類型變量不能用作結構類型的組件類型或作為數(shù)組的元素類型。

當調(diào)用FC或FB時,如果形式參數(shù)作為輸入?yún)?shù)聲明,只能指定過程輸入(%PEW)給ANY類型的形式參數(shù)。

當調(diào)用FB時,如果形式參數(shù)作為輸出參數(shù)聲明,只能指定過程輸出(%PAW)給ANY類型的形式參數(shù)。

B#16#80 P I/O

B#16#81 I 輸入存儲區(qū)

B#16#82 Q 輸出存儲區(qū)

B#16#83 M 位存儲的存儲區(qū)

B#16#84 DBX 數(shù)據(jù)塊

B#16#85 DIX 背景數(shù)據(jù)塊

B#16#86 L 本地數(shù)據(jù)

B#16#87 V 先前的本地數(shù)據(jù)

ANY數(shù)據(jù)類型舉例

Example of the ANY Data Type

VAR_INPUT
iANY : ANY;
END_VAR

VAR_TEMP
pANY : ANY;
END_VAR

CASE ii OF
1:
pANY := MW4; // pANY包含MW4的地址

3..5:
pANY := aINT[ii];// pANY包含aINT中的第ii個元素的地址;
100:
pANY := iANY; // pANY contains the value of the iANY input variable
ELSE
pANY := NIL; // pANY包含NIL指針的值
END_CASE;

SFCxxx(IN := pANY);

在VASS標準中的應用:

AnyRob_A :ANY;// ANY變量獲得機器的發(fā)出給PLC的輸出地址

pRob_A AT AnyRob_A: STRUCT 擴展分解建立結構體

SyntaxId :BYTE; // Byte 0

DataType :BYTE; // Byte 1 數(shù)據(jù)/參數(shù)類型

DataCount:WORD; // Byte 2+3 變量長度

DBNR :WORD; // Byte 4+5 數(shù)據(jù)庫編號

BZ :DWORD; // Byte 6 bis 10 區(qū)域指針

END_STRUCT;

審核編輯:湯梓紅

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

    關注

    5006

    文章

    13108

    瀏覽量

    461462
  • 存儲器
    +關注

    關注

    38

    文章

    7433

    瀏覽量

    163518
  • 編程語言
    +關注

    關注

    10

    文章

    1929

    瀏覽量

    34540
  • 數(shù)據(jù)類型

    關注

    0

    文章

    236

    瀏覽量

    13596
  • SCL
    SCL
    +關注

    關注

    1

    文章

    239

    瀏覽量

    17025

原文標題:西門子SCL -ANY數(shù)據(jù)類型

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

收藏 人收藏

    評論

    相關推薦

    淺談西門子PLC的“SCL語言”編程

    介紹西門子PLC的“SCL語言”編程,相關編程代碼
    發(fā)表于 01-22 17:25 ?0次下載

    西門子plc數(shù)據(jù)類型_西門子plc通訊方式

    西門子PLC的品質(zhì)非常好,其網(wǎng)絡穩(wěn)定性、開放性深受工控人員的喜愛,而且編程軟件分類多,使用方便。在國內(nèi)工控界具有顯著地位。雖然大家對西門子PLC都有一定的了解,但要你說出西門子PLC各種通信方式的特點,相信很多人都不能完整答出。
    發(fā)表于 07-25 10:57 ?1.4w次閱讀
    <b class='flag-5'>西門子</b>plc<b class='flag-5'>數(shù)據(jù)類型</b>_<b class='flag-5'>西門子</b>plc通訊方式

    西門子PLC模擬量輸入輸出相關數(shù)據(jù)類型轉換

    plc模擬量輸入輸出都會涉及到數(shù)據(jù)類型的互轉問題,然而西門子300系統(tǒng)對于數(shù)據(jù)格式有著明確的規(guī)定,一般的四則運算都是在同一數(shù)據(jù)類型下才能進行的,這也是一直以來困擾初學者的一個問題。
    發(fā)表于 03-19 08:42 ?1.5w次閱讀
    <b class='flag-5'>西門子</b>PLC模擬量輸入輸出相關<b class='flag-5'>數(shù)據(jù)類型</b>轉換

    對于ANY數(shù)據(jù)類型及參數(shù)傳遞的詳細解析

    ANY是一種用于傳遞指針的形參數(shù)據(jù)類型,可視為POINTE R 類型的擴展,較POINTER 類型為復雜,長度為10個字節(jié),增加的4 字節(jié),最高字節(jié) (Byte 0) 固定為B#16#
    的頭像 發(fā)表于 04-12 10:28 ?8922次閱讀
    對于<b class='flag-5'>ANY</b><b class='flag-5'>數(shù)據(jù)類型</b>及參數(shù)傳遞的詳細解析

    西門子PLC中使用SCL語言編程的技巧

    西門子PLC中使用SCL語言編程的技巧說明。
    發(fā)表于 04-22 11:15 ?63次下載

    淺談西門子PLC的SCL語言編程

    西門子PLC的SCL語言編程說明。
    發(fā)表于 04-22 14:39 ?46次下載

    淺談西門子SCL編程

    淺談西門子SCL編程資料免費下載。
    發(fā)表于 04-23 10:44 ?27次下載

    編程語言SCLANY數(shù)據(jù)類型

    ANY數(shù)據(jù)類型 在編程語言 SCL 和 STL 中,如果在塊參數(shù)中設定了一個 ANY 指針,則任意類型的存儲器都可以在塊調(diào)用時傳遞。 但是,
    的頭像 發(fā)表于 05-25 11:02 ?5110次閱讀
    編程語言<b class='flag-5'>SCL</b>中<b class='flag-5'>ANY</b><b class='flag-5'>數(shù)據(jù)類型</b>

    SCL語言:ANY數(shù)據(jù)類型

    作為塊的形式參數(shù);當塊被調(diào)用時,這些參數(shù)能用任意數(shù)據(jù)類型的實際參數(shù)提供。
    的頭像 發(fā)表于 12-22 09:24 ?1154次閱讀

    西門子SCL語言編程系列-寫立方根FB塊

    由于西門子PLC本身并沒有帶求立方根的指令,我們用SCL來寫一個求立方根的FB塊
    的頭像 發(fā)表于 02-06 15:17 ?1843次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>SCL</b>語言編程系列-寫立方根FB塊

    西門子博途中DB_ANY數(shù)據(jù)類型的使用

    DB_ANY 數(shù)據(jù)類型用來標識任意數(shù)據(jù)塊。對于 S7-1200/1500 系列的 CPU,可以選擇訪問編程期間尚不可用的數(shù)據(jù)塊。為此,請在訪問塊的塊接口中創(chuàng)建一個 DB_
    的頭像 發(fā)表于 07-04 10:17 ?9495次閱讀
    <b class='flag-5'>西門子</b>博途中DB_<b class='flag-5'>ANY</b><b class='flag-5'>數(shù)據(jù)類型</b>的使用

    西門子博途:使用PLC數(shù)據(jù)類型 (UDT)

    PLC 數(shù)據(jù)類型 (UDT) 是可自行定義且在程序中可以多次使用的數(shù)據(jù)結構。 此結構可包含不同數(shù)據(jù)類型的多個元素。 聲明 PLC 數(shù)據(jù)類型期間,可以定義各個元素的
    的頭像 發(fā)表于 07-12 17:36 ?7712次閱讀
    <b class='flag-5'>西門子</b>博途:使用PLC<b class='flag-5'>數(shù)據(jù)類型</b> (UDT)

    西門子PLC UDT數(shù)據(jù)類型的使用方法

    西門子PLC(Programmable Logic Controller)的自定義數(shù)據(jù)類型(User Defined Type,簡稱UDT)是一種自定義的數(shù)據(jù)結構,可以根據(jù)具體需求定義一種包含多個不同
    的頭像 發(fā)表于 07-19 15:01 ?3682次閱讀
    <b class='flag-5'>西門子</b>PLC UDT<b class='flag-5'>數(shù)據(jù)類型</b>的使用方法

    西門子SCL編程實例——周期性運行(更新版)

    我之前寫的一篇文章《西門子SCL編程實例——(電機)周期性運行》收到小伙伴反饋。
    的頭像 發(fā)表于 11-07 09:05 ?880次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>SCL</b>編程實例——周期性運行(更新版)

    西門子博圖SCL練習1:使用FC計算平均值

    西門子博圖SCL練習1:使用FC計算平均值
    的頭像 發(fā)表于 01-02 10:25 ?2522次閱讀
    <b class='flag-5'>西門子</b>博圖<b class='flag-5'>SCL</b>練習1:使用FC計算平均值