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

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

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

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

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

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

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










