<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

各種邏輯塊中聲明的變量或參數類型

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-08-17 11:00 ? 次閱讀

每類本地變量或參數,都有用各自關鍵字對標識的自己的聲明子域。每個子域包含允許的詳細的聲明子域,子域可按任何順序定位。

下表顯示能夠在各種邏輯塊中聲明的變量或參數類型。

變量作為:
靜態變量
VAR
. . .
END_VAR

臨時變量
VAR_TEMP
. . .
END_VAR
塊參數作為:
輸入參數
VAR_INPUT
. . .
END_VAR

輸出參數
VAR_OUTPUT
. . .
END_VAR

輸入/輸出參數
VAR_IN_OUT
. . .
END_VAR

靜態變量

靜態變量是本地變量,塊運行時其值被保留。用來保存功能塊的值,并包含在相應實例數據塊中。

句法(Syntax)

靜態變量在VAR / END_VAR聲明區內聲明。該聲明子域是FB聲明部分的一部分。編譯之后,該子域和塊參數子域決定了指定的實例數據塊的結構。

在該子域能夠:

建立變量,指定變量的數據類型和初始化變量。

如果要在當前FB中作為本地實例調(其他的)FB,則將一個被調用的FB聲明為靜態變量。

例子(Example)


VAR
RUN :INT;
MEASARR :ARRAY [1..10] OF REAL;
SWITCH :BOOL;
MOTOR_1,MOTOR_2:FB100;// 實例聲明

END_VAR

存取(Access)

從如下代碼部分存取變量:

塊內存取(Access within the block):在功能塊的代碼部分能夠存取在聲明部分聲明的變量。詳細的解釋在標題為"賦值語句(Value Assignment)"節。

用實例DB進行外部存取(External access using the instance DB): 用索引存取能夠從其他塊存取變量,如DBx.變量。

臨時變量

Temporary Variables

臨時變量在本地屬于邏輯塊,不產生靜態內存區域,他們位于CPU的堆棧里。本塊正在運行時,其值才被保留。臨時變量不能從聲明它的塊外存取。一個OB、FB或FC首次執行前,臨時變量的值是不確定的。也不能被初始化。

如果只要求在OB、FB或者FC執行時記錄中間結果,可以聲明臨時數據。

句法(Syntax)

臨時變量在VAR_TEMP / END_VAR聲明部分里聲明。該聲明部分是FB、FC或OB的一部分。通過變量聲明以聲明變量名和數據類型。

例子(Example)

VAR_TEMP
BUFFER 1: ARRAY [1..10] OF INT ;
AUX1, AUX2: REAL ;
END_VAR

存取(Access)

變量總是從邏輯塊的代碼部分存取,變量是在聲明部分聲明的(內部存取)。參見題為“賦值語句(Value Assignment)”節。

塊參數

Block Parameters

參數是占位符,塊被實際地調用時才指定一個值。在塊里聲明的占位符認為是指派了作為實際參數的值的形式變量。且參數提供了一個塊間交換信息的機制。

塊參數的類型(Types of Block Parameters)

被實際參數指定的形式輸入參數(數據流入塊)。

形式輸出參數用來傳遞輸出參數(數據 從塊流出)。

有輸入和輸出參數功能的形式輸入/輸出參數。

句法(Syntax)

在功能塊或函數的聲明部分制作形式參數的聲明,根據在三種聲明子域內的參數類型組合參數。在變量聲明中,指定參數名和數據類型。初始化只可能對一個FB的輸入和輸出參數。

聲明形式參數時,不僅只能用基本的、復雜的和用戶定義數據類型,也可用參數數據類型。

例子(Example)

VAR_INPUT// 輸入參數
MY_DB: BLOCK_DB ;
CONTROLLER: DWORD ;
TIMEOFDAY: TIME_OF_DAY ;
END_VAR

VAR_OUTPUT// 輸出參數
SETPOINTS: ARRAY [1..10] of INT ;
END_VAR

VAR_IN_OUT// 輸入/輸出參數
SETTING : INT ;
END_VAR

存取(Access)

塊參數可從邏輯塊的代碼部分進行存取如下:

內部存?。?從在其聲明部分已經聲明該參數的邏輯塊的代碼部分存取。在題為"賦值語句(Value Assignment)"和"表達式、操作和地址(Expressions, Operations and Addresses)"節有解釋。

