博途PLC如何使用数据块
熟悉西门子S7-300及以上的人都知道,数据块DB在西门子的程序设计中起到了非常重要的作用,可以说DB块几乎承载了程序99%以上的数据,但是习惯了S7-300/400的人遇到博途后有些不习惯,其原因是博途和STEP7就是两个软件,而且博途的结构和S7-300/400也有很大差别,我至今还记得第一次使用博途PLC建立数据块时的不知所措,所以今天带大家了解一下博途PLC建立数据块,帮助那些准备学习博途PLC的人,当然如果您是高手可以略过这篇文章。
1. 创建DB块:
在项目中添加了S7-1200设备之后,在项目树中此PLC的'程序块'下即可以添加新的数据块。
在打开的'添加新块'窗口下选择数据块。 以下是对此窗口下各项配置的说明:
名称:此处可以键入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所示:
3. 数据块的访问:
符号访问:<db块名>.<变量名>;例如:Data_Block_1.Var1;</db块名>
绝对地址访问:<db块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。注意:复杂数据类型只能符号寻址。</db块号>
注意:复杂数据类型只能符号寻址。