零基础学习西门子博途PLC,如何使用数据块?博途也很简单
原创不易,请勿抄袭。
熟悉西门子S7-300及以上的人都知道,数据块DB在西门子的程序设计中起到了非常重要的作用,可以说DB块几乎承载了程序99%以上的数据,但是习惯了S7-300/400的人遇到博途后有些不习惯,其原因是博途和STEP7就是两个软件,而且博途的结构和S7-300/400也有很大差别,我至今还记得第一次使用博途PLC建立数据块时的不知所措,所以今天带大家了解一下博途PLC建立数据块,帮助那些准备学习博途PLC的人,当然如果您是高手可以略过这篇文章。
1. 创建DB块: 在项目中添加了S7-1200设备之后,在项目树中此PLC的"程序块"下即可以添加新的数据块。
图1 DB块的创建
在打开的"添加新块"窗口下选择数据块。 以下是对此窗口下各项配置的说明:
名称:此处可以键入DB块的符号名。如果不做更改,那么将保留系统分配的默认符号名。例如此处为DB块分配的符号名为“Data_block_2”;
类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块或背景数据块。如果要创建背景数据块,下拉菜单中列出了此项目中已有的FB供用户选择。
语言:对于创建数据块,此处不可更改。
编号:默认配置为“自动”,即系统自动为所生成的数据块配分块号。当然也可以选择“手动”,则“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。
块访问:默认选项为“已优化”,当选择此项时,数据块中的变量仅有符号名,没有地址偏移量的信息,该数据块仅可进行符号寻址访问。选择“已优化”创建数据块可优化CPU对存储空间的分配及访问,提升CPU性能;
用户也可以选择“标准-与S7-300/400兼容”,获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量,可以进行符号访问和绝对地址访问。
注意:数据块的块访问属性只能在创建数据块时定义。创建完成后无法修改数据块的访问属性。如果在编程中需要对数据块进行绝对地址访问,必须在创建该数据块时将块访问设置成“标准-与S7-300/400兼容”。
当以上的数据块属性全部定义完成,点击“确定”按钮即创建完成一个数据块。用户可以在项目树中看到刚刚创建的数据块,如图2所示:
图2 项目树中的DB块
2. 为数据块定义变量:双击打开数据块即可逐行添加变量,如图3 所示。
图3 DB块的编辑
如果数据块时选择“标准-与S7-300/400兼容”,则在数据块中可以看到“偏移量”列,并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问的数据块则无此列。
默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题,可在出现的菜单中选择显示被隐藏的列,见图4:
图4 显示隐藏列
表1是对数据块变量定义的所有列的说明:
表1 DB块中的列属性
定义变量的数据类型:可以为变量定义基本数据类型,复杂数据类型(时间与日期,字符串,结构体,数组等),PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型。可以直接键入数据类型标识符,或者通过该列中的选择按钮选择。如下图所示:
图5 定义数据类型
需要创建多个数据类型相同的变量时,可以将光标置于第一个变量名称的右下角,待光标变为“+”符号后向下拖动光标,即可轻松创建多个具有类似属性的变量:
图6 创建多个变量
DB块数据的保持性:对于可优化访问的数据块,其中的每个变量可以分别设置其保持与否;而标准数据块仅可设置其中所有的变量保持或不保持,不能对每个变量单独设置。如图7和图8所示:
图7 标准数据块中仅可设置所有的变量保持或不保持
图8 可优化访问的数据块中可以分别设置每个变量的保持性
3. 数据块的访问:
符号访问:<DB块名>.<变量名>;例如:Data_Block_1.Var1;
绝对地址访问:<DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。注意:复杂数据类型只能符号寻址。
你学会了吗?
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
西门子S7-1200,如何在FB块中使用操作定时器?
在上一篇文章介绍了S7-1200 PLC的定时器,以及介绍了S7-1200 PLC与S7-200/200 SMART PLC的定时器的分类的不同及区别。
S7-1200 PLC的定时器一共有四种类型,包括脉冲定时器TP、接通延时定时器TON、关断延时定时器TOF、保持型接通延时定时器TONR。
在这篇文章就讲一个TON及TOF定时器的案例,来让大家熟悉指令的用法,以及如何在软件中进行添加和使用。
使用定时器有过多背景DB块怎么办?在FB块中使用定时器如何操作?我们带着这两个问题去学习吧。
假设我们做电机延时启停的控制,要求控制两台电机运行,按下启动按钮后,1号电机启动,延时10秒后,2号电机启动,当按下停止按钮,先停2号电机,延时10秒后再停1号电机。
1、首先创建一个变量表,如下图所示。
2、然后编写程序,注意在调用定时器时会自动提示创建背景DB块,指令上方可以看到IEC_TIMER_0_DB和IEC_TIMER_0_DB_1分别是背景DB1和DB2。
我们知道S7-1200 PLC的每一个定时器都是一个函数块,每个定时器都使用16字节的IEC_Timer数据类型的DB结构来存储指定的定时器数据。
那么我们每调用一个定时器指令就需要给它分配一个背景DB块,当程序中使用的定时器指令较多时,系统会生成多个DB块。
那我们如果想减少程序块中使用定时器指令时生成过多的背景DB块,可以使用IEC_TIMER数据类型的变量来替代定时器的背景DB块。
我们可以建立一个全局DB块,比如创建名称为“DATA”,在全局DB中建立变量名称为TON_DB和TOF_DB,数据类型为IEC_TIMER的变量,使用该变量来代替定时器的背景DB。
然后在定时器指令中的变量名称改成 “DATA”.TON_DB和“DATA”.TOF_DB就可以了。
除此之外,如果定时器指令是在FB块中使用的,也可以在给定时器分配背景DB时选择多重实例DB,这样定时器指令上的背景DB会自动在FB块的静态变量中生成一个Static数据类型的IEC_TIMER的变量。具体操作步骤如下:
1、添加一个FB块,命名为电机控制块。
2、设置好变量名称和数据类型。
3、编写FB块的内部程序,采用变量名称编程。
4、FB块编好之后,在OB1中进行调用,注意调用的时候会提示要分配DB块,分配好之后输入地址即可。
以上就是在博途软件中添加定时器的使用的步骤,以及相关的问题包括有过多背景DB时如何解决,在FB块中使用定时器指令的情况如何操作等等,这些操作方法还是挺有用的哦,希望大家可以掌握~
技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究
相关问答
西门子plc300中的编程中db1.dbd4是什么意思?
数据块1的第四个地址开始的一个双整数型数据占用4个字节地址即DB1.DBB4,DB1.DBB5,DB1.DBB6,DB1.DBB7,数据块1的第四个地址开始的一个双整数型数据占用4个字节...
plc中字节寻址的格式?
是存储空间的基本计量单位。2.字节寻址由存储区标识符、字节标识符、字节地址组合而成。3.字节寻址的格式:[...1.字节(Byte,B):由8个位(bit)组成,它是...
西门子plc编程指令中v1490.1是什么意思?
S7-200里的V1490.1表示一个数据位,它是VB1490或VW1490或VD1490的一部分。相当于S7-300里的DB1.DBX1490.1。S7-200里的V1490.1表示一个数据位,...
西门子加法指令的用法?
设被加数:64位数字串:DB1.DBB0~DB1.DBB7,可以表示为:DB1.DBD0(32位)和DB1.DBD4(32位)设加数:64位数字串:DB2.DBB0~DB2.DBB7,可以表示为:...
社区污水处理设备的安装调试过程有哪些?
[回答]1、污水处理站的运行管理人员必须认真阅读本操作规程以及各设备的使用说明书,严格按照规程及说明书中的操作方法及注意事项进行操作管理,维护保养。...
求帮助!圆瓶侧面贴标机原理是什么呢在线等
[回答]圆瓶侧面贴标机工作原理:传感器检测到产品经过,传回信号到贴标控制系统,信号经过PLC处理后,在适当时刻送出标签贴附在产品特定位置上,产品流经覆标...