多重背景数据块的使用_第1页
多重背景数据块的使用_第2页
多重背景数据块的使用_第3页
多重背景数据块的使用_第4页
多重背景数据块的使用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多重背景数据块的使用当功能块FB1在组织块中被调用时,使用了与FB1相关联的背景数据块。这样FB1有几次调用,就必须配套相应数量的背景数据块。当FB1的调用次数较多时,就会占用更多的数据块。使用多重背景数据块可以有效地减少数据块的数量,其编程思路是创建一个比FB1级别更高的功能块,如FB10,对于FB1的每一次调用,都将数据存储在FB10的背景数据块中。这样就不需要为FB1分配任何背景数据块。下面以发动机组控制系统为例,介绍如何编辑和使用多重背景数据块。例发动机组控制系统设计使用多重背景设某发动机组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的

2、速度上,并控制散热风扇的启动和延时关闭。每台发动机均设置一个启动按钮和一个停止按钮。项目的编程步骤如下:(1)创建S7项目。使用菜单“文件”“新建工程”向导创建发动机组控制系统的S7项目,并命名为“多重背景”。CPU选择CPU315-2DP,项目包含组织块OB1。(2)硬件配置。在“多重背景”项目内打开“SIMATIC300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。了棋块.订货号固件MFI地址I地址Q地址11FS3075kBEST307-1ETh2IRCPIT315-2DPBEST315-:V2.02aS21毋34DI32kDC24VBES7321-1B0.3图1硬件配置3)编辑

3、如图2所示的符号表。狀态地址数据类型1AutLimaticHLudeQ4.2BOOL爵模式2AutuiTLaticOnI0.5BOOL自动运行模式控制按名H3DEActualSpeedW4WORD柴油发动机的实际转逸4DEFailureI1.6BOOL柴油发动机故障5DEFanOnQ5.6BOOL启动柴油裳动机麵扇命令6DEFollow0nT2TIMER柴油发动机风扇的继续运行时间7DEOnQ5.4BOOL柴油发动机的启动命令8DEPresetSpeedQ5.5BOOL显示“已达到柴油发动机的预设转速”gEngineFB1FB1发动机控制10EngineDataDB10DB10FE1D的实例数

4、据块11EnginesFB10FB10辜重实例的上层功能块12FanFC1FC1凤扇控制13MainProgr:ajTLOB1OB1此块包含用户程序14M:diiualOrLI0.6BOOL手动运行模式控制按电丑15PEActualSpeedW2WORD;气油发动机的实际转速16PEFailureI1.2BOOL汽油发动机故障17PEFanOnQ5.2BOOL汽油发动机风扇的启动命令18PEFollowOnT1TIMER汽油发动机风扇的继续运行的时间19FE0nQ5.0BOOL汽油发动机的启动命令20PEPresetSpeedQ5.1BOOL显示“已达到汽油发动机的预设转速”21SDataDB

5、3DB3共享数据块22SwitchOffDEI1.5BOOL关闭柴油裳动机23SwitchOffPEI1.1BOOL关闭汽油裳动机24SwitchOnDEI1.4BOOL启动柴油发动机25SwitchOnPEI1.0BOOL启动汽油发动机图2符号表(4)规划程序结构。程序结构规划如图3所示。FB10为上层功能块,它把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽油机和柴油机的控制。这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。图3程序结构(5)编辑功能(FC)。FC1用来实现发动机(汽油机或柴油机)

6、的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。因此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。1)定义局部变量声明表。局部变量声明表如表1所示,表中包含3个变量,两个IN变量,1个OUT变量。表1变量声明表接口类型变量名数据类型注释INEngine_OnBOOL发动机的启动信号INTimer_OffTimer用于关闭延迟的定时器功能OUTFanOnBOOL启动风扇信号2)编辑FC1的控制程序。FC1所实现的控制要求:发动机启动时风扇启动,当发动机再次关闭后,风扇继续运行4s,然后停止。定时器采用断电延时定时器,控制程序如图4所示。

7、STimexOffSOFFDTSQTVBIRBCD#Fan_0nTh-图4FC1控制程序(6)编辑共享数据块。共享数据块DB3可为FB10保存发动机(汽油机和柴油机)的实际转速,当发动机转速都达到预设速度时,还可以保存该状态的标志数据。DB3的数据如图5所示。地捷类型初始値注释1o.oiw.oSTRUCTPEctualSpeedINT0茫油发甜机的买际转遽乜DDEictualSpeedTNT0柴油岌动机的实际转施+4.0PresetSpDedReachedBOOLFALSE两个灰动机都已经到这预苣的转遠=6.DEKDSITHCI图5共享数据块DB3(7)编辑功能块(FB)。在该系统的程序结构内

8、,有2个功能块:FB1和FB1O。FB1为底层功能块,所以应首先创建并编辑;FB1O为上层功能块,可以调用FB1。1)编辑底层功能块FB1。在项目内创建FB1,符号名“Engine”。定义功能块FB1的变量声明表如表2所示。表2FB1的变量声明表接口类型变量名数据类型地址初始值扩展地址结束地址注释INSwitchOnBOOL0.0FALSE启动发动机SwithcOffBOOL0.1FALSE关闭发动机FailureBOOL0.2FALSE发动机故障,导致发动机关闭ActualSpeedINT2.00发动机的实际转速OUTEngineOnBOOL4.0FALSE发动机已开启Preset_Spee

9、d_ReachedBOOL4.1FALSE达到预置的转速STATPresetSpeedINT6.01500要求的发动机转速FB1主要实现发动机的启停控制及速度监视功能,其控制程序如图6所示。图6FB1程序2)编辑上层功能块FB10。在项目内创建FB10,符号名“Engines”。在FB10的属性对话框内激活“多情景标题”选项,如图7所示。图7将FB10设置成使用多重背景的功能块要将FB1作为FB10的一个“局部背景”调用,需要在FB10的变量声明表中为FB1的调用声明不同名称的静态变量,数据类型为FB1(或使用符号名“Engine”),如表3所示。表3FB10的变量声明表接口类型变量名数据类型

