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

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

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

數(shù)據(jù)塊DB的結(jié)構(gòu)和應(yīng)用實例分析

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-07-08 09:12 ? 次閱讀

數(shù)據(jù)塊(DB)的結(jié)構(gòu)

定義(Definition)

在一個程序中,可以被所有塊存取的特定用戶數(shù)據(jù)包含在數(shù)據(jù)塊。每個FB、FC或OB均能讀寫這些數(shù)據(jù)塊。

有兩種數(shù)據(jù)塊類型:

數(shù)據(jù)塊(Data blocks)

能被所有S7程序的邏輯塊存取。每個FB、FC或OB讀或?qū)懓谶@些數(shù)據(jù)塊里的數(shù)據(jù)。

指派給一個FB的數(shù)據(jù)塊(實例數(shù)據(jù)塊)(Data blocks assigned to an FB (instance DB))

實例數(shù)據(jù)塊是指派給特定功能塊的數(shù)據(jù)塊。它們功能塊的指定的本地數(shù)據(jù)。當(dāng)FB被用戶程序調(diào)用時,這些數(shù)據(jù)塊被S7-SCL編譯器自動建立。

句法(Syntax)

DB標(biāo)識符(DB Identifier)

在關(guān)鍵字“DATA_BLOCK”之后,鍵入關(guān)鍵字DB作為數(shù)據(jù)塊的標(biāo)識符,后面跟一個塊號或數(shù)據(jù)塊的符號名,塊號是1到65533中間的值。

例子(Examples:)

DATA_BLOCK DB20

DATA_BLOCK MEASRANGE

數(shù)據(jù)塊聲明部分(DB Declaration Section)

在DB的聲明部分定義DB的數(shù)據(jù)結(jié)構(gòu)。有兩種方法做這件事,如下:

通過指派到用戶定義數(shù)據(jù)類型(By assigning a user-defined data type)

在此,指派一個先在程序中定義的用戶數(shù)據(jù)類型的標(biāo)識符,然后數(shù)據(jù)塊取得該UDT的結(jié)構(gòu)。你可以在數(shù)據(jù)塊的賦值部分指派變量的初始值。

通過定義STRUCT(結(jié)構(gòu))數(shù)據(jù)類型(By defining a STRUCT data type)

在STRUCT數(shù)據(jù)類型的說明中,指定了存儲在DB中的每個變量的數(shù)據(jù)類型,可能也給出了初始值。

例子(Example)

DATA_BLOCK DB20

STRUCT // 聲明部分

VALUE:ARRAY [1..100] OF INT;

END_STRUCT

BEGIN // 賦值部分開始

END_DATA_BLOCK // 數(shù)據(jù)塊結(jié)束

數(shù)據(jù)塊賦值部分(DB Assignment Section)

在賦值部分,能夠改寫在聲明部分聲明的數(shù)據(jù),以便指定實際應(yīng)用所需的特定值。

賦值部分用關(guān)鍵字BEGIN開始,然后包含一系列賦值語句。

當(dāng)指派初始值(初始化)時, 鍵入屬性和注釋采用STL句法。關(guān)于如何寫常量、屬性和注釋,使用STL在線幫助或參考STEP 7的資料。

例子(Example)

// 帶指定STRUCT數(shù)據(jù)類型的數(shù)據(jù)塊

DATA_BLOCK DB10

STRUCT // 帶初始值聲明的數(shù)據(jù)聲明

VALUE : ARRAY [1..100] OF INT := 100 (1) ;

SWITCH : BOOL := TRUE ;

S_WORD : WORD := W#16#FFAA ;

S_BYTE : BYTE := B#16#FF ;

S_TIME : S5TIME := S5T#1h30m10s ;

END_STRUCT

BEGIN // 賦值部分

// 為特定的數(shù)組元素賦值

VALUE [1] := 5;

VALUE [5] := -1;

END_DATA_BLOCK

// 帶用戶定義數(shù)據(jù)類型指定的數(shù)據(jù)塊

DATA_BLOCK DB11

UDT 51

BEGIN

END_DATA_BLOCK

審核編輯:郭婷

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

    關(guān)注

    8

    文章

    6760

    瀏覽量

    88618
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1608

    瀏覽量

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

    關(guān)注

    0

    文章

    236

    瀏覽量

    13582

原文標(biāo)題:數(shù)據(jù)塊(DB)的結(jié)構(gòu)

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

