多重背景數(shù)據(jù)塊的使用_第1頁(yè)
多重背景數(shù)據(jù)塊的使用_第2頁(yè)
多重背景數(shù)據(jù)塊的使用_第3頁(yè)
多重背景數(shù)據(jù)塊的使用_第4頁(yè)
多重背景數(shù)據(jù)塊的使用_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、多重背景數(shù)據(jù)塊的使用當(dāng)功能塊FB1在組織塊中被調(diào)用時(shí),使用了與FB1相關(guān)聯(lián)的背景數(shù)據(jù)塊。這樣FB1有幾次調(diào)用,就必須配套相應(yīng)數(shù)量的背景數(shù)據(jù)塊。當(dāng)FB1的調(diào)用次數(shù)較多時(shí),就會(huì)占用更多的數(shù)據(jù)塊。使用多重背景數(shù)據(jù)塊可以有效地減少數(shù)據(jù)塊的數(shù)量,其編程思路是創(chuàng)建一個(gè)比FB1級(jí)別更高的功能塊,如FB10,對(duì)于FB1的每一次調(diào)用,都將數(shù)據(jù)存儲(chǔ)在FB10的背景數(shù)據(jù)塊中。這樣就不需要為FB1分配任何背景數(shù)據(jù)塊。下面以發(fā)動(dòng)機(jī)組控制系統(tǒng)為例,介紹如何編輯和使用多重背景數(shù)據(jù)塊。例發(fā)動(dòng)機(jī)組控制系統(tǒng)設(shè)計(jì)使用多重背景設(shè)某發(fā)動(dòng)機(jī)組由1臺(tái)汽油發(fā)動(dòng)機(jī)和1臺(tái)柴油發(fā)動(dòng)機(jī)組成,現(xiàn)要求用PLC控制發(fā)動(dòng)機(jī)組,使各臺(tái)發(fā)動(dòng)機(jī)的轉(zhuǎn)速穩(wěn)定在設(shè)定的

2、速度上,并控制散熱風(fēng)扇的啟動(dòng)和延時(shí)關(guān)閉。每臺(tái)發(fā)動(dòng)機(jī)均設(shè)置一個(gè)啟動(dòng)按鈕和一個(gè)停止按鈕。項(xiàng)目的編程步驟如下:(1)創(chuàng)建S7項(xiàng)目。使用菜單“文件”“新建工程”向?qū)?chuàng)建發(fā)動(dòng)機(jī)組控制系統(tǒng)的S7項(xiàng)目,并命名為“多重背景”。CPU選擇CPU315-2DP,項(xiàng)目包含組織塊OB1。(2)硬件配置。在“多重背景”項(xiàng)目?jī)?nèi)打開(kāi)“SIMATIC300(1)”文件夾,打開(kāi)硬件配置窗口,并按圖1完成硬件配置。了棋塊.訂貨號(hào)固件MFI地址I地址Q(chēng)地址11FS3075kBEST307-1ETh2IRCPIT315-2DPBEST315-:V2.02aS21毋34DI32kDC24VBES7321-1B0.3圖1硬件配置3)編輯

3、如圖2所示的符號(hào)表。狀態(tài)地址數(shù)據(jù)類(lèi)型1AutLimaticHLudeQ4.2BOOL爵模式2AutuiTLaticOnI0.5BOOL自動(dòng)運(yùn)行模式控制按名H3DEActualSpeedW4WORD柴油發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)逸4DEFailureI1.6BOOL柴油發(fā)動(dòng)機(jī)故障5DEFanOnQ5.6BOOL啟動(dòng)柴油裳動(dòng)機(jī)麵扇命令6DEFollow0nT2TIMER柴油發(fā)動(dòng)機(jī)風(fēng)扇的繼續(xù)運(yùn)行時(shí)間7DEOnQ5.4BOOL柴油發(fā)動(dòng)機(jī)的啟動(dòng)命令8DEPresetSpeedQ5.5BOOL顯示“已達(dá)到柴油發(fā)動(dòng)機(jī)的預(yù)設(shè)轉(zhuǎn)速”gEngineFB1FB1發(fā)動(dòng)機(jī)控制10EngineDataDB10DB10FE1D的實(shí)例數(shù)

4、據(jù)塊11EnginesFB10FB10辜重實(shí)例的上層功能塊12FanFC1FC1鳳扇控制13MainProgr:ajTLOB1OB1此塊包含用戶(hù)程序14M:diiualOrLI0.6BOOL手動(dòng)運(yùn)行模式控制按電丑15PEActualSpeedW2WORD;氣油發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速16PEFailureI1.2BOOL汽油發(fā)動(dòng)機(jī)故障17PEFanOnQ5.2BOOL汽油發(fā)動(dòng)機(jī)風(fēng)扇的啟動(dòng)命令18PEFollowOnT1TIMER汽油發(fā)動(dòng)機(jī)風(fēng)扇的繼續(xù)運(yùn)行的時(shí)間19FE0nQ5.0BOOL汽油發(fā)動(dòng)機(jī)的啟動(dòng)命令20PEPresetSpeedQ5.1BOOL顯示“已達(dá)到汽油發(fā)動(dòng)機(jī)的預(yù)設(shè)轉(zhuǎn)速”21SDataDB

