课程中心
HOME
课程中心
正文内容
plc编程多重背景 西门子PLC多重背景是不是不知道怎么用?看看对你就有帮助
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC多重背景是不是不知道怎么用?看看对你就有帮助

有时需要多次调用同一个功能块,每次调用都需要生成一个背景数据块,但是这个背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块碎片,用户程序中使用多重背景数据块就可以减少背景数据块的数量。

举例说明:

在SIMATIC管理器中执行【插入】-【S7块】-【功能块】,功能块名称为FB10,在多重背景功能打勾。如下图:

在FB10的变量表中声明了名为MOTOR1和MOTOR2的静态变量(STAT),其数据类型为FB2,如下图;这里要注意FB2也要为多重背景,

变量声明变量表中的MOTOR1和MOTOR2中的8个变量与FB2中的8个局部变量相同。如下图

在完成上述操作后,MOTOR1和MOTOR2将出现在程序编辑器左面的目录窗口的多重背景中如下图:

将它们拖放在FB10的程序区,定义对应的接口即可,如下图所示:

在OB1中调用FB10

控制两台电机的局部变量均存在多重背景数据块DB10中了,如下图所示:

觉得对你有帮助的话,别忘记点关注、点赞和评论。

PLC多重背景数据块使用

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

下面以发动机组控制系统为例,介绍如何编辑和使用多重背景数据块。

例 发动机组控制系统设计——使用多重背景

设某发动机组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的启动和延时关闭。每台发动机均设置一个启动按钮和一个停止按钮。

项目的编程步骤如下:

(1)创建S7项目。使用菜单“文件”à“新建工程”向导创建发动机组 控制系统的S7项目,并命名为“多重背景”。CPU选择CPU 315- 2DP,项目包含组织块OB1。

(2)硬件配置。在“多重背景”项目内打开“SIMATIC 300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。

图1 硬件配置

(3)编辑如图2所示的符号表。

(4) 规划程序结构。程序结构规划如图3所示。FB10为上层功能块,它 把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽 油机和柴油机的控制。这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。

(5)编辑功能(FC)。FC1用来实现发动机(汽油机或柴油机)的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。因此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。

1) 定义局部变量声明表。局部变量声明表如表1所示,表中包含3个变量,两个IN变量,1个OUT变量。

表1 变量声明表

2) 编辑FC1的控制程序。FC1所实现的控制要求:发动机启动时风扇启动,当发动机再次关闭后,风扇继续运行4s,然后停止。定时器采用断电延时定时器,控制程序如图4所示。

图4 FC1控制程序

(6)编辑共享数据块。共享数据块DB3可为FB10保存发动机(汽油机和柴油机)的实际转速,当发动机转速都达到预设速度时,还可以保存该状态的标志数据。DB3的数据如图5所示。

(7) 编辑功能块(FB)。在该系统的程序结构内,有2个功能块:FB1和FB10。FB1为底层功能块,所以应首先创建并编辑;FB10为上层功能块,可以调用FB1。

1) 编辑底层功能块FB1。在项目内创建FB1,符号名“Engine”。定义功能块FB1的变量声明表如表2所示。

FB1主要实现发动机的启停控制及速度监视功能,其控制程序如图6所示。

图6 FB1程序

2) 编辑上层功能块FB10。在项目内创建FB10,符号名“Engines”。在FB10的属性对话框内激活“多情景标题”选项,如图7所示。

图7 将FB10设置成使用多重背景的功能块

要将FB1作为FB10的一个“局部背景”调用,需要在FB10的变量声明表中为FB1的调用声明不同名称的静态变量,数据类型为FB1(或使用符号名“Engine”),如表3所示。

表3 FB10的变量声明表

在变量声明表内完成FB1类型的局部实例:“Petrol_Engine”和“Diesel_Engine”的声明以后,在程序元素目录的“多重实例”目录中就会出现所声明的多重实例,如图8所示。接下来可在FB10的代码区,调用FB1的“局部实例”。

编写功能块FB10的控制程序如图9所示。调用FB1局部实例时,不再使用独立的背景数据块,FB1的实例数据位于FB10的实例数据块DB10中。发动机的实际转速可直接从共享数据块中得到,如DB3.DW0(符号地址为“S_Data”.PE_Actual_Speed)。

图9 FB10的控制程序

(8) 生成多重背景数据块DB10。在项目内创建一个与FB10相关联的多重背景数据块DB10,符号名“Engine_Data”。如图10所示。

图10 DB10的数据结构

(9) 在OB1中调用功能(FC)及上层功能块(FB)。OB1控制程序如图11所示,“程序段4”中调用了FB10。

图11 OB1控制程序

使用多重背景时应注意以下问题:

(1) 首先应生成需要我次调用的功能块(如例中的FB1)。

(2) 管理多重背景的功能块(如例中的FB10)必须设置为有多重背景功能。

(3) 在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(如FB1)作为静态变量的数据类型。

(4) 必须有一个背景数据块(如DB10)分配给管理多重背景的功能块。背景数据块中的数据是自动生成的。

(5) 多重背景只能声明为静态变量(声明类型为“STAT”)。

相关问答

西门子PLC怎样编辑调用多重背景数据块程序

[回答]编写FB1,建立FB1的背景数据块DB1,同时选择多重背景选项。编写FB2,将FB1作为FB2的参数,此时DB1就是多重背景数据块。编写FB1,建立FB1的背景数据块DB...

PLC背景DB和共享DB有什么区别?

背景DB要提供给FB使用的,类似于局部变量;共享DB是所有指令都可以调用的,类似于全局变量背景DB要提供给FB使用的,类似于局部变量;共享DB是所有指令都可以调...

plc产生的背景是什么?

PLC是可编程逻辑控制器的简称,它产生的背景是工业自动化的需求。传统的机械控制系统难以满足现代工业生产的高效、精准要求,而PLC的出现改变了这种状况。PLC...

西门子plc编程时定义变量的数据类型时DI和DW有什么区别?实数R和DW又有什么关系呢?另外请解释?

静态变量是FB专有的,其是与背景块一一对应,可以这么说静态变量就是FB的背景数据块。其作用就是背景数据块的作用,背景块的作用就是,我自己编自己的FB,我在...

PLCTOK17H0004K1是什么意思?

1.PLCTOK17H0004K1是一个特定的编码或标识符。2.这个编码可能是指某种产品、设备、系统或者其他特定的实体。具体的含义需要根据上下文和相关领域来。3.如...

PLC技术在城市轨道交通中的背景?

轨道交通行业中分两部分使用PLC,一部分是车站部分,另一部分是车辆部分。在车站部分,PLC主要应用于轨道交通的综合监控系统、环控系统、设备监控系统...城市...

PLC程序设计方法有几种,各有什么特点?

PLC的编程方法有线性化编程、模块化编程和结构化编程i种。线性化编程是将整个用户程序放在主程序OB1中,在CPU循环扫描时执行()BI中的全部指令。其特点是结构简...

1200plcfb和fc的区别?

一、FB和FC区别FB--功能块,带背景数据块FC--功能,相当于函数FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。他们之间的主...一...

s7-1200plc组织块分为哪三类?

组织块:由操作系统调用,决定程序的结构函数(功能)块:具有存储器的代码块,可将值存储在背景数据块中,即使在执行完后,这些值存在背景数据块中仍然有效。函...

plc几年可以学会?

plc编程学会因人而异,快则1周,长则4到5个月都有,这是针对有点编程基础的背景而言的。如果学过编程,会c语言,那基本上上手特别快。plc编程学会因人而异,快则1...

 王小波作品  墨西哥美女主播 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部