用實例數據塊外部存取: 用特定的DB能夠存取功能塊的塊參數。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 參數
    +關注

    關注

    11

    文章

    1419

    瀏覽量

    31621
  • 代碼
    +關注

    關注

    30

    文章

    4575

    瀏覽量

    67135
  • 變量
    +關注

    關注

    0

    文章

    598

    瀏覽量

    28153

原文標題:Block Parameters

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

收藏 人收藏

    評論

    相關推薦

    變量聲明和定義有什么區別和聯系

    變量聲明和定義是編程中的兩個重要概念,它們在語法和語義上有一些區別和聯系。在本文中,我將詳細介紹變量聲明和定義之間的區別和聯系。 首先,讓我們從
    的頭像 發表于 12-07 16:14 ?552次閱讀

    變量聲明最佳實踐?

    所以我們開始編寫32位和16位代碼,并過渡到MPLAB X和XC編譯器。我想到的一個主題是聲明變量的最佳實踐。常規IpType。h類型。h pr STDIN。
    發表于 09-30 12:01

    基本Verilog變量有線網類型和寄存器類型

    邏輯,應在敏感信號表列出所有的輸入信號;7、所有的內部寄存器都應該可以被復位;8、用戶自定義原件(UDP元件)是不能被綜合的。一:基本Verilog變量有線網
    發表于 07-29 06:10

    Verilog 變量聲明與數據類型

    Verilog 變量聲明與數據類型二上節介紹了wire,reg數據類型及其用法,并對變量定義
    發表于 08-06 09:21

    Verilog 變量聲明與數據類型

    必須先聲明后使用,聲明變量的數據類型也就確定了。變量聲明是模塊(module)內惟一的,不能在
    發表于 08-10 14:01

    Python的變量類型詳細資料說明

    Python 中的變量賦值不需要類型聲明。每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。每個
    發表于 08-24 16:47 ?3次下載
    Python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>詳細資料說明

    Python的變量類型詳細說明

    變量賦值Python 中的變量賦值不需要類型聲明。 每個變量在內存中創建,都包括變量的標識,名稱
    發表于 01-15 16:29 ?1次下載
    Python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>詳細說明

    西門子SCL邏輯塊中聲明變量參數類型

    每類本地變量參數,都有用各自關鍵字對標識的自己的聲明子域。每個子域包含允許的詳細的聲明子域,子域可按任何順序定位。 下表顯示能夠在各種
    的頭像 發表于 08-25 18:07 ?8424次閱讀

    S7-1200使用AT覆蓋變量

    S7-1200 要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所聲明變量。這樣可以選擇對不同數據
    的頭像 發表于 03-11 11:10 ?3494次閱讀

    關于S7-1500訪問聲明變量內的數據區域

    S7-1500 要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所聲明變量。其優勢在于無需指令即可根據需要實現
    的頭像 發表于 10-08 11:26 ?1451次閱讀

    各種邏輯塊中聲明變量參數類型

    臨時變量在本地屬于邏輯塊,不產生靜態內存區域,他們位于CPU的堆棧里。本塊正在運行時,其值才被保留。臨時變量不能從聲明它的塊外存取。一個OB、FB或FC首次執行前,臨時
    的頭像 發表于 03-08 11:14 ?711次閱讀

    淺析python的變量類型

    python不需要事先聲明變量。 python的變量類型是在運行過程中自動決定的,不需要代碼聲明
    的頭像 發表于 03-10 10:11 ?624次閱讀
    淺析python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>

    C語言如何定義結構體類型變量

    在定義了結構體變量后,系統會為之分配內存單元。根據結構體類型中包含的成員情況,在Visual C++中占63個字節。 * 這種聲明方式是聲明類型
    的頭像 發表于 03-10 15:35 ?925次閱讀

    西門子博途中聲明STRUCT數據類型變量

    聲明 STRUCT 數據類型變量,請按以下步驟操作。
    的頭像 發表于 06-21 09:32 ?3107次閱讀

    C語言編程時,各種類型變量該如何初始化?

    C語言編程時,各種類型變量該如何初始化? 在C語言中,每個變量都需要在使用之前進行初始化。初始化是為變量分配內存空間并賦予初始值的過程。C語言提供了不同的初始化方式,根據
    的頭像 發表于 12-07 13:53 ?684次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>