5、3DB3共享數(shù)據(jù)塊22SwitchOffDEI1.5BOOL關(guān)閉柴油裳動(dòng)機(jī)23SwitchOffPEI1.1BOOL關(guān)閉汽油裳動(dòng)機(jī)24SwitchOnDEI1.4BOOL啟動(dòng)柴油發(fā)動(dòng)機(jī)25SwitchOnPEI1.0BOOL啟動(dòng)汽油發(fā)動(dòng)機(jī)圖2符號(hào)表(4)規(guī)劃程序結(jié)構(gòu)。程序結(jié)構(gòu)規(guī)劃如圖3所示。FB10為上層功能塊,它把FB1作為其“局部實(shí)例”,通過(guò)二次調(diào)用本地實(shí)例,分別實(shí)現(xiàn)對(duì)汽油機(jī)和柴油機(jī)的控制。這種調(diào)用不占用數(shù)據(jù)塊DB1和DB2,它將每次調(diào)用(對(duì)于每個(gè)調(diào)用實(shí)例)的數(shù)據(jù)存儲(chǔ)到體系的上層功能塊FB10的背景數(shù)據(jù)塊DB10中。圖3程序結(jié)構(gòu)(5)編輯功能(FC)。FC1用來(lái)實(shí)現(xiàn)發(fā)動(dòng)機(jī)(汽油機(jī)或柴油機(jī))

6、的風(fēng)扇控制,按照控制要求,當(dāng)發(fā)動(dòng)機(jī)啟動(dòng)時(shí),風(fēng)扇應(yīng)立即啟動(dòng);當(dāng)發(fā)動(dòng)機(jī)停止后,風(fēng)扇應(yīng)延時(shí)關(guān)閉。因此FC1需要一個(gè)發(fā)動(dòng)機(jī)啟動(dòng)信號(hào)、一個(gè)風(fēng)扇控制信號(hào)和一個(gè)延時(shí)定時(shí)器。1)定義局部變量聲明表。局部變量聲明表如表1所示,表中包含3個(gè)變量,兩個(gè)IN變量,1個(gè)OUT變量。表1變量聲明表接口類(lèi)型變量名數(shù)據(jù)類(lèi)型注釋INEngine_OnBOOL發(fā)動(dòng)機(jī)的啟動(dòng)信號(hào)INTimer_OffTimer用于關(guān)閉延遲的定時(shí)器功能OUTFanOnBOOL啟動(dòng)風(fēng)扇信號(hào)2)編輯FC1的控制程序。FC1所實(shí)現(xiàn)的控制要求:發(fā)動(dòng)機(jī)啟動(dòng)時(shí)風(fēng)扇啟動(dòng),當(dāng)發(fā)動(dòng)機(jī)再次關(guān)閉后,風(fēng)扇繼續(xù)運(yùn)行4s,然后停止。定時(shí)器采用斷電延時(shí)定時(shí)器,控制程序如圖4所示。

7、STimexOffSOFFDTSQTVBIRBCD#Fan_0nTh-圖4FC1控制程序(6)編輯共享數(shù)據(jù)塊。共享數(shù)據(jù)塊DB3可為FB10保存發(fā)動(dòng)機(jī)(汽油機(jī)和柴油機(jī))的實(shí)際轉(zhuǎn)速,當(dāng)發(fā)動(dòng)機(jī)轉(zhuǎn)速都達(dá)到預(yù)設(shè)速度時(shí),還可以保存該狀態(tài)的標(biāo)志數(shù)據(jù)。DB3的數(shù)據(jù)如圖5所示。地捷類(lèi)型初始値注釋1o.oiw.oSTRUCTPEctualSpeedINT0茫油發(fā)甜機(jī)的買(mǎi)際轉(zhuǎn)遽乜DDEictualSpeedTNT0柴油岌動(dòng)機(jī)的實(shí)際轉(zhuǎn)施+4.0PresetSpDedReachedBOOLFALSE兩個(gè)灰動(dòng)機(jī)都已經(jīng)到這預(yù)苣的轉(zhuǎn)遠(yuǎn)=6.DEKDSITHCI圖5共享數(shù)據(jù)塊DB3(7)編輯功能塊(FB)。在該系統(tǒng)的程序結(jié)構(gòu)內(nèi)

