『7x24小时有问必答』
一、数据块(DB)
          数据块用于存储程序数据,分为全局数据块和背景数据块,全局数据块即全局有效,而背景数据块主要用于作为FB块的存储区。在全局DB块中可定义程序块中需要使用到的各种数据类型的变量,如基本数据类型的变量、复杂数据类型的变量等。
           新建数据块时,默认“优化的访问块”且数据块中存储变量的属性是非保持性的。在优化的访问块状态下通过符号寻址的方式对数据块中的数据进行读写,若需要取消优化的块,在数据块的属性栏中取消勾选“优化的访问块”再进行编译时即可生成绝对地址。

1.png
          在上图中DB块的访问设置里面除了优化的访问块设置外,还有“仅存储在装载内存中”及“在设备中写保护数据块”两项进行勾选设置。
            仅存储在装载内存中:若勾选此选项时,DB块下载后只存储于装载存储区中,若需要将数据复制到工作存储区中需要使用“READ-DBL”指令来实现,同样如需要将数据写入到装载存储中的DB块中,需使用“WRIT-DBL”来实现
           在设备中写保护数据块:若勾选此选项时,则此DB块只支持可读访问。对于背景数据块和函数块相关联,存储函数块的输入、输出、输入/输出、静态变量的参数,其变量只能在函数块中定义,不能在背景数据块中直接创建,程序在调用时,可为之分配一个已创建的背景DB块,也可以直接定义一个新的DB块,该DB块将自动生成并作为这个函数块的背景数据块
         在建立DB块时,可以选择建立全局DB块或FB块的背景DB块
二、全局DB块的建立
2.png
           全局DB全局范围都可以用,存储的是全局的数据;局部DB只能是某个FB块来使用,存储的是某个FB块的数据,执行完后一直保留。

           在建立全局数据块后,优化的访问块在使用后是只有符号没有绝对地址的,如下图所示
3.jpeg

           在TIA博途中,默认DB块中建立的变量为优化的访问块,只能使用符号寻址,且数据块中存储变量的属性是非保持性的;若使用时需要用到绝对地址,则可以在块的属性中去掉 “优化的块访问”前面的勾选去掉后再重新编译即可生成绝对地址 见下图
4.jpeg
5.jpeg
三、背景数据块的创建

          在建立背景DB之前,我们可以先添加FB块
6.png
7.png
          FB块接口参数建立完成之后,我们建立背景DB
8.png
9.jpeg
10.png
           此时生成的背景DB块的数据也是和FB块接口区的参数一致;如要把背景DB块参数显示绝对地址时,可在FB块的属性中把优化的块访问勾选去掉,再编译,这时背景DB块就有地址了。如下图
11.png

获取更多精彩内容请关注公众号

12.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码