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

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

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

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

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-08-17 11:00 ? 次閱讀

每類本地變量或參數(shù),都有用各自關(guān)鍵字對(duì)標(biāo)識(shí)的自己的聲明子域。每個(gè)子域包含允許的詳細(xì)的聲明子域,子域可按任何順序定位。

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

變量作為:
靜態(tài)變量
VAR
. . .
END_VAR

臨時(shí)變量
VAR_TEMP
. . .
END_VAR
塊參數(shù)作為:
輸入?yún)?shù)
VAR_INPUT
. . .
END_VAR

輸出參數(shù)
VAR_OUTPUT
. . .
END_VAR

輸入/輸出參數(shù)
VAR_IN_OUT
. . .
END_VAR

靜態(tài)變量

靜態(tài)變量是本地變量,塊運(yùn)行時(shí)其值被保留。用來(lái)保存功能塊的值,并包含在相應(yīng)實(shí)例數(shù)據(jù)塊中。

句法(Syntax)

靜態(tài)變量在VAR / END_VAR聲明區(qū)內(nèi)聲明。該聲明子域是FB聲明部分的一部分。編譯之后,該子域和塊參數(shù)子域決定了指定的實(shí)例數(shù)據(jù)塊的結(jié)構(gòu)。

在該子域能夠:

建立變量,指定變量的數(shù)據(jù)類型和初始化變量。

如果要在當(dāng)前FB中作為本地實(shí)例調(diào)(其他的)FB,則將一個(gè)被調(diào)用的FB聲明為靜態(tài)變量。

例子(Example)


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

END_VAR

存取(Access)

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

塊內(nèi)存取(Access within the block):在功能塊的代碼部分能夠存取在聲明部分聲明的變量。詳細(xì)的解釋在標(biāo)題為"賦值語(yǔ)句(Value Assignment)"節(jié)。

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

臨時(shí)變量

Temporary Variables

臨時(shí)變量在本地屬于邏輯塊,不產(chǎn)生靜態(tài)內(nèi)存區(qū)域,他們位于CPU的堆棧里。本塊正在運(yùn)行時(shí),其值才被保留。臨時(shí)變量不能從聲明它的塊外存取。一個(gè)OB、FB或FC首次執(zhí)行前,臨時(shí)變量的值是不確定的。也不能被初始化。

如果只要求在OB、FB或者FC執(zhí)行時(shí)記錄中間結(jié)果,可以聲明臨時(shí)數(shù)據(jù)。

句法(Syntax)

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

例子(Example)

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

存取(Access)

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

塊參數(shù)

Block Parameters

參數(shù)是占位符,塊被實(shí)際地調(diào)用時(shí)才指定一個(gè)值。在塊里聲明的占位符認(rèn)為是指派了作為實(shí)際參數(shù)的值的形式變量。且參數(shù)提供了一個(gè)塊間交換信息的機(jī)制。

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

被實(shí)際參數(shù)指定的形式輸入?yún)?shù)(數(shù)據(jù)流入塊)。

形式輸出參數(shù)用來(lái)傳遞輸出參數(shù)(數(shù)據(jù) 從塊流出)。

有輸入和輸出參數(shù)功能的形式輸入/輸出參數(shù)。

句法(Syntax)

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

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

例子(Example)

VAR_INPUT// 輸入?yún)?shù)
MY_DB: BLOCK_DB ;
CONTROLLER: DWORD ;
TIMEOFDAY: TIME_OF_DAY ;
END_VAR

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

VAR_IN_OUT// 輸入/輸出參數(shù)
SETTING : INT ;
END_VAR

存取(Access)

塊參數(shù)可從邏輯塊的代碼部分進(jìn)行存取如下:

內(nèi)部存?。?從在其聲明部分已經(jīng)聲明該參數(shù)的邏輯塊的代碼部分存取。在題為"賦值語(yǔ)句(Value Assignment)"和"表達(dá)式、操作和地址(Expressions, Operations and Addresses)"節(jié)有解釋。

用實(shí)例數(shù)據(jù)塊外部存取: 用特定的DB能夠存取功能塊的塊參數(shù)。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1661

    瀏覽量

    31877
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67767
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    607

    瀏覽量

    28257