8、,有2個(gè)功能塊:FB1和FB1O。FB1為底層功能塊,所以應(yīng)首先創(chuàng)建并編輯;FB1O為上層功能塊,可以調(diào)用FB1。1)編輯底層功能塊FB1。在項(xiàng)目?jī)?nèi)創(chuàng)建FB1,符號(hào)名“Engine”。定義功能塊FB1的變量聲明表如表2所示。表2FB1的變量聲明表接口類(lèi)型變量名數(shù)據(jù)類(lèi)型地址初始值擴(kuò)展地址結(jié)束地址注釋INSwitchOnBOOL0.0FALSE啟動(dòng)發(fā)動(dòng)機(jī)SwithcOffBOOL0.1FALSE關(guān)閉發(fā)動(dòng)機(jī)FailureBOOL0.2FALSE發(fā)動(dòng)機(jī)故障,導(dǎo)致發(fā)動(dòng)機(jī)關(guān)閉ActualSpeedINT2.00發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速OUTEngineOnBOOL4.0FALSE發(fā)動(dòng)機(jī)已開(kāi)啟Preset_Spee

9、d_ReachedBOOL4.1FALSE達(dá)到預(yù)置的轉(zhuǎn)速STATPresetSpeedINT6.01500要求的發(fā)動(dòng)機(jī)轉(zhuǎn)速FB1主要實(shí)現(xiàn)發(fā)動(dòng)機(jī)的啟??刂萍八俣缺O(jiān)視功能,其控制程序如圖6所示。圖6FB1程序2)編輯上層功能塊FB10。在項(xiàng)目?jī)?nèi)創(chuàng)建FB10,符號(hào)名“Engines”。在FB10的屬性對(duì)話框內(nèi)激活“多情景標(biāo)題”選項(xiàng),如圖7所示。圖7將FB10設(shè)置成使用多重背景的功能塊要將FB1作為FB10的一個(gè)“局部背景”調(diào)用,需要在FB10的變量聲明表中為FB1的調(diào)用聲明不同名稱(chēng)的靜態(tài)變量,數(shù)據(jù)類(lèi)型為FB1(或使用符號(hào)名“Engine”),如表3所示。表3FB10的變量聲明表接口類(lèi)型變量名數(shù)據(jù)類(lèi)型

10、地址初始值注釋OUTPreset_SpeedReachedBOOL0.0FALSE兩個(gè)發(fā)動(dòng)機(jī)都已到達(dá)預(yù)置的轉(zhuǎn)速STATPetrolEngineFBI2.0FBI“Engine”的第一個(gè)局部實(shí)例DieselEngineFBI10.0FBI“Engine”的第二個(gè)局部實(shí)例TEMPPE_Preset_SpeedReachedBOOL0.0FALSE達(dá)到預(yù)置的轉(zhuǎn)速(汽油發(fā)動(dòng)機(jī))DE_Preset_SpeedReachedBOOL0.1FALSE達(dá)到預(yù)置的轉(zhuǎn)速(柴油發(fā)動(dòng)機(jī))在變量聲明表內(nèi)完成FB1類(lèi)型的局部實(shí)例:“Petrol_Engine”和“Diesel_Engine”的聲明以后,在程序元素目錄的“

11、多重實(shí)例”目錄中就會(huì)出現(xiàn)所聲明的多重實(shí)例,如圖8所示。接下來(lái)可在FB10的代碼區(qū),調(diào)用FB1的“局部實(shí)例”。圖8調(diào)用局部實(shí)例編寫(xiě)功能塊FB10的控制程序如圖9所示。調(diào)用FB1局部實(shí)例時(shí),不再使用獨(dú)立的背景數(shù)據(jù)塊,F(xiàn)B1的實(shí)例數(shù)據(jù)位于FB10的實(shí)例數(shù)據(jù)塊DB10中。發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速可直接從共享數(shù)據(jù)塊中得到,如DB3.DW0(符號(hào)地址為“S_Data”.PE_Actual_Speed)。FBLD:夢(mèng)垂背親j黃卿US:?jiǎn)⑵桶l(fā)動(dòng)機(jī)#FctTdl_EnginepinQEW114啟或汽油發(fā)動(dòng)機(jī)Dn_PEx-Siitch_CJnEngin&_0nQ曜0買(mǎi)抽發(fā)動(dòng)機(jī)的啟動(dòng)命令-xPEj3nTl.l動(dòng)機(jī)Swit

12、ch.dffPE?-Switch.OffPxeset_5pecd_Rrachrd#FE_Preset_5pced_B.cachrd11,2汽袖發(fā)動(dòng)機(jī)故障Failuze-FailureM5.DBVD-盤(pán)匚吐工Spesd程序段2:標(biāo)範(fàn)#Ditscl_EnginepuEITOT1.4rm”SviPch_On_DE-Siri.tch._0nEngine_0nQ5.4柴油茨動(dòng)機(jī)fFI啟動(dòng)命令-施_曲n.s動(dòng)口”SviPclLOff_DE-OffFreset_5pecd_Rrschrd衲E_Pxesel_Speed_-Rrachrd11.6柴由發(fā)動(dòng)機(jī)故障Failure-FsiluieDE3-DBV2-A匚