10、地址初始值注释OUTPreset_SpeedReachedBOOL0.0FALSE两个发动机都已到达预置的转速STATPetrolEngineFBI2.0FBI“Engine”的第一个局部实例DieselEngineFBI10.0FBI“Engine”的第二个局部实例TEMPPE_Preset_SpeedReachedBOOL0.0FALSE达到预置的转速(汽油发动机)DE_Preset_SpeedReachedBOOL0.1FALSE达到预置的转速(柴油发动机)在变量声明表内完成FB1类型的局部实例:“Petrol_Engine”和“Diesel_Engine”的声明以后,在程序元素目录的“

11、多重实例”目录中就会出现所声明的多重实例,如图8所示。接下来可在FB10的代码区,调用FB1的“局部实例”。图8调用局部实例编写功能块FB10的控制程序如图9所示。调用FB1局部实例时,不再使用独立的背景数据块,FB1的实例数据位于FB10的实例数据块DB10中。发动机的实际转速可直接从共享数据块中得到,如DB3.DW0(符号地址为“S_Data”.PE_Actual_Speed)。FBLD:夢垂背亲j黄卿US:启汽油发动机#FctTdl_EnginepinQEW114启或汽油发动机Dn_PEx-Siitch_CJnEngin&_0nQ曜0買抽发动机的启动命令-xPEj3nTl.l动机Swit

12、ch.dffPE?-Switch.OffPxeset_5pecd_Rrachrd#FE_Preset_5pced_B.cachrd11,2汽袖发动机故障Failuze-FailureM5.DBVD-盘匚吐工Spesd程序段2:标範#Ditscl_EnginepuEITOT1.4rm”SviPch_On_DE-Siri.tch._0nEngine_0nQ5.4柴油茨动机fFI启动命令-施_曲n.s动口”SviPclLOff_DE-OffFreset_5pecd_Rrschrd衲E_Pxesel_Speed_-Rrachrd11.6柴由发动机故障Failure-FsiluieDE3-DBV2-A匚

13、-tual_Speed民序艮3:插軀flPE_4DE_Fieset_Preset_ffFreset_Spetd_Speed_Speed_ReachedReachedReached图9FB10的控制程序(8)生成多重背景数据块DB10。在项目内创建一个与FB10相关联的多重背景数据块DB10,符号名“Engine_Data”。如图10所示。食-nilin争至:背景13丁BATTt3na(l)CP1IU!i-2DFjI匚何冈暉黔英抉皿狷涓?()调诅;宜者阳燮口ffiSjtH)”己X2需寻曲刘皤地址声明巒荚型初贻值卖萍值outPrcsetSDeBcLRunjched.EOOLFALSEFALSE閃于

14、发动机都已到达诫蚩的转迷Z2.0stat:in.PetroL_EngirieEwitch_DnBOOLF虹SEFALSE32.istat;in.PcH:roL.EnsincSwi-tchCrffeM,FALSEFALSE关州佥沏斗2;.2stat:LILFetroL_EngirieFailurbEQQLFALSEFALSE炭动机墩障,导致发动机矢用54.QstatsinPetroL_Engirie=ArtuaL_SpeedinfJJ-a填胡机的实际转速66.0百t已t;outPcH:roLEnsi.ncEnE=inDnBOOLFALSEFALSE.发动机己开启76.1st:at:outFetr

15、oLEngiriePiresetSpeedReachedBQQLFALSEFALSEBS.statPelrL_Engine.Presei_Speedinra要求的发动机转喧910.0gtat:in.DicseLEniricSwitch.OnEpOLFALSEFALSE尼功发动f机1010.1吕tat:mDias&L_EngiriaS?itch_DffBQQLFALSEFALSE关闭发动机LL10.2stat:in.DieseLEngine.FailureEOOLFALSEFALSE戋动机密.导致如机关闭1212.0航at:inDieseL_Enii-ieActual_SjeedIKT00炭动机

16、酣实际孺逮1344.Qstat:outDies日L_EngirieBEngiiLeDnBOOLFALSEFALSE戎动机已开启1斗14.1工七日七:outDieiEL_Englde.Preset_Speed_Re11匚卜irdBOOLFALSEFALSE达列預.蛊的事.趙1516.0習tatDieseL_EniriePresei_SpeedIlfTd0:更求的发功析轲遼|啻咗图10DB10的数据结构9)在OB1中调用功能(FC)及上层功能块(FB)。OB1控制程序如图11所示,“程序段4”中调用了FB10。QB1:主牯环程序跚*沁饰式10.5自动运讦模尹控制按锂Autonatic0nTIH-0

17、4.2,运行模式Automatic_Kode10.6手动运行模式粵訓發钮JTanualQnFC1凤扇控制EIiTENQQ5.4Q乩儒动机凤扇命T)E_OirEtiine_OnSEFanT2FanOn柴械动机孔扇的绵鏤运方町间验_FallowOn-TmarQfPCI肌国揑制XJtFanENTOEnginejOnFaik_OnTinerOff呱0汽油芒命弧的启由令PEX汽油嵐迩如命令PE_Fan_一恤”汽油丸蛋肌运行附时间TE.FdIIdvOn捏序段4:就用上民功能境FfKOBB10Engine.DataBB1G吳更头迥的十尉I牝?苏更买例的上层功链?EninesYEM3Prrsct_Speed_ReachedDBXDEX4.0两个左动机都已经达f!东笛的玮連SJJsiz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论