貴州西門子S7-1200PLC模塊代理(歡迎您)

STEP7生成DB10并調(diào)整實(shí)際值
將前述數(shù)據(jù)塊DB1(用于汽油發(fā)動(dòng)機(jī))和DB2(用于柴油發(fā)動(dòng)機(jī))用數(shù)據(jù)塊DB10代替,并其與功能塊FB10建立聯(lián)系。聯(lián)系步驟如下。
①在S7_Pr03項(xiàng)目窗口的Blocks文件夾中創(chuàng)建數(shù)據(jù)塊DB,并定義為DB10。
②在彈出的對(duì)話框中選擇“instance DB”,并選擇FB10,然后單擊“OK”確定。
③使用菜單命令View,選擇Data View,出現(xiàn)DB10的變量聲明表,如圖5-50所示。在變量聲明表中,所有的靜態(tài)參數(shù)的名稱由兩部分組成,例如,Petrol__ Engine.Switch_On,前面的Petrol_Engine是局域背景的名字,后面的Switch_On是內(nèi)部變量名稱,中間用圓點(diǎn)隔開。
④存盤后關(guān)閉數(shù)據(jù)塊DB10。
圖5-50 DB10的變量聲明表
使用多重背景編程可以有效地減少數(shù)據(jù)塊的數(shù)量,具體做法是創(chuàng)建一個(gè)比FB1級(jí)別高的功能塊(不能是功能塊FC),如FB10。將未做任何修改的FB1作為一個(gè)“局域背景”,在FB10中調(diào)用。對(duì)FB1的每一次調(diào)用,都是先調(diào)用FB10,進(jìn)而通過參數(shù)在FB10中調(diào)用FB1,不必給FB1分配任何數(shù)據(jù)塊,如DB1、DB2等,而是把Petrol Engine的數(shù)據(jù)和Diesel Engine的數(shù)據(jù)集成在DB10中。多重背景編程的調(diào)用關(guān)系如圖5-45所示。
圖5-45 多重背景編程的調(diào)用關(guān)系
創(chuàng)建FB10的步驟如下。首先在S7_Pr03的項(xiàng)目窗口中,用鼠標(biāo)右鍵單擊Blocks文件夾;接著在彈出的菜單中插入一個(gè)功能塊,定義功能塊名稱為FB10,選擇所需要的編程語(yǔ)言;然后激活多重背景(Multipleinstance FB);單擊“OK”按鈕,確認(rèn)其余的默認(rèn)設(shè)置,當(dāng)FB10被添加到Blocks文件夾后,雙擊FB10即可打開。
在STEP 7中,除了背景數(shù)據(jù)塊外,還可設(shè)置共享數(shù)據(jù)塊。背景數(shù)據(jù)塊是被給一個(gè)特定的功能塊,而存儲(chǔ)在共享數(shù)據(jù)塊中的數(shù)據(jù)可以被其他的任意一個(gè)塊使用。
打開共享數(shù)據(jù)塊的步驟如下。
①打開S7_Pr03項(xiàng)目窗口,用鼠標(biāo)右鍵單擊Blocks文件夾,在彈出的快捷菜單中,插入一個(gè)Data Block (DB)。
②隨后彈出Properties-Data Block對(duì)話框,接受所有默認(rèn)的設(shè)定,DB3自動(dòng)進(jìn)入Blocks的文件夾中。
③雙擊打開DB3,在出現(xiàn)的New Data Block對(duì)話框中,激活Data Block后單擊“OK”按鈕,關(guān)閉對(duì)話框。
④打開DB3,編輯變量聲明表,如圖544所示。
⑤使用菜單命令Options,打開Symbol Table(符號(hào)表),為DB3定義符號(hào)地址S_Data。
⑥存盤后關(guān)閉符號(hào)表,關(guān)閉共享數(shù)據(jù)塊DB3的變量聲明表。
對(duì)功能塊FC1的調(diào)用與對(duì)功能塊FB的調(diào)用方式相同,為在OB1中用汽油發(fā)動(dòng)機(jī)或柴油發(fā)動(dòng)機(jī)的相應(yīng)地址給功能塊FC1的所有參數(shù)賦值,要對(duì)這些地址在符號(hào)表中進(jìn)行定義。
首先打開081的LAD/STL/FBD編程窗口,用菜單命令Options打開符號(hào)表Symbol Table,在符號(hào)表的底部添加如圖5-42所示的符號(hào)地址。
圖5-42在符號(hào)表中添加符號(hào)地址
然后在LAD編程窗口,從編程元件目錄中查找到FC1,插到一個(gè)新程序段中;在Engine_On之前插入一個(gè)動(dòng)合觸點(diǎn),標(biāo)記符號(hào)地址PE_On;在Fan_On端標(biāo)記符號(hào)地址PE_Fan_On,在功能框中的問號(hào)處插入符號(hào)名Fan。OB1對(duì)FC1的調(diào)用和使用汽油發(fā)動(dòng)機(jī)地址的梯形圖如圖5-43所示。
用同樣的方法,可完成OB1對(duì)FC1的調(diào)用和使用柴油發(fā)動(dòng)機(jī)地址的梯形圖,存盤后關(guān)閉編程窗口。
對(duì)功能塊FC1的調(diào)用與對(duì)功能塊FB的調(diào)用方式相同,為在OB1中用汽油發(fā)動(dòng)機(jī)或柴油發(fā)動(dòng)機(jī)的相應(yīng)地址給功能塊FC1的所有參數(shù)賦值,要對(duì)這些地址在符號(hào)表中進(jìn)行定義。
首先打開081的LAD/STL/FBD編程窗口,用菜單命令Options打開符號(hào)表Symbol Table,在符號(hào)表的底部添加如圖5-42所示的符號(hào)地址。
然后在LAD編程窗口,從編程元件目錄中查找到FC1,插到一個(gè)新程序段中;在Engine_On之前插入一個(gè)動(dòng)合觸點(diǎn),標(biāo)記符號(hào)地址PE_On;在Fan_On端標(biāo)記符號(hào)地址PE_Fan_On,在功能框中的問號(hào)處插入符號(hào)名Fan。OB1對(duì)FC1的調(diào)用和使用汽油發(fā)動(dòng)機(jī)地址的梯形圖如圖5-43所示。
用同樣的方法,可完成OB1對(duì)FC1的調(diào)用和使用柴油發(fā)動(dòng)機(jī)地址的梯形圖,存盤后關(guān)閉編程窗口。
和前面一樣,可以采用梯形圖、語(yǔ)句表、功能圖3種辦法來(lái)編程。下面先介紹梯形圖方法。
先打開LAD/STL/FBD編程窗口,設(shè)計(jì)出變量聲明表(與功能框不同的是無(wú)靜態(tài)參數(shù)Stat),此時(shí)的界面如圖5-39所示。
接著在編程元素目錄中找到斷開延時(shí)定時(shí)器S OFFDT,插入到當(dāng)前程序中。在功能框的S端插入一個(gè)動(dòng)合觸點(diǎn),標(biāo)記符號(hào)地址# Engine_On。然后在Q輸出端插入一個(gè)線圈并標(biāo)記符號(hào)地址# Fan_On。在TV端設(shè)置延時(shí)時(shí)間S5T#5S。在功能框上方的問號(hào)處輸入#Timer_Function。此時(shí)定時(shí)器的梯形圖編程如圖5-40所示,存盤后關(guān)閉編程窗口。
用語(yǔ)句表編寫同樣功能的程序如下。
A#Engine_On
LS5T#5S
SF #Timer_Function
A#Timer_Function
= # Fan_On
用功能塊圖方法編程,程序如圖5-41所示,它與梯形圖編程是相似的。
組織塊OB1、功能塊FB1和數(shù)據(jù)塊DB1、DB2之間的關(guān)系如圖5-36所示。
圖5-36 081、FB1與DB1、DB2之間的關(guān)系
(1)用梯形圖編輯器編輯081
用梯形圖編輯器編輯OB1的步驟如下。
①編寫使用數(shù)據(jù)塊DB1的功能塊FB1的調(diào)用指令。
打開S7_Pr03項(xiàng)目窗口,找到Block文件夾,打開OB1;單擊“編程元件”按鈕,在FB Blocks文件夾中雙擊FBl Engine,將FB1插到梯形圖中;在switch_on,switch_off,failure處各插入一個(gè)動(dòng)合觸點(diǎn)(見圖5-37)。
然后用鼠標(biāo)右鍵單擊engine上的“???”,在彈出的對(duì)話框中選擇Insert Symbol;在Symbol中選擇數(shù)據(jù)塊Petrol,調(diào)用DBl (Petrol)的功能塊便被插入到程序結(jié)構(gòu)中;此后,再為功能塊的所有I/O填上符號(hào)地址,存盤后關(guān)閉編程窗口,
②編寫使用數(shù)據(jù)塊DB2的功能塊FB1的調(diào)用指令,開始一個(gè)新的程序段,按照步驟①所述進(jìn)行。
(2)用語(yǔ)句表編輯器編輯OB1
①編寫使用數(shù)據(jù)塊DB1的功能塊FB1的調(diào)用指令,具體步驟如下。
打開項(xiàng)目窗口S7_Pr03,打開OB1,選擇語(yǔ)句表編輯器,在語(yǔ)句表編輯器的指令區(qū)輸入:“CALL”Engine”,”Petrol””后按下回車鍵,完成調(diào)用指令,此時(shí)功能塊“Petrol”的所有參數(shù)都顯示出來(lái),如圖5-38所示。
②編寫使用數(shù)據(jù)塊DB2的功能塊FB1的調(diào)用指令,仍按照步驟①所述進(jìn)行。
(3)用功能塊圖編輯器編輯081
用功能塊圖編輯器編輯OB1的方法和過程與用梯形圖編輯器編輯OB1相似。
貴州西門子S7-1200PLC模塊代理(歡迎您)