博图中fb与多重背景数据块_STEP7中如何生成和更新多重背景?
说明:
如果在结构化编程时经常使用功能块,那么在每次调用 FB 时都要为其指定一个单独的背景数据块。对于非常小的FB, 它的背景数据块经常由很少的几个字组成。当频繁调用和指定背景数据块给这些小的 FB 时,程序会变得非常不清晰,或者 DB 块的数量会达到 CPU 所支持的最大数量。
由于一个背景数据块可以长于 FB 实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个 FB 中通过编程完成。
一、编程多重背景和更新修改过的背景:
1、在 SIMATIC Manager 中,打开你希望生成多重背景的 FB。在静态变量定义部分,输入多重背景的名字,数据类型为 FB 或 SFB。
2、在程序中调用多重背景,可以在多重背景中的目录中选择托拽它到 NETWORK 中,也可以用 CALL 指令 调用它。
3、现在设置程序块的输入和输出并保存。就可以在程序(例如 OB1)中使用多重背景来调用 FB。创建一个背景数据块以供监控。
注意:
当生成多重背景时,如其在 FB 中作为一个多重背景被调用,注意要首先生成它,然后再指定一个多重背景调用。如果不遵从这个顺序,程序中将会出现不一致的情况,这种不一致的情况也有可能在修改多重背景后出现。
4、一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调用在 LAD/STL/FBD 编辑器中将会以亮红色显示。
为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。
5、在后续的对话框中,点击 OK 来执行接口更新。
在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程序的结构。
通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程序。在编译后,STEP 7程序一致性将统一。
当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。也可以改变此设置:
一旦已经生成了功能块,多重背景功能就不可以被重新设置,是否具有多重背景的属性只可以显示,除非按照一个冗长的过程来修改它。
二、如何声明一个已经生成的 FB 是否具有多重背景的能力:
1、为了声明一个已经生成的 FB 是否具有多重背景的能力,打开 LAD/STD/FBD 编辑器,通过“File > Generate source...”在对话框中生成一个 FB 的源文件。在后续的对话框中选择项目并存储源文件到 S7 程序的源文件目录。
2、在“Generate source ”对话框中(图7),在左边列表中选择你希望使能或取消多重背景能力的功能块,然后点击箭头将其添加到右边的列表中。点击“OK”关闭对话框。
3、关闭 LAD/FBD/STL 编辑器,打开在 SIMATIC Manager 生成的源文件。多重背景的能力依赖于在“Version : 0.1”后面输入的代码。
- 如果希望 FB 具备多重背景的能力,删除“CODE_VERSION1”属性。
- 如果希望 FB 不具备多重背景的能力,按照图8中添加“CODE_VERSION1”属性。
保存并编译源文件,现在功能块即被使能或取消了多重背景的能力。
4。在使能或取消了多重背景能力之后,现在不得不重新编译所有的在 FB ,为了这个工作,我们推荐执行一致性检查。
博图中fb与多重背景数据块_STEP7中如何生成和更新多重背景?相关推荐
- 西门子300 PLC 功能块及背景数据块的说明
S i e me n s S T E P ' / 语言是 S i e me n s s 7-3 0 0 . 4 0 0系列 P L C程序设计语言.s 7系列 P L C 是 S 5系列 P ...
- 博途软件中多重背景块的建立_怎么理解多重背景数据块?
拿电机说把,如果有4台电机,你不用多重背景,那就要建立4个DB块,如果用多重背景变成,公用一个DB块就好了.多重背景就是让你少建立DB块的. 回答者: 大来 - 毕业实践员 & ...
- 西门子博图的FB块_西门子S7-300/400PLC OB-FB-FC-DB块介绍
西门子S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程. 采用调用式结构与结构化编程时,程序以组织块(OB).程序块(FC).功能块 ...
- s7300的db块详细说明_S7300中FB、FC和DB块的使用
用西门子PLC编程时,可以用到功能块FB和功能FC(FB.FC都是组织块)资料上说FB与FC都可以作为用户编写的子程序,但是我不明白这两个组织块之间到底有什么区别阿?在应用上到底有什么不同之处吗? F ...
- c 批量导入mysql数据库_C#.NET中如何批量插入大量数据到数据库中
在WEB项目开发过程中有时会碰到批量插入数据到数或者是将EXCEL文件据入到数据库中.为了方便实现可以先将EXCEL导入到GRIDVIEW中然后一次批量插入.实现代码如下: 前台代码 后台代码: // ...
- oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据
在上一篇中文章中,如果建立了数据块的四个触发器,并在触发器中调用了程序单元中对应数据块名的包,则在这个包中还需调用专门用于实现插入行.锁定行.更新行.删除行的包MAIN_PVT.在这个包MAIN_PV ...
- 编程将外部RAM2000H--202FH单元中的内容,移入内部RAM20H--4FH中,并将原数据块区域清0.
如题:编程将外部RAM2000H–202FH单元中的内容,移入内部RAM20H–4FH中,并将原数据块区域清0. 首先内部外部的数据转移指令是不同的: MOV: 单片机内部的寄存器或者存储器之间相互传 ...
- 西门子博图的FB块_西门子S7-1200,如何在FB块中使用操作定时器?|定时器|timer|延时|调用|plc...
在上一篇文章介绍了S7-1200 PLC的定时器,以及介绍了S7-1200 PLC与S7-200/200 SMART PLC的定时器的分类的不同及区别. S7-1200 PLC的定时器一共有四种类型, ...
- Oracle中含有recover 状态的数据文件环境中,做异机恢复
背景: 我们在一些恢复测试案例中,会经常遇到一些奇怪的问题,其中有的是源端数据文件不规范而导致恢复过程出错,比较常见的错误有: 数据文件名称重复(如:/oradata1/user01.dbf 和 /o ...
- 数据在计算机中编码方式教案,字符数据在计算机中的表示方法
计算机中数据的概念是广义的,计算机除了处理各种数之外,还要处理大量符号,如英文字母.汉字等非数值的信息.例如,当要用计算机编写文章时,就需要将文章中的各种符号.英文字母.汉字等输入计算机,然后由计算机 ...
最新文章
- java中如何改方法签名_我们可以在Java重写中更改方法签名吗?
- python函数解释
- udhcp server端源码分析1--文件组织结构
- 机器学习之支持向量机
- Oracle学习(十四)分表分区
- 悲观锁和乐观锁和gap锁
- Could not resolve all dependencies for configuration ':app:_debugApk'
- php7.2 event扩展php_sockets_le_socket错误解决
- IT巨头互掐云存储:Dropbox能否一马当先
- 可怕的乖孩子_当今的中国,有句很可怕的话:所有的乖孩子注定不幸福!
- asp.net 二级域名表单认证情况下共享Cookie
- 提升自己身价的四个方式
- 三行代码,使用第三方网站统计访客数据
- 教你如何把M3U8转换成MP4丨NueXini M3U8 Downloader
- 机器学习常见求逆矩阵的方法
- UDF、UDAF、UDTF之间的区别
- LINUX设置DNS
- 好客租房 — 项目发布以及各种服务集群搭建
- 易经读书笔记15地山谦
- Gaea To Houdini
热门文章
- RedHat6使用centos6的yum源
- Mate7微信指纹支付来了 比Touch ID整合微信早一点
- linux recv返回值,Nginx 的recv() failed 错误解决一例
- php7安装详解、,php7安装详解(windows环境)
- java直白解释,关于java的static和final关键字的直白、简单解释
- python调用adb shell命令_python(或BAT脚本)自动执行adb shell以后的命令
- docker容器别人访问很卡_一篇文章带你走进Docker的世界
- winform窗体最大化、最小化、还原
- linux使用中的问题 --- (Another app is currently holding the yum lock; waiting for it to exit...)
- php 禁止转换,php实现十进制、三十六进制转换的函数