多重背景数据块

合集下载

简述多重背景的使用方法

简述多重背景的使用方法

简述多重背景的使用方法
多重背景是指在电脑或手机桌面上同时设置多张背景图片,使桌
面看起来更加丰富多彩。

使用方法如下:
1. 首先需要找到想要使用的多重背景图片,可以在互联网上搜
索或者从个人收藏中选择。

2. 将多重背景图片保存到电脑或手机中的图片文件夹中,并确
保图片尺寸大小适合桌面分辨率。

3. 在电脑或手机的桌面设置中选择“多重背景”,然后依次添
加需要使用的背景图片,确定图片的显示顺序、位置、大小等属性。

4. 根据需求可以设置多重背景图片的切换时间和方式,例如按
顺序、随机等方式进行切换,以及设置滚动、平铺等不同的显示效果。

5. 最后保存和完成设置,此时多重背景已经成功应用到电脑或
手机的桌面上。

需要注意的是,在选择多重背景图片时要选择不会影响桌面查看
和使用的图片,同时不要添加过多的背景图片,以免影响电脑或手机
的性能。

S7-1200 PLC的用户程序结构

S7-1200 PLC的用户程序结构

2023/10/7
11
5.2 PLC的工作原理——CPU的工作模式
上电后CPU进入STARTUP模式,进行上电诊断和系统初始化, 检查到某些错误时,将禁止CPU进入RUN模式,保持在STOP。
STARTUP:
A 复位I 存储器
B 使用上一次RUN模式最后的值或替换值初始化输出
C 执行启动 OB
D 将物理输入的状态复制到 I 存储器
背景数据块:存储供特定的FB使用的数据。
2023/10/7
8
5.2 PLC的工作原理——操作系统与用户程序
CPU的操作系统用来组织与具体的控制任务无关的所有的CPU功 能,包括:处理暖启动、刷新输入/输出过程映像、调用用户程序、 检测中断事件和调用中断组织块等。
用户程序:处理具体的最大化任务必须的所有功能,包括:
返回值Ret_Val属于输出参数,默认的数据类型为Void,该数据 类型不保存数据,用于功能不需要返回值的情况,在调用FC1时, 看不到Ret_Val。
如果将它设置为Void之外的数据类型,在FC1内部编程时可以使 用该变量,调用FC1时可以在方框的右边看到作为输出参数的 Ret_Val。
2023/10/7
CPU 有三种工作模式: STOP 模式、STARTUP 模式和 RUN 模 式。CPU 前面的状态 LED 指示当前工作模式。
——在 STOP 模式下,CPU 不执行任何程序,而用户可以下载项 目。
——在STARTUP 模式下,执行一次启动OB(如果存在)。在RUN 模式的启动阶段,不处理任何中断事件。
是2功023能/10块/7 ,在调用它们时需要指定配套的背景数据块。
7
5.1 用户程序结构简介——数据块
数据块(Data block,DB)是用于存放执行代码块时所需的数据的 数据区,有两种类型的数据块:

背景数据块解析

背景数据块解析
现有FB10,欲为其生成背景DB10,方法有二:·如果某个FB已经创建,则可在调用时,自动生成一个背景DB。call FB10,DB10 系统弹出对话框“实例数据块DB10不存在。是否要生成它?”提示是否为FB10创建其背景DB10。·在块目录里插入数据块,在“常规-第1部分”分页栏中的“名称和类型”框输入DB10,从“共享的 DB”、“实例 DB”下拉列表选择后者,并指明所属数据块为“FB10”。FB中有一个局域变量表和块参数。局域变量表里有:IN(输入参数)、OUT(输出参数)、IN_OUT(输入输出参数)STAT(静态参数)、TEMP(临时数据)。其中IN、IN_OUT、OUT为接口参数,将来直接体现在生成的FB块左右两侧,而STAT、TEMP为内部参数。除了TEMP参数外,其他类型的参数都将体现在背景DB中,意味着可以通过背景DB传递参数。FB定义的接口参数直接决定了其背景DB的结构。背景DB块中变量数据列表,包括标号、地址、声明、名称、类型、初始值、实际值、备注,8个字段。地址从0.0,依据每一个变量的声明及类型依次分配,先IN、OUT,后IN_OUT,最后为STAT。背景DB的变量都是其所属FB的映射,承担传递数据,背景DB不能被其它块引用。·FB调用不同背景DB, 一个FB可以调用不同的DB,这对于模块化编程时非常有好处的。类型相同的多个控制对象可以生成一种FB,针对各个对象的不同控制要求,可以调用不同的背景DB。
如:call FB10,DB10
call FB10,DB11
call FB10,DB12
·多重背景DB
FB中可以定义变量的数据类型为另一FB。例如在FB20中定义Motor1、Motor2变量为FB10类型,而FB10的背景数据块为DB10
近来有人常向我问起关于背景数据块,在此我转载一段我收集的笔记文本供大家参考学习:背景数据块,又称实例数据块(DI,Instance Data block),是西门子工控产品PLC s7-300/400当中,基于PC/PG编程软件Step 7(以下简称S7)中的一类数据存储区域。S7工程是由主循环块OB1,及其调用功能、功能块,以及各种中断组织块ห้องสมุดไป่ตู้OB)构成:·组织块(OB)·功能(FC)·系统功能(SFC)·功能块(FB)·系统功能块(SFB)S7程序包括逻辑块和数据块。相比于FC,FB带有一个存储区,也就是说,有一个局部数据块被分配给FB块,这个数据块被称为背景数据块。一个FB的时间标记要比其背景DB更新,即在用户生成一个背景数据块之前,相应的FB必须已经存在。

