fczxjh
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 401 個
工控威望: 807 點
下載積分: 2726 分
在線時間: 191(小時)
注冊時間: 2019-07-15
最后登錄: 2025-04-19
查看fczxjh的 主題 / 回貼
樓主  發(fā)表于: 13天前
如題。在FB1中寫動作,F(xiàn)B2多重調(diào)用FB1,用DB2作為FB2的多重背景數(shù)據(jù)塊,OB1調(diào)用FB2時,

是否應(yīng)該像博圖一樣創(chuàng)建一個新的數(shù)據(jù)塊,但好像依舊用DB2也沒有報錯

章先生
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 111 個
工控威望: 147 點
下載積分: 1792 分
在線時間: 79(小時)
注冊時間: 2024-11-22
最后登錄: 2025-04-18
查看章先生的 主題 / 回貼
1樓  發(fā)表于: 13天前
正常來說肯定是要新建數(shù)據(jù)塊的,2個FB的數(shù)據(jù)存儲在一個DB塊,那你讀取的是哪個FB的數(shù)據(jù),
這個就和雙線圈是一樣的,你可以寫,也許沒有報錯,不一定可以正常使用
本帖最近評分記錄:
  • 下載積分:+1(fczxjh) 真誠感謝!
    sunzengli
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數(shù)量: 747 個
    工控威望: 1129 點
    下載積分: 1687 分
    在線時間: 245(小時)
    注冊時間: 2021-07-09
    最后登錄: 2025-04-12
    查看sunzengli的 主題 / 回貼
    2樓  發(fā)表于: 13天前
    可以是可以,但沒必要。
    數(shù)據(jù)沖突問題:由于兩個功能塊共用一個背景數(shù)據(jù)塊,若在編程時不小心,可能會出現(xiàn)數(shù)據(jù)覆蓋或沖突的情況。例如,F(xiàn)B1和FB2都對背景數(shù)據(jù)塊中的同一個變量進(jìn)行寫操作,就可能導(dǎo)致數(shù)據(jù)不一致。因此,在設(shè)計功能塊和分配背景數(shù)據(jù)塊的存儲區(qū)域時,要確保每個功能塊使用獨立的變量區(qū)域。
    程序可讀性和維護(hù)性:共用背景數(shù)據(jù)塊會使程序的邏輯變得復(fù)雜,降低程序的可讀性和維護(hù)性。在后期維護(hù)和調(diào)試時,可能難以分清每個功能塊對背景數(shù)據(jù)塊的操作。所以,在實際應(yīng)用中,除非有特殊需求,一般建議為每個功能塊單獨創(chuàng)建背景數(shù)據(jù)塊。
    本帖最近評分記錄:
  • 下載積分:+1(fczxjh) 真誠感謝!
    fczxjh
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 401 個
    工控威望: 807 點
    下載積分: 2726 分
    在線時間: 191(小時)
    注冊時間: 2019-07-15
    最后登錄: 2025-04-19
    查看fczxjh的 主題 / 回貼
    3樓  發(fā)表于: 12天前
    后面又測試了下,實際上使用還是新建一個DB塊為好。

    如果FB2不用新的標(biāo)簽,DB3塊(OB1調(diào)用FB2時新建)和DB2(FB2的多重背景數(shù)據(jù)塊)的內(nèi)容是一樣的,

    但是當(dāng)FB2新增了標(biāo)簽,如加了一個引腳,那這個標(biāo)簽會寄存在DB3內(nèi),而DB2內(nèi)沒有。

    也就是說如果FB2作為FC使用,則不需要建立數(shù)據(jù)塊,如果FB2作為FB使用自身是沒有背景數(shù)據(jù)塊的,

    多重背景數(shù)據(jù)塊只存放FB2內(nèi)重復(fù)使用的FB的背景數(shù)據(jù)塊。

    如果把OB1的FB2調(diào)用回DB2,那DB2會加入FB2所添加的引腳

    雖然看起來結(jié)果一樣,但多個FB用一個數(shù)據(jù)塊還是有未可知的風(fēng)險,初次用還是像博圖一樣新建好了,不會出問題
    [ 此帖被fczxjh在2025-04-07 17:58重新編輯 ]