溫柔的郎
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 112 個(gè)
工控威望: 293 點(diǎn)
下載積分: 909 分
在線時(shí)間: 78(小時(shí))
注冊(cè)時(shí)間: 2008-05-02
最后登錄: 2024-12-17
查看溫柔的郎的 主題 / 回貼
樓主  發(fā)表于: 2009-08-12 17:51
STEP7怎樣使用多重背景數(shù)據(jù)塊?

多重?cái)?shù)據(jù)塊是數(shù)據(jù)塊的一種特殊形式,如在OB1中調(diào)用FB10,在FB10中又調(diào)用FB1和FB2,則只要FB10的背景數(shù)據(jù)塊選擇為多重背景數(shù)據(jù)塊就可以了,F(xiàn)B1和FB2不需要建立背景數(shù)據(jù)塊,其接口參數(shù)都保存在FB10的多重背景數(shù)據(jù)塊中。建立多重背景數(shù)據(jù)塊的方法是:在建立數(shù)據(jù)塊只要在數(shù)據(jù)類型選項(xiàng)中選擇“實(shí)例的DB”就可以了,見下例。
下面通過(guò)一例簡(jiǎn)單介紹一下多重背景數(shù)據(jù)塊使用的一些注意事項(xiàng)和方法。
    例如,PLC控制兩臺(tái)電機(jī),且控制兩臺(tái)電機(jī)的接口參數(shù)均相同。一般的作法,我們可以編寫功能塊FB1控制兩臺(tái)電機(jī),當(dāng)控制不同的電機(jī)時(shí),分別使用不同的背景數(shù)據(jù)塊就可以控制不同的電機(jī)了(如第一臺(tái)電機(jī)的控制參數(shù)保存在DB1中,第二臺(tái)電機(jī)的控制參數(shù)保存在DB2中,我們可以在控制第一臺(tái)電機(jī)調(diào)用FB1時(shí)以 DB1為背景數(shù)據(jù)就可以了,第二臺(tái)同樣以DB2為背景數(shù)據(jù)塊)。這樣就需要使用兩個(gè)背景數(shù)據(jù),如果控制的電機(jī)臺(tái)數(shù)更多,則會(huì)使用更多的數(shù)據(jù)塊。使用多重背景數(shù)據(jù)塊就是為了減少數(shù)據(jù)塊的數(shù)量。
    像這種情況,我們就可以利用多重背景數(shù)據(jù)塊來(lái)減少數(shù)據(jù)塊的使用量。拿本例來(lái)說(shuō),我們就可以在OB1中調(diào)用FB10,再在FB10中分別調(diào)用(每臺(tái)電機(jī)各調(diào)用一次)FB1來(lái)控制兩臺(tái)電機(jī)的運(yùn)轉(zhuǎn)。對(duì)于每次調(diào)用,F(xiàn)B1都將它的數(shù)據(jù)存儲(chǔ)在FB1的背景數(shù)據(jù)塊DB1中。這樣就無(wú)需再為FB1分配數(shù)據(jù)塊,所有的功能塊都指向FB10的數(shù)據(jù)塊DB10。原理圖如下:

    首先,我們需要先后插入一個(gè)功能塊FB10和數(shù)據(jù)塊DB10,DB10就為FB10的多重背景多重?cái)?shù)據(jù)塊。如下圖:

         其次,需要在FB10中指定其所包含的背景數(shù)據(jù)塊。方法如下:在FB10局部變量定義窗口中,在“STAT”變量區(qū)中(必須在此變量區(qū)中)為每臺(tái)電機(jī)的控制取好名稱后,數(shù)據(jù)類型選擇FB ,確認(rèn)后,再把改為1,即功能塊FB1。如果你在變量表中已經(jīng)定義了FB1的符號(hào),則會(huì)自動(dòng)出現(xiàn)其符號(hào)名。地址一般由CPU根據(jù)FB1的接口參數(shù)數(shù)量自動(dòng)計(jì)算得到,采用默認(rèn)值就可以了。

        因?yàn)榭刂苾膳_(tái)電機(jī),所以需要在STAT中定義兩個(gè)這樣的變量。結(jié)果如下:

 
[ 此帖被sjm213在2009-08-13 08:52重新編輯 ]
溫柔的郎
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 112 個(gè)
工控威望: 293 點(diǎn)
下載積分: 909 分
在線時(shí)間: 78(小時(shí))
注冊(cè)時(shí)間: 2008-05-02
最后登錄: 2024-12-17
查看溫柔的郎的 主題 / 回貼
1樓  發(fā)表于: 2009-08-12 18:03
經(jīng)過(guò)以上步驟,F(xiàn)B的背景數(shù)據(jù)塊DB10中就完全包含了1#和2#電機(jī)所需的數(shù)據(jù),如下圖,其中地址2.0~8.0是第一臺(tái)電機(jī)的接口區(qū)控制參數(shù),10.0~16.0是第二臺(tái)電機(jī)接口區(qū)控制參數(shù)。

        這時(shí),在FB10的指令列表中“多重實(shí)例”中就會(huì)出現(xiàn)已經(jīng)添加的兩個(gè)局部背景,如下圖。


        在程序中就可以分別調(diào)用這兩個(gè)局部背景控制1號(hào)和2號(hào)電機(jī)了。程序如下:



     這樣,就可以在OB1中通過(guò)調(diào)用OB10就可以分別控制1#和2#電機(jī)了。如下圖:
[ 此帖被sjm213在2009-08-13 08:52重新編輯 ]
溫柔的郎
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 112 個(gè)
工控威望: 293 點(diǎn)
下載積分: 909 分
在線時(shí)間: 78(小時(shí))
注冊(cè)時(shí)間: 2008-05-02
最后登錄: 2024-12-17
查看溫柔的郎的 主題 / 回貼
2樓  發(fā)表于: 2009-08-12 18:10
這是網(wǎng)上一個(gè)說(shuō)調(diào)用多重北京數(shù)據(jù)塊的方法,參見
http://www.51plc.com/thread-13159-1-1.html
但是我又有疑問(wèn)了,注意圖3處,選數(shù)據(jù)類型時(shí)選擇了FB<nr>,可我選中這個(gè)類型后系統(tǒng)一直顯示紅色,提示有錯(cuò)誤,為什么呀???弄了一下午弄不懂!網(wǎng)上那個(gè)實(shí)力錯(cuò)了吧??大家來(lái)分析一下。
[ 此帖被sjm213在2009-08-13 08:51重新編輯 ]
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個(gè)
工控威望: 7436 點(diǎn)
下載積分: 158993 分
在線時(shí)間: 3172(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
3樓  發(fā)表于: 2009-08-13 08:50
數(shù)據(jù)類型選為FB<nr>后,還要把<nr>改為您需要的號(hào)碼。例如直接寫為FB1就沒(méi)問(wèn)題了。