多重背景数据块的使用.doc

多重背景数据块的使用.doc

ID:48454603

大小:554.03 KB

页数:8页

时间:2020-01-31

多重背景数据块的使用.doc_第1页
多重背景数据块的使用.doc_第2页
多重背景数据块的使用.doc_第3页
多重背景数据块的使用.doc_第4页
多重背景数据块的使用.doc_第5页
资源描述:

《多重背景数据块的使用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的启动和延时关闭。每台发动机均设置一个启动按钮和一个停止按钮。项目的编程步骤如下:(1)创建S7项目。使用菜单“文件”à“新建工程”向导创建发动机组控制系统的S7项目,并命名为“多重背景”。CPU选择CPU315-2DP,项目包含组织块OB1。(2)硬件配置。在“多重背景”项目内打开“SIMATIC300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。图1硬件配置(3)编辑如

3、图2所示的符号表。图2符号表(1)规划程序结构。程序结构规划如图3所示。FB10为上层功能块,它把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽油机和柴油机的控制。这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。图3程序结构(2)编辑功能(FC)。FC1用来实现发动机(汽油机或柴油机)的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。因此FC1需要一个发动机启动信号、一

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

5、享数据块。共享数据块DB3可为FB10保存发动机(汽油机和柴油机)的实际转速,当发动机转速都达到预设速度时,还可以保存该状态的标志数据。DB3的数据如图5所示。图5共享数据块DB3(2)编辑功能块(FB)。在该系统的程序结构内,有2个功能块:FB1和FB10。FB1为底层功能块,所以应首先创建并编辑;FB10为上层功能块,可以调用FB1。1)编辑底层功能块FB1。在项目内创建FB1,符号名“Engine”。定义功能块FB1的变量声明表如表2所示。表2FB1的变量声明表接口类型变量名数据类型地址初始值扩

6、展地址结束地址注释INSwitch_OnBOOL0.0FALSE——启动发动机Swithc_OffBOOL0.1FALSE——关闭发动机FailureBOOL0.2FALSE——发动机故障,导致发动机关闭Actual_SpeedINT2.00——发动机的实际转速OUTEngine_OnBOOL4.0FALSE——发动机已开启Preset_Speed_ReachedBOOL4.1FALSE——达到预置的转速STATPreset_SpeedINT6.01500——要求的发动机转速FB1主要实现发动机的启停

7、控制及速度监视功能,其控制程序如图6所示。图6FB1程序1)编辑上层功能块FB10。在项目内创建FB10,符号名“Engines”。在FB10的属性对话框内激活“多情景标题”选项,如图7所示。图7将FB10设置成使用多重背景的功能块要将FB1作为FB10的一个“局部背景”调用,需要在FB10的变量声明表中为FB1的调用声明不同名称的静态变量,数据类型为FB1(或使用符号名“Engine”),如表3所示。表3FB10的变量声明表接口类型变量名数据类型地址初始值注释OUTPreset_Speed_Reac

8、hedBOOL0.0FALSE两个发动机都已到达预置的转速STATPetrol_EngineFB12.0—FB1“Engine”的第一个局部实例Diesel_EngineFB110.0—FB1“Engine”的第二个局部实例TEMPPE_Preset_Speed_ReachedBOOL0.0FALSE达到预置的转速(汽油发动机)DE_Preset_Speed_ReachedBOOL0.1FALSE达到预置的转速(柴油发动机)在变量声明表内完成FB1类型的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。