FB块的使用技巧和多重背景数据的使用

FB块的使用技巧和多重背景数据的使用

FB块的使用技巧和多重背景数据的使用
FB的使用技巧:FB的执行需要专门提供一个数据块DB,背景数据块DB,只能FB块访问使用它我
们先制作一个FB块,这里不在演示制作的过程(和FC一样),具体要求见下图:FB内程序建立完成后,
在OB1中调用(可多次调用 ...
FB的使用技巧:
FB的执行需要专门提供一个数据块DB,背景数据块DB,只能FB块访问使用它
我们先制作一个FB块,这里不在演示制作的过程(和FC一样),具体要求见下图:
FB内程序建立完成后,在OB1中调用(可多次调用)
因为FB可以多次调用,程序在运行的时候会有很多地方在使用FB,当我们需要看着FB内的程序进有很多实际参数给他不同的信号,我们无法看到我们想要的实际参数单独在FB内运行的效果,给用测试操作的功能,对FB内测行单独调试,方法如下图:
OK完成,可以对FB(多次调用的)进行单独的调试了
多重背景数据的使用:
(多重数据就是在一个FB内多次调用另一个FB,以达到减少FB使用数目的目的)
下面举个例子说明多重背景数据的使用:
前面我们建立了一个FB1(电机的启停控制),如果我们想控制很多电然而每个CPU支持调用FB数目是有限的,这边FB1(电机启停功能)用的多,就代表我们其他功
为了解决CPU能调用的FB数目有限这个局限,我们可以把很多FB1一起做成多重背景数据放到F 就解决了,方法入下图:
新建一个FB功能块(FB2)
OK,下面我们在OB1中调用FB2,就可以在不调用FB1的情况下达到多次调用FB1的效果了我们看一下DB102里的数据:
DB102里面集合了FB1的背景数据块的内容
使用小技巧。

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦FB和FC区别FB--功能块,带背景数据块 FC--功能,相当于函数FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。

他们之间的主要区别是:1. FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区2. FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,TEMP本身不能设置初始值。

本质上,FB,FC的实现目的是相同的;无论何种逻辑要求,FB,FC均可实现。

只是实现方式效率不同,这也和工程师个人编程习惯有关。

FB块优点:1. 易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便2. 多重背景,减少重复工作,提高效率3. 多次调用时,参数修改方便4. 有独立的存储区FC块优点:1. 小巧灵活,对于非多次调用的程序更易理解2. 不占用额外的存储资源FB,FC块管脚定义IN---------变量是外部输入的,只能被本程序块读,不能被本程序块写;OUT-------是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写;IN_OUT--- 输入输出变量本程序块和其他程序都可以读写这个引脚的值。

TEMP -----临时变量,顾名思义是暂时存储数据的变量。

这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。

STAT-------在PLC运行期间始终被存储。

S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。

为何定义的FB,FC块,多次调用后程序混乱?对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。

为何含有定时器或计数器的FB或FC单次调用ok,多次调用时定时器或计数器混乱?对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN 接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。

29-FB块与FC块功能的区别

29-FB块与FC块功能的区别

FB块和FC块FB和FC区别FB,FC块管脚定义临时变量引起的麻烦FB和FC区别FB--功能块,带背景数据块 FC--功能,相当于函数FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。

他们之间的主要区别是:1. FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区2. FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,TEMP本身不能设置初始值。

本质上,FB,FC的实现目的是相同的;无论何种逻辑要求,FB,FC均可实现。

只是实现方式效率不同,这也和工程师个人编程习惯有关。

FB块优点:1. 易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便2. 多重背景,减少重复工作,提高效率3. 多次调用时,参数修改方便4. 有独立的存储区FC块优点:1. 小巧灵活,对于非多次调用的程序更易理解2. 不占用额外的存储资源FB,FC块管脚定义IN---------变量是外部输入的,只能被本程序块读,不能被本程序块写;OUT-------是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写;IN_OUT--- 输入输出变量本程序块和其他程序都可以读写这个引脚的值。

TEMP -----临时变量,顾名思义是暂时存储数据的变量。

这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。

STAT-------在PLC运行期间始终被存储。

S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。

为何定义的FB,FC块,多次调用后程序混乱?对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。

为何含有定时器或计数器的FB或FC单次调用ok,多次调用时定时器或计数器混乱?对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。

S7-SCL 怎么调试多重背景

如果对您有帮助,请下载惠存
5
通过"Test > Breakpoints active"切换至测试模式
6
S7-SCL编辑器窗口将被分割为两部分,并且程序将运行到下一个断点。如果程序停止在块调用的行(多重背景),则选择"Test > Execute call"。
图01
在测试模式下,低等级的块被打开并被处理。在处理后,程序返回调用位置。
可以在S7-SCL在线帮助中查找到更多的信息
Debugging with Breakpoints/Single Step Mode
Starting the Test with Breakpoints
Debugging in the Single Step Mode
关键字:
故障检测
End
技成培训网整理

介绍:在S7-SCL中,可以像在STEP 7 LAD/STL/FBD编辑器一样编辑多重背景。可以在技成培训网发布的《断点功能怎么调试见下表:
编号
步骤
1
通过S7-SCL菜单命令"Tools > Settings..."打开"Settings"对话框,并选择"Compiler"页面。激活选项"Create Debug Info"并确认。
2
通过"Test > Operation > Test operation"操作,改变CPU模式至测试模式
3
保存并编译S7-SCL程序,并下载到CPU中。
4
把光标移动至相应的程序行,并执行"Test > Set breakpoint",来为多重背景设置断点。在S7-SCL指令临近位置,断点以一个彩色的小圆圈显示。

S7-1200PLC多重背景数据块DB使用方法

S7-1200PLC多重背景数据块DB使用方法前两次文章和大家讲解了FB FC块使用方法,其中包含带参数、多次调用、全局库知识点,那么结合前两次内容给大家补充一个技巧,如何通过多次调用FB或FC块并产生一个DB背景数据块,统称为:多重背景数据DB块。

一、创建一个FB块(电机正反转互锁)第一步:(添加FB块,命名为:正反转)二、编写FB块参数与程序第一步:(填写接口参数地址与数据类型)Input(输入接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)停止按钮(数据类型BOOL)InOut(输入输出接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)第二步:(编写正反转程序)三、创建一个FB块作为多重背景存放第一步:(创建FB100块,作为多重背景存放区)FB编号可以根据调用的FB多少来确定,当然越大越好。

第二步:(在FB100接口Static(静态变量)参数中创建调用FB 块多重背景名称)根据自己需要调用次数来填写,比如我需要调用三次,那么就创建三个即可,其它以此类推,FB块多重背景名称可以随意定义,没有固定的名称。

四、调用FB块第一步:(在FB100中调用FB1正反转程序)调用时选择多重背景,然后在多重背景接口参数中的名称选择在FB100接口参数中Static(静态变量)创建的名称,通过编号1 2 3排列。

第二步:(填写FB1正反转管脚地址)五、查看背景数据DB块第一步:(创建DB块,命名为:正反转背景DB块)第二步:(调用三次FB块,背景数据块全部集成在一个背景DB 块中)按照正常调用法,每次调用一个FB或FC块都要产生一个DB背景数据块,这样浪费并占地方,一个背景DB块可以存入1万6千多个数据,所以这样很浪费,因此采用多重背景数据DB,把所有数据都放在一个背景数据块中。

六、演示效果第一步:(三个FB正反转块全部同时启动电机正转)它们之间相互互不影响,可以同时启动,同时停止,同时反转。

西门子功能块的调用与多重背景数据模型


10
I 0.1 I 0.2 Q8.0
功能FC10
输入 输入 输出
...
On_1 On_2 Off
BOOL BOOL BOOL
... A #On_1 A #On_2 = #Off ...
基本数据类型传送机理
基本类型实际参数位于于:
位存储地址区域 过程映像 调用的局部堆栈
IB0 1 0 0 1 0 0 1 0 ...
▪ 在调用期间进行数据类型检查 ▪ 例外情况:POINTER,ANY 调用接口与编程语言无关 ▪ PLC编程语言可以混合使用
地址 0.0 0.1 2.0 2.0 8.0
10.0 ... ...
声明 输入 输入 输入
输出 输出
名称 Start Stop Speed
Motor_on Setpoint
类型 BOOL BOOL INT
块调用与多重背景模型
用于结构化编程的块
整个任务的 模块化:
单个任务在各自块中 予以解决
参数分配法使得 使用更加灵活
• 示例:钻孔循环程序的钻孔深 度为可分配参数
块的可再利用性能:
块可以按需要随时 加以调用 限制因素:
• 不允许访问 全局地址空间
• 只能通过参数列表 进行通信
OB 1
FB1 电机1
FB2 阀
OB 1
. .
CALL FB1, DB2
Start
:=I 0.0
Stop
:=I 0.1
Motor_on :=Q12.0
Speed :=QW14
.
.
FB10 控制器
FC 5 限制 阀
... SFC
复制
FB 1
地址 0.0 0.1 2.0 4.0 6.0 0.0

STEP 7中FB生成多重背景数据块

4 一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出 现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显 示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调 用在 LAD/STL/FBD 编辑器中将会以亮红色显示。 为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。
*************************************************************************************
************************************************************************************* 以下详细讲解西门子多重背景数据块的使用。
程序的结构。 通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程序。在
编译后,STEP 7 程序一致性将统一。
图5 当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图 6)。 也可以改变此设置:
图6 一旦已经生成了功能块,多重背景功能就不可以被重新设置,是否具有多重背景 的属性只可以显示,除非按照一个冗长的过程来修改它。
图3
5
在后续的对话框中,点击 OK 来执行接口更新。
图4 在 STEP 7 V5.3 中的注意事项: 当尝试通过“File > Check and Update Accesses”来更新程序块调用时, STEP7 V5.3 不能发现变量间的唯一分配,调用还是保持红颜色,也无法通 过“Edit > Call > Update”改正调用错误。更新调用的唯一办法是删除调用, 在声明中更新接口,然后再以多重背景方式调用功能块。如果已经删除了 FB 接口中的变量,应该通过“Edit > Call > Update”来改正所有的多重背景调用, 而不需使用前面的“Check and Update Accesses”功能。一旦已经更新了这些 多重背景,就又可以与平时一样使用“Check and Update Accesses”功能了。 6 推荐在更新功能块调用后进行一致性检查。在 SIMATIC Manager 中,右击 S7 program 文件夹,选择“Check block consistency...”功能,系统会显示 S7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多重数据块是数据块的一种特殊形式,如在OB1中调用FB10,在FB10中又调用FB1和FB2,则只要FB10的背景数据块选择为多重背景数据块就可以了,FB1和FB2不需要建立背景数据块,其接口参数都保存在FB10的多重背景数据块中。

