西门子plc DB数据块如何使用

2018年12月15日21:31:05 发表评论 3,821 阅读

西门子plc DB数据块怎么使用?

熟悉西门子S7-300及以上的人都知道,数据块DB在西门子的程序设计中起到了非常重要的作用,可以说DB块几乎承载了程序99%以上的数据,但是习惯了S7-300/400的人遇到博途后有些不习惯,其原因是博途和STEP7就是两个软件,而且博途的结构和S7-300/400也有很大差别,我至今还记得第一次使用博途PLC建立数据块时的不知所措,所以今天带大家了解一下博途PLC建立数据块,帮助那些准备学习博途PLC的人,当然如果您是高手可以略过这篇文章。

1. 创建DB块: 在项目中添加了S7-1200设备之后,在项目树中此PLC的"程序块"下即可以添加新的数据块。

创建DB块

在打开的"添加新块"窗口下选择数据块。 以下是对此窗口下各项配置的说明:

名称:此处可以键入DB块的符号名。如果不做更改,那么将保留系统分配的默认符号名。例如此处为DB块分配的符号名为“Data_block_2”;

类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块或背景数据块。如果要创建背景数据块,下拉菜单中列出了此项目中已有的FB供用户选择。

语言:对于创建数据块,此处不可更改。

编号:默认配置为“自动”,即系统自动为所生成的数据块配分块号。当然也可以选择“手动”,则“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。

块访问:默认选项为“已优化”,当选择此项时,数据块中的变量仅有符号名,没有地址偏移量的信息,该数据块仅可进行符号寻址访问。选择“已优化”创建数据块可优化CPU对存储空间的分配及访问,提升CPU性能;用户也可以选择“标准-与S7-300/400兼容”,获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量,可以进行符号访问和绝对地址访问。

注意:数据块的块访问属性只能在创建数据块时定义。创建完成后无法修改数据块的访问属性。如果在编程中需要对数据块进行绝对地址访问,必须在创建该数据块时将块访问设置成“标准-与S7-300/400兼容”。

当以上的数据块属性全部定义完成,点击“确定”按钮即创建完成一个数据块。用户可以在项目树中看到刚刚创建的数据块,如图2所示:

2. 为数据块定义变量:双击打开数据块即可逐行添加变量,如图3 所示。

如果数据块时选择“标准-与S7-300/400兼容”,则在数据块中可以看到“偏移量”列,并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问的数据块则无此列。

默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题,可在出现的菜单中选择显示被隐藏的列,见图4:

表1是对数据块变量定义的所有列的说明:

定义变量的数据类型:可以为变量定义基本数据类型,复杂数据类型(时间与日期,字符串,结构体,数组等),PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型。可以直接键入数据类型标识符,或者通过该列中的选择按钮选择。如下图所示:

DB块数据的保持性:对于可优化访问的数据块,其中的每个变量可以分别设置其保持与否;而标准数据块仅可设置其中所有的变量保持或不保持,不能对每个变量单独设置。如图7和图8所示:

图7

3. 数据块的访问:

符号访问:<DB块名>.<变量名>;例如:Data_Block_1.Var1;

绝对地址访问:<DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。

注意:复杂数据类型只能符号寻址。

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: