尋找STEP7不能生成多重背景的原因
我們有時需要多次調(diào)用某些功能塊,每次調(diào)用都需要生成一個背景數(shù)據(jù)塊,但是這些背景數(shù)據(jù)塊中的變量又很少,這樣在項目中就出現(xiàn)了大量的背景數(shù)據(jù)塊“碎片”。在用戶程序中使用多重背景可以減少背景數(shù)據(jù)塊的數(shù)量。
S7-1200的定時器和計數(shù)器都是功能塊,使用它們時也需要指定背景數(shù)據(jù)塊。S7-1200也能使用多重背景。
《S7-300/400 PLC應用技術(shù)》的“發(fā)動機控制”例程中,用FB1控制汽油機和柴油機,分別使用了背景數(shù)據(jù)塊DB1和DB2。在例程“多重背景”的FB10的變量聲明表中聲明數(shù)據(jù)類型為FB 1的兩個靜態(tài)變量,它們就是所謂的多重背景。它們具有FB1的全部屬性,包括程序和局部變量,它們的數(shù)據(jù)存儲在FB10的背景數(shù)據(jù)塊DB10中。因此使用多重背景可將多次調(diào)用FB1的背景數(shù)據(jù)存放在FB10的背景數(shù)據(jù)塊中。
有個讀者在學習多重背景的時候問我:“我按書中做的例子中,就是汽油機和柴油機控制的例子,在FB10中定義靜態(tài)變量時,變量的數(shù)據(jù)類型為FB1,定義后變?yōu)樗姆枴鞍l(fā)動機控制”,為什么這幾個字是紅色的??” 他同時把有問題的項目文件發(fā)給我。
圖1:

打開他發(fā)來的項目,發(fā)現(xiàn)FB10的屬性有問題。
下面是我的回答:“這幾個字為紅色表示定義的這個靜態(tài)變量有問題。在管理器里用右鍵點擊FB10,執(zhí)行出現(xiàn)的快捷菜單中的“屬性”命令,在“屬性”對話框可以看到“無多實例能力”(無多重背景功能)?!?BR> 圖2:

為了解決這個問題,在生成FB10的時候一定要選中“多重背景功能”多選框。
圖3:

用郵件把上述回答發(fā)給了他,他來郵件說按我的建議重新生成有多重背景功能的FB10后,還是不能生成數(shù)據(jù)類型為FB1的靜態(tài)變量。他把修改后的項目發(fā)給了我。
經(jīng)檢查我發(fā)現(xiàn)他生成的FB1也沒有多重背景功能,問題可能就出在這里。重新生成有多重背景功能的FB1后,就可以在FB10中生成數(shù)據(jù)類型為FB1的多重背景了。
最后可以得出結(jié)論:為了使用多重背景,有關(guān)的功能塊(FB1和FB10)都必須設(shè)置為有多重背景功能!
過去我是這樣做的,但是因為做得很順利,沒有發(fā)現(xiàn)這個規(guī)則?!笆∈浅晒χ浮?,我們的經(jīng)驗是在遇到問題和解決問題的過程中積累起來的,這是成為高手的必由之路,但是還必須善于總結(jié)經(jīng)驗教訓,不然下一次又會犯同樣的錯誤。
最后介紹一個STEP7幫助提供的訣竅:
如果沒有創(chuàng)建具有多重背景功能的功能塊,而又希望該功能塊具有這種屬性,可以根據(jù)功能塊生成一個源文件,隨后刪除其中的塊屬性CODE_VERSION1,重新對功能塊進行編譯,該功能塊就有多重背景功能了。
S7-1200的定時器和計數(shù)器都是功能塊,使用它們時也需要指定背景數(shù)據(jù)塊。S7-1200也能使用多重背景。
《S7-300/400 PLC應用技術(shù)》的“發(fā)動機控制”例程中,用FB1控制汽油機和柴油機,分別使用了背景數(shù)據(jù)塊DB1和DB2。在例程“多重背景”的FB10的變量聲明表中聲明數(shù)據(jù)類型為FB 1的兩個靜態(tài)變量,它們就是所謂的多重背景。它們具有FB1的全部屬性,包括程序和局部變量,它們的數(shù)據(jù)存儲在FB10的背景數(shù)據(jù)塊DB10中。因此使用多重背景可將多次調(diào)用FB1的背景數(shù)據(jù)存放在FB10的背景數(shù)據(jù)塊中。
有個讀者在學習多重背景的時候問我:“我按書中做的例子中,就是汽油機和柴油機控制的例子,在FB10中定義靜態(tài)變量時,變量的數(shù)據(jù)類型為FB1,定義后變?yōu)樗姆枴鞍l(fā)動機控制”,為什么這幾個字是紅色的??” 他同時把有問題的項目文件發(fā)給我。
圖1:

打開他發(fā)來的項目,發(fā)現(xiàn)FB10的屬性有問題。
下面是我的回答:“這幾個字為紅色表示定義的這個靜態(tài)變量有問題。在管理器里用右鍵點擊FB10,執(zhí)行出現(xiàn)的快捷菜單中的“屬性”命令,在“屬性”對話框可以看到“無多實例能力”(無多重背景功能)?!?BR> 圖2:

為了解決這個問題,在生成FB10的時候一定要選中“多重背景功能”多選框。
圖3:

用郵件把上述回答發(fā)給了他,他來郵件說按我的建議重新生成有多重背景功能的FB10后,還是不能生成數(shù)據(jù)類型為FB1的靜態(tài)變量。他把修改后的項目發(fā)給了我。
經(jīng)檢查我發(fā)現(xiàn)他生成的FB1也沒有多重背景功能,問題可能就出在這里。重新生成有多重背景功能的FB1后,就可以在FB10中生成數(shù)據(jù)類型為FB1的多重背景了。
最后可以得出結(jié)論:為了使用多重背景,有關(guān)的功能塊(FB1和FB10)都必須設(shè)置為有多重背景功能!
過去我是這樣做的,但是因為做得很順利,沒有發(fā)現(xiàn)這個規(guī)則?!笆∈浅晒χ浮?,我們的經(jīng)驗是在遇到問題和解決問題的過程中積累起來的,這是成為高手的必由之路,但是還必須善于總結(jié)經(jīng)驗教訓,不然下一次又會犯同樣的錯誤。
最后介紹一個STEP7幫助提供的訣竅:
如果沒有創(chuàng)建具有多重背景功能的功能塊,而又希望該功能塊具有這種屬性,可以根據(jù)功能塊生成一個源文件,隨后刪除其中的塊屬性CODE_VERSION1,重新對功能塊進行編譯,該功能塊就有多重背景功能了。
本文標簽:尋找STEP7不能生成多重背景的原因
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《尋找STEP7不能生成多重背景的原因》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
關(guān)于“尋找STEP7不能生成多重背景的原因”的更多資訊










