技术论坛

关于博图环境下FB背景数据块的保持性

作者 主题
奇侠

经验值: 8877
发帖数: 2002
精华帖: 12
主题:【探讨】关于博图环境下FB背景数据块的保持性
推荐帖


只看楼主 楼主 2022-02-16 17:05:19

        今天用博图编程的时候由于博图总是自动生成程序段的注释,所以想在选项里关掉,结果在设置里偶然发现有这么一个选项:将访问方式为“标准”的背景数据块元素设置为具有保持性(S7-1200/S7-1500)

        看字面的意思就是给标准的1200和1500的FB背景数据块设置为“保持”属性。用过300的都知道,FB的背景数据块默认就是保持的呀,难道到了博图需要手动设置了?看一下手册说明,果然如此:300和400是系统默认设置DB块为保持性,不论是全局DB还是背景DB;1200和1500的背景DB如果是非优化的访问就通过这个选项设置保持性。

         我测试了一下这个选项的功能,同样的非优化访问的FB,在不激活这个选项的时候,FB的背景DB是非保持的,如果激活这个选项生成的DB就是保持的。



        我赶紧找出之前做的项目程序,打开发现所有的背景DB都是非保持的,这下完蛋了,现场如果断电重启那么程序的历史数据将会清空。要解决这个问题只能手动将DB设置为保持,但是需要重新初始化和下载,影响是不可避免了。

        不理解博图为啥要这么设置,使用FB就是为了能保持历史数据,怎么搞出这么一个选项呢?如果不注意可是要出大问题了,应该继续默认保持,如果不保持才需要手动修改才对。

        另外如果要保持非优化访问的DB,那么整个DB都要存储到保持存储区,而1511系列的保持存储区才128K,虽然一般项目够用,也明显浪费。如果采用优化访问的话可以单独设置变量的保持性,可以节省不少。但是之前为了兼容国产上位软件我使用1500也是采用了非优化的方式,方便上位机访问背景数据。要解决这个问题我认为通过UDT的方式将需要上位访问的变量放在全局DB中并设置为断电保持,通过FB的接口传送给FB,这样就可以把FB设置为优化的块访问,只把背景数据里需要断电保持的变量设置为保持即可,即节省断电保持存储区,又能兼容国产上位软件。不知道大家是怎么处理背景DB的保持性的?


污水处理自控工程师,简称污师。
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1748300&b_id=66&s_id=0&num=6

奇侠

经验值: 8097
发帖数: 1308
精华帖: 6
回复:关于博图环境下FB背景数据块的保持性
推荐帖


只看楼主 1楼 2022-02-16 18:01:53

可能优化后的,无法默认设置吧....也不知道啥原因


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
侠圣

经验值: 3816
发帖数: 730
精华帖: 3
回复:关于博图环境下FB背景数据块的保持性
推荐帖


只看楼主 2楼 2022-02-16 20:47:30

FB背景没必要一定要保持,你可以将重要数据通过INOUT接口与UDT结合写入FB中,这样你只需要把UDT设置为保持即可。


 
以下网友喜欢您的帖子:

  
版主

经验值: 76206
发帖数: 19147
精华帖: 378
回复:关于博图环境下FB背景数据块的保持性
推荐帖


只看楼主 3楼 2022-02-16 22:13:36

这是优化编程方式决定的,数据的存储的利用率更高吧,没有什么不习惯的,我觉得默认不保持更方便一些


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
奇侠

经验值: 8877
发帖数: 2002
精华帖: 12
回复:关于博图环境下FB背景数据块的保持性
推荐帖


只看楼主 楼主 4楼 2022-02-17 09:28:03

之前是没注意这个变化,仔细研究后其实现在用优化的方式更灵活,把需要第三方上位访问的数据用UDT放在非优化的全局块中,通过接口传输到FB,然后FB用优化的方式,只给需要断电保持的内部变量设置保持属性,这样即可以实现第三方软件访问还可以节省不必要的保持数据区,比300和400要强大不少。我需要把之前的程序块都修改一遍了。


污水处理自控工程师,简称污师。
以下网友喜欢您的帖子:

  
奇侠

经验值: 8877
发帖数: 2002
精华帖: 12
回复:关于博图环境下FB背景数据块的保持性


只看楼主 楼主 5楼 2022-02-17 09:58:34

又测试了一下,如果在运行的程序没注意背景DB的保持性需要修改的,可以先保存DB快照,然后将快照复制到起始值中,下载,最后修改背景DB的保持性,再下载DB会按照刚才的起始值重新初始化,可最大限度的保留原始数据。


污水处理自控工程师,简称污师。
以下网友喜欢您的帖子:

  
奇侠

经验值: 8097
发帖数: 1308
精华帖: 6
回复:关于博图环境下FB背景数据块的保持性


只看楼主 6楼 2022-02-17 12:57:03
以下是引用will666在2022-02-17 09:58:34的发言 >5楼

又测试了一下,如果在运行的程序没注意背景DB的保持性需要修改的,可以先保存DB快照,然后将快照复制到起始值中,下载,最后修改背景DB的保持性,再下载DB会按照刚才的起始值重新初始化,可最大限度的保留原始数据。

对啊,,可以使用数据快照呀.....复制到起始值当中


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
关于博图环境下FB背景数据块的保持性
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。