原文標(biāo)題:Block Parameters

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變量聲明和定義有什么區(qū)別和聯(lián)系

    變量聲明和定義是編程的兩個(gè)重要概念,它們?cè)谡Z(yǔ)法和語(yǔ)義上有一些區(qū)別和聯(lián)系。在本文中,我將詳細(xì)介紹變量聲明和定義之間的區(qū)別和聯(lián)系。 首先,
    的頭像 發(fā)表于 12-07 16:14 ?832次閱讀

    變量聲明最佳實(shí)踐?

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

    Verilog 變量聲明與數(shù)據(jù)類型

    Verilog 變量聲明與數(shù)據(jù)類型二上節(jié)介紹了wire,reg數(shù)據(jù)類型及其用法,并對(duì)變量定義
    發(fā)表于 08-06 09:21

    Verilog 變量聲明與數(shù)據(jù)類型

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

    Python的變量類型詳細(xì)資料說(shuō)明

    Python 變量賦值不需要類型聲明。每個(gè)變量在內(nèi)存創(chuàng)建,都包括
    發(fā)表于 08-24 16:47 ?3次下載
    Python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>詳細(xì)資料說(shuō)明

    Python的變量類型詳細(xì)說(shuō)明

    變量賦值Python 變量賦值不需要類型聲明。 每個(gè)變量在內(nèi)存
    發(fā)表于 01-15 16:29 ?1次下載
    Python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>詳細(xì)說(shuō)明

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

    了 ANY 指針的結(jié)構(gòu): 在SCL,能夠聲明ANY數(shù)據(jù)類型變量如下: 作為的形式參數(shù);當(dāng)
    的頭像 發(fā)表于 05-25 11:02 ?5013次閱讀
    編程語(yǔ)言SCL<b class='flag-5'>中</b>ANY數(shù)據(jù)<b class='flag-5'>類型</b>

    西門子SCL邏輯聲明變量參數(shù)類型

    每類本地變量參數(shù),都有用各自關(guān)鍵字對(duì)標(biāo)識(shí)的自己的聲明子域。每個(gè)子域包含允許的詳細(xì)的聲明子域,子域可按任何順序定位。 下表顯示能夠在
    的頭像 發(fā)表于 08-25 18:07 ?9246次閱讀

    關(guān)于S7-1500訪問(wèn)聲明變量內(nèi)的數(shù)據(jù)區(qū)域

    S7-1500 要訪問(wèn)聲明變量內(nèi)的數(shù)據(jù)區(qū)域,可以通過(guò)附加聲明來(lái)覆蓋所聲明變量。其優(yōu)勢(shì)在于無(wú)需指令即可根據(jù)需要實(shí)現(xiàn)
    的頭像 發(fā)表于 10-08 11:26 ?1606次閱讀

    各種邏輯聲明變量參數(shù)類型

    臨時(shí)變量在本地屬于邏輯,不產(chǎn)生靜態(tài)內(nèi)存區(qū)域,他們位于CPU的堆棧里。本正在運(yùn)行時(shí),其值才被保留。臨時(shí)變量不能從
    的頭像 發(fā)表于 03-08 11:14 ?874次閱讀

    淺析python的變量類型

    python不需要事先聲明變量。 python的變量類型是在運(yùn)行過(guò)程自動(dòng)決定的,不需要代碼聲明
    的頭像 發(fā)表于 03-10 10:11 ?714次閱讀
    淺析python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>

    C語(yǔ)言如何定義結(jié)構(gòu)體類型變量

    在定義了結(jié)構(gòu)體變量后,系統(tǒng)會(huì)為之分配內(nèi)存單元。根據(jù)結(jié)構(gòu)體類型包含的成員情況,在Visual C++占63個(gè)字節(jié)。 * 這種聲明方式是
    的頭像 發(fā)表于 03-10 15:35 ?1079次閱讀

    西門子博途中聲明STRUCT數(shù)據(jù)類型變量

    聲明 STRUCT 數(shù)據(jù)類型變量,請(qǐng)按以下步驟操作。
    的頭像 發(fā)表于 06-21 09:32 ?3665次閱讀

    ARRAY 數(shù)據(jù)類型變量

    要求 全局?jǐn)?shù)據(jù)已打開。 操作步驟 要聲明一個(gè) ARRAY 數(shù)據(jù)類型變量,請(qǐng)按以下步驟操作: 在“名稱”(Name) 列,輸入
    的頭像 發(fā)表于 07-06 11:08 ?912次閱讀

    C語(yǔ)言編程時(shí),各種類型變量該如何初始化?

    不同的方式。 1. 聲明和賦值分開初始化: 這種方式將變量聲明與賦值分開,在聲明時(shí)分配內(nèi)存空間,再在后續(xù)代碼中進(jìn)行賦值。 ```c int number; //
    的頭像 發(fā)表于 12-07 13:53 ?940次閱讀