建立多重背景数据块的方法是:在建立数据块只要在数据类型选项中选择“实例的DB”就可以了,见下例。

下面通过一例简单介绍一下多重背景数据块使用的一些注意事项和方法。

例如,PLC控制两台电机,且控制两台电机的接口参数均相同。

一般的作法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如第一台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制第一台电机调用FB1时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。

这样就需要使用两个背景数据,如果控制的电机台数更多,则会使用更多的数据块。

使用多重背景数据块就是为了减少数据块的数量。

像这种情况,我们就可以利用多重背景数据块来减少数据块的使用量。

拿本例来说,我们就可以在OB1中调用FB10,再在FB10中分别调用(每台电机各调用一次)FB1来控制两台电机的运转。

对于每次调用,FB1都将它的数据存储在FB1的背景数据块DB1中。

这样就无需再为FB1分配数据块,所有的功能块都指向FB10的数据块DB10。

原理图如下:
首先,我们需要先后插入一个功能块FB10和数据块DB10,DB10就为FB10的多重背景多重数据块。

如下图:
其次,需要在FB10中指定其所包含的背景数据块。

方法如下:在FB10局部变量定义窗口中,在“STAT”变量区中(必须在此变量区中)为每台电机的控制取好名称后,数据类型选择FB ,确认后,再把改为1,即功能块FB1。

如果你在变量表中已经定义了FB1的符号,则会自动出现其符号名。

地址一般由CPU根据FB1的接口参数数量自动计算得到,采用默认值就可以了。

因为控制两台电机,所以需要在STAT中定义两个这样的变量。

结果如下:
经过以上步骤,FB的背景数据块DB10中就完全包含了1#和2#电机所需的数据,如下图,其中地址2.0~8.0是第一台电机的接口区控制参数,10.0~16.0是第二台电机接口区控制参数。

这时,在FB10的指令列表中“多重实例”中就会出现已经添加的两个局部背景,如下图。

在程序中就可以分别调用这两个局部背景控制1号和2号电机了。

程序如下:
这样,就可以在OB1中通过调用OB10就可以分别控制1#和2#电机了。

如下图:。

相关文档
最新文档