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)

機(jī)器人及PLC自動化應(yīng)用 ? 來源:機(jī)器人及PLC自動化應(yīng)用 ? 作者:機(jī)器人及PLC自動化 ? 2022-06-23 11:20 ? 次閱讀

數(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í)例數(shù)據(jù)塊)(Data blocks assigned to an FB (instance DB))
實(shí)例數(shù)據(jù)塊是指派給特定功能塊的數(shù)據(jù)塊。它們功能塊的指定的本地數(shù)據(jù)。當(dāng)FB被用戶程序調(diào)用時,這些數(shù)據(jù)塊被S7-SCL編譯器自動建立。

句法(Syntax)

a44a11f0-f242-11ec-ba43-dac502259ad0.png

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ù),以便指定實(shí)際應(yīng)用所需的特定值。

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

a481b560-f242-11ec-ba43-dac502259ad0.png

當(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1608

    瀏覽量

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

    關(guān)注

    0

    文章

    609

    瀏覽量

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

    關(guān)注

    0

    文章

    236

    瀏覽量

    13582

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    使用TPA3128d2,增益上選擇了26DB,測試數(shù)據(jù)時發(fā)現(xiàn)只有22DB是為什么?

    客戶再使用TPA3128d2,再增益上選擇了26DB,可是現(xiàn)在 測試數(shù)據(jù)時發(fā)現(xiàn)只有22DB。按照規(guī)格上面應(yīng)該是相差1DB誤差的。 請問這個22DB
    發(fā)表于 10-21 08:08

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

    按照網(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集成指令處理的方法介紹

    深入理解 FPGA 的基礎(chǔ)結(jié)構(gòu)

    ,補(bǔ)充一點(diǎn),相鄰的邏輯、連接、開關(guān)組成一個可重復(fù)邏輯模塊(tile)。 1、邏輯結(jié)構(gòu) 大部分的邏輯
    發(fā)表于 04-03 17:39

    西門子博途示例:設(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í)例數(shù)據(jù)

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

    文件存儲和存儲的區(qū)別和聯(lián)系

    ,它將文件以樹狀結(jié)構(gòu)進(jìn)行組織,每個文件都被分配一個唯一的文件名。文件系統(tǒng)將文件劃分為邏輯上的數(shù)據(jù),然后將這些映射到磁盤或其他存儲介質(zhì)
    的頭像 發(fā)表于 12-20 17:16 ?1033次閱讀

    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>表

    安全存儲功能中使用的重要結(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>體

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

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

    db是什么意思

    這事兒咱們還得從dB說起。 首先明確一點(diǎn),dB是一個功率增益的單位,表示一個相對值,dBm是一個功率的單位,表示一個絕對值。有了這兩個概念的對比我們再來認(rèn)識dB。 我們在電子工程領(lǐng)域中,經(jīng)常
    的頭像 發(fā)表于 11-01 16:22 ?1.1w次閱讀
    <b class='flag-5'>db</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) 并且指定實(shí)例 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)用案例