fczxjh
級別: 論壇先鋒
![]() |
如題。在FB1中寫動作,F(xiàn)B2多重調(diào)用FB1,用DB2作為FB2的多重背景數(shù)據(jù)塊,OB1調(diào)用FB2時, 是否應(yīng)該像博圖一樣創(chuàng)建一個新的數(shù)據(jù)塊,但好像依舊用DB2也沒有報錯 |
---|---|
|
愛釣魚的咸魚
級別: 探索解密
![]() |
正常來說肯定是要新建數(shù)據(jù)塊的,2個FB的數(shù)據(jù)存儲在一個DB塊,那你讀取的是哪個FB的數(shù)據(jù), 這個就和雙線圈是一樣的,你可以寫,也許沒有報錯,不一定可以正常使用 |
---|---|
本帖最近評分記錄: |
sunzengli
級別: 論壇先鋒
![]() |
可以是可以,但沒必要。 數(shù)據(jù)沖突問題:由于兩個功能塊共用一個背景數(shù)據(jù)塊,若在編程時不小心,可能會出現(xiàn)數(shù)據(jù)覆蓋或沖突的情況。例如,F(xiàn)B1和FB2都對背景數(shù)據(jù)塊中的同一個變量進行寫操作,就可能導致數(shù)據(jù)不一致。因此,在設(shè)計功能塊和分配背景數(shù)據(jù)塊的存儲區(qū)域時,要確保每個功能塊使用獨立的變量區(qū)域。 程序可讀性和維護性:共用背景數(shù)據(jù)塊會使程序的邏輯變得復雜,降低程序的可讀性和維護性。在后期維護和調(diào)試時,可能難以分清每個功能塊對背景數(shù)據(jù)塊的操作。所以,在實際應(yīng)用中,除非有特殊需求,一般建議為每個功能塊單獨創(chuàng)建背景數(shù)據(jù)塊。 |
---|---|
本帖最近評分記錄: |
fczxjh
級別: 論壇先鋒
![]() |
后面又測試了下,實際上使用還是新建一個DB塊為好。 如果FB2不用新的標簽,DB3塊(OB1調(diào)用FB2時新建)和DB2(FB2的多重背景數(shù)據(jù)塊)的內(nèi)容是一樣的, 但是當FB2新增了標簽,如加了一個引腳,那這個標簽會寄存在DB3內(nèi),而DB2內(nèi)沒有。 也就是說如果FB2作為FC使用,則不需要建立數(shù)據(jù)塊,如果FB2作為FB使用自身是沒有背景數(shù)據(jù)塊的, 多重背景數(shù)據(jù)塊只存放FB2內(nèi)重復使用的FB的背景數(shù)據(jù)塊。 如果把OB1的FB2調(diào)用回DB2,那DB2會加入FB2所添加的引腳 雖然看起來結(jié)果一樣,但多個FB用一個數(shù)據(jù)塊還是有未可知的風險,初次用還是像博圖一樣新建好了,不會出問題 [ 此帖被fczxjh在2025-04-07 17:58重新編輯 ] |
---|---|
|