收藏 人收藏

    評論

    相關(guān)推薦

    用一buf634的緩沖器衰減12db,用了兩衰減了10db,為什么會衰減?。?/a>

    按照網(wǎng)上給的圖焊的電路,發(fā)現(xiàn)用一buf634的緩沖器衰減12db,用了兩衰減了10db,請問專家為什么會衰減啊,要求是增益0db
    發(fā)表于 09-20 07:23

    雙向觸發(fā)二極管db4與db3的區(qū)別

    雙向觸發(fā)二極管(Bidirectional Trigger Diode,簡稱DBD)是一種特殊的二極管,具有雙向觸發(fā)特性。DB3和DB4是兩種常見的雙向觸發(fā)二極管型號,它們在結(jié)構(gòu)、性能和應(yīng)用方面存在
    的頭像 發(fā)表于 08-16 16:00 ?1139次閱讀

    部分TIA集成指令處理的方法介紹

    對于優(yōu)化的DB,可使用FILL_BLK指令或創(chuàng)建相同的UDT結(jié)構(gòu)類型的DB,使用MOVE指令清零DB
    發(fā)表于 04-15 09:34 ?948次閱讀
    部分TIA集成指令處理的方法介紹

    西門子博途示例:設(shè)置優(yōu)化訪問

    默認(rèn)情況下,為 S7 - 1200/1500 的所有新創(chuàng)建的啟用優(yōu)化訪問??蔀? OB、FB 和全局DB設(shè)置訪問。對于背景DB,設(shè)置來
    的頭像 發(fā)表于 01-15 10:41 ?4666次閱讀
    西門子博途示例:設(shè)置優(yōu)化<b class='flag-5'>塊</b>訪問

    如何快速為DB變量添加屬性

    有些情況需要為PLC DB變量添加一些屬性,常規(guī)的做法是在DB中選中這個變量,然后打開變量屬性輸入屬性名稱和屬性值。
    的頭像 發(fā)表于 01-02 14:18 ?1783次閱讀
    如何快速為<b class='flag-5'>DB</b><b class='flag-5'>塊</b>變量添加屬性

    西門子博途:創(chuàng)建實例數(shù)據(jù)

    有三種方法可以創(chuàng)建實例數(shù)據(jù): 當(dāng)?shù)谝淮握{(diào)用FB時,用戶指定應(yīng)該使用的FB的實例DB。這將打開一個對話框,在該對話框中可以手動指定符號名稱,如果需要,還可以指定
    的頭像 發(fā)表于 12-25 11:10 ?800次閱讀
    西門子博途:創(chuàng)建<b class='flag-5'>實例數(shù)據(jù)</b><b class='flag-5'>塊</b>

    西門子博途:調(diào)用FB(實例化)

    與功能(FC)相比,功能(FB)具有存儲器。這意味著功能被分配了一個本地數(shù)據(jù),即所謂的實例數(shù)據(jù)
    的頭像 發(fā)表于 12-25 11:04 ?2663次閱讀
    西門子博途:調(diào)用FB(<b class='flag-5'>實例</b>化)

    9DB1904B 數(shù)據(jù)

    9DB1904B 數(shù)據(jù)
    發(fā)表于 12-07 18:30 ?0次下載
    9<b class='flag-5'>DB</b>1904B <b class='flag-5'>數(shù)據(jù)</b>表

    單個實例、多重實例和參數(shù)實例的區(qū)別

    在FB中調(diào)用定時器時,選擇了單個實例,那么該定時器的背景數(shù)據(jù)就在系統(tǒng)中生成了,也就是說,它不存在于FB的背景
    發(fā)表于 12-04 10:35 ?1022次閱讀
    單個<b class='flag-5'>實例</b>、多重<b class='flag-5'>實例</b>和參數(shù)<b class='flag-5'>實例</b>的區(qū)別

    安全存儲功能中使用的重要結(jié)構(gòu)

    安全存儲功能中使用的重要結(jié)構(gòu)體 在整個安全存儲功能的操作過程中,存在一些很重要的結(jié)構(gòu)體,這些結(jié)構(gòu)體用于記錄或保存所有安全文件和dirf.db文件的操作信息,這些
    的頭像 發(fā)表于 11-21 14:36 ?434次閱讀
    安全存儲功能中使用的重要<b class='flag-5'>結(jié)構(gòu)</b>體

    epoll的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)

    先看一下 eventpoll 這個數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)是我們在調(diào)用 epoll_create 之后內(nèi)核創(chuàng)建的一個句柄,表示了一個 epoll 實例。后續(xù)如果我們再調(diào)用 epoll_ctl
    的頭像 發(fā)表于 11-10 10:20 ?706次閱讀
    epoll的基礎(chǔ)<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>

    如何在博途環(huán)境下載但不重新初始化數(shù)據(jù)呢?

    現(xiàn)場設(shè)備運行過程中有時候我們需要更改在線數(shù)據(jù)結(jié)構(gòu)(比如增加一些變量),但是如果直接更改數(shù)據(jù)并下載會導(dǎo)致其重新初始化。
    的頭像 發(fā)表于 11-10 09:25 ?1628次閱讀
    如何在博途環(huán)境下載但不重新初始化<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>塊</b>呢?

    什么是FB功能?為什么要使用FB功能?如何制作一個FB功能

      FB功能是一種封裝了特定邏輯功能的模塊。它類似于一個子程序或函數(shù),但是它有自己的內(nèi)部變量和接口。FB功能可以被多次調(diào)用,并且每次調(diào)用都會創(chuàng)建一個新的實例。
    的頭像 發(fā)表于 11-09 16:13 ?3459次閱讀
    什么是FB功能<b class='flag-5'>塊</b>?為什么要使用FB功能<b class='flag-5'>塊</b>?如何制作一個FB功能<b class='flag-5'>塊</b>?

    SCL函數(shù)結(jié)構(gòu)介紹 創(chuàng)建SCL函數(shù)的步驟說明

    下圖顯示了 SCL 函數(shù)結(jié)構(gòu)。
    的頭像 發(fā)表于 10-30 10:16 ?802次閱讀
    SCL函數(shù)<b class='flag-5'>塊</b>的<b class='flag-5'>結(jié)構(gòu)</b>介紹 創(chuàng)建SCL函數(shù)<b class='flag-5'>塊</b>的步驟說明

    VASS06中:用戶 DB/數(shù)據(jù)配置應(yīng)用案例

    編號分配 為了簡化編號分配并且避免搜索空閑編號,可將編號切換到手動 (1) 并且指定實例 DB 的開始范圍“2000”(2)。 出現(xiàn)提示 (3) 該編號已存在的消息。
    的頭像 發(fā)表于 10-26 10:48 ?491次閱讀
    VASS06中:用戶 <b class='flag-5'>DB</b>/<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>塊</b>配置應(yīng)用案例