13、-tual_Speed民序艮3:插軀flPE_4DE_Fieset_Preset_ffFreset_Spetd_Speed_Speed_ReachedReachedReached圖9FB10的控制程序(8)生成多重背景數(shù)據(jù)塊DB10。在項(xiàng)目?jī)?nèi)創(chuàng)建一個(gè)與FB10相關(guān)聯(lián)的多重背景數(shù)據(jù)塊DB10,符號(hào)名“Engine_Data”。如圖10所示。食-nilin爭(zhēng)至:背景13丁BATTt3na(l)CP1IU!i-2DFjI匚何岡暉黔英抉皿狷涓?()調(diào)詛;宜者陽(yáng)燮口ffiSjtH)”己X2需尋曲劉皤地址聲明巒莢型初貽值賣(mài)萍值outPrcsetSDeBcLRunjched.EOOLFALSEFALSE閃于

14、發(fā)動(dòng)機(jī)都已到達(dá)誡蚩的轉(zhuǎn)迷Z2.0stat:in.PetroL_EngirieEwitch_DnBOOLF虹SEFALSE32.istat;in.PcH:roL.EnsincSwi-tchCrffeM,FALSEFALSE關(guān)州僉沏斗2;.2stat:LILFetroL_EngirieFailurbEQQLFALSEFALSE炭動(dòng)機(jī)墩障,導(dǎo)致發(fā)動(dòng)機(jī)矢用54.QstatsinPetroL_Engirie=ArtuaL_SpeedinfJJ-a填胡機(jī)的實(shí)際轉(zhuǎn)速66.0百t已t;outPcH:roLEnsi.ncEnE=inDnBOOLFALSEFALSE.發(fā)動(dòng)機(jī)己開(kāi)啟76.1st:at:outFetr

15、oLEngiriePiresetSpeedReachedBQQLFALSEFALSEBS.statPelrL_Engine.Presei_Speedinra要求的發(fā)動(dòng)機(jī)轉(zhuǎn)喧910.0gtat:in.DicseLEniricSwitch.OnEpOLFALSEFALSE尼功發(fā)動(dòng)f機(jī)1010.1呂tat:mDias&L_EngiriaS?itch_DffBQQLFALSEFALSE關(guān)閉發(fā)動(dòng)機(jī)LL10.2stat:in.DieseLEngine.FailureEOOLFALSEFALSE戔動(dòng)機(jī)密.導(dǎo)致如機(jī)關(guān)閉1212.0航at:inDieseL_Enii-ieActual_SjeedIKT00炭動(dòng)機(jī)

16、酣實(shí)際孺逮1344.Qstat:outDies日L_EngirieBEngiiLeDnBOOLFALSEFALSE戎動(dòng)機(jī)已開(kāi)啟1斗14.1工七日七:outDieiEL_Englde.Preset_Speed_Re11匚卜irdBOOLFALSEFALSE達(dá)列預(yù).蠱的事.趙1516.0習(xí)tatDieseL_EniriePresei_SpeedIlfTd0:更求的發(fā)功析軻遼|啻咗圖10DB10的數(shù)據(jù)結(jié)構(gòu)9)在OB1中調(diào)用功能(FC)及上層功能塊(FB)。OB1控制程序如圖11所示,“程序段4”中調(diào)用了FB10。QB1:主牯環(huán)程序跚*沁飾式10.5自動(dòng)運(yùn)訐模尹控制按鋰Autonatic0nTIH-0

17、4.2,運(yùn)行模式Automatic_Kode10.6手動(dòng)運(yùn)行模式粵訓(xùn)發(fā)鈕JTanualQnFC1鳳扇控制EIiTENQQ5.4Q乩儒動(dòng)機(jī)鳳扇命T)E_OirEtiine_OnSEFanT2FanOn柴械動(dòng)機(jī)孔扇的綿鏤運(yùn)方町間驗(yàn)_FallowOn-TmarQfPCI肌國(guó)揑制XJtFanENTOEnginejOnFaik_OnTinerOff呱0汽油芒命弧的啟由令PEX汽油嵐邇?nèi)缑頟E_Fan_一恤”汽油丸蛋肌運(yùn)行附時(shí)間TE.FdIIdvOn捏序段4:就用上民功能境FfKOBB10Engine.DataBB1G吳更頭迥的十尉I牝?蘇更買(mǎi)例的上層功鏈?EninesYEM3Prrsct_Speed_ReachedDBXDEX4.0兩個(gè)左動(dòng)機(jī)都已經(jīng)達(dá)f!東笛的瑋連SJJsiz

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論