S7-1200在博途V16中新建数据块(DB)
硬件环境:
S7-1200 CPU V4.4(6ES7 212-1AE40-0XB0)
软件环境:
(1)Windows 10 Professional SP1 64位
(2)STEP7 V16 SP2
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。
注意:复杂数据类型只能符号寻址。
参考
http://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/function/1200-DB/1200DB.html
S7-1200在博途V16中新建数据块(DB)的更多相关文章
- HDFS中的数据块(Block)
我们在分布式存储原理总结中了解了分布式存储的三大特点: 数据分块,分布式的存储在多台机器上 数据块冗余存储在多台机器以提高数据块的高可用性 遵从主/从(master/slave)结构的分布式存储集群 ...
- Oracle中新建数据表的两种方法
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- oracle中的数据读取与查找
数据读取 首先数据块读入到Buffer Cache中,并将其放在LRU(Last Recently Used)链表的MRU(Most Recently Used)端,当需要再次访问该块时可以直接从bu ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...
- Oracle中读取数据一些原理研究
文章很多摘录了 http://blog.163.com/liaoxiangui@126/blog/static/7956964020131069843572/ 同时基于这篇文章的基础上,补充一些学习要 ...
- HDFS中数据节点数据块存储示例
数据块在数据节点上是按照如下方式存储的. 首先是一个存储的根目录/Hadoop/data/dfs/dn,如下图所示: 接着进入current目录,如下图所示: 再进入后续的BP-433072574-1 ...
- ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题
] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ...
- eclipse中新建maven项目-转
http://huxiaoheihei.iteye.com/blog/1766986 博客分类: maven maven maven是个项目管理工具,集各种功能于一身,下面介绍maven web项目 ...
- Maven入门1-在Eclipse中新建Maven Web项目
在eclipse中新建Maven Web项目 很多时候开发效率低下,大部分原因是IDE环境不熟悉.配置不会配置:因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工.这篇文章主 ...
随机推荐
- [VSCode] Todo Tree VSCode插件 待办事项树
Todo Tree 一款待办事项插件 我们写程序的时候,难免会遇到一些情况需要标记或者搁置,在写代码的时候会用一些特殊的注释来表示不同的内容,使我们可以快速的定位我们注释的位置. 主要有以下几种: T ...
- python中随机生成整数
1 #可以多运行几次,看看结果是不是随机生成的~ 2 3 import random 4 #调用random模块,与 5 a = random.randint(1,100) 6 # 随机生成1-100 ...
- NSSCTF-[鹤城杯 2021]A_MISC
下载压缩包,解压需要输入密码,使用winhex打开发现不是zip的伪加密,然后使用爆破工具进行爆破得到密码 解压压缩包获得一个png打开是一个URL,常用的都知道,百度网盘的文件分享的链接,复制打开U ...
- 商业智能干货分享:BI的4大核心技术
如今,我们似乎生活在一个被数据包围的时代,各方面都离不开数据.这种现象在企业的经营活动中尤为明显.在这样的市场环境下,商业智能应运而生,但你真的明白商业智能吗?以下小编将会从商业智能概念和商业智能四 ...
- HP 电脑 - Windows 10 如何设置虚拟内存
HP 电脑 - Windows 10 如何设置虚拟内存(新) 适用于安装 Windows 10 系统的 HP 电脑 Windows 中运用了虚拟内存技术,即分出一部分硬盘空间来充当内存使用.当内存 ...
- JVM学习笔记(详细)
目录 01 JVM与Java体系结构 简介 JVM整体架构,HotSpot java代码执行流程 JVM架构模型 JVM生命周期 JVM发展历程 02 类加载子系统 JVM细节版架构 类加载器的作用 ...
- STL漫游之vector
std::vector 源码分析 从源码视角观察 STL 设计,代码实现为 libstdc++(GCC 4.8.5). 由于只关注 vector 的实现,并且 vector 实现几乎全部在头文件中,可 ...
- 如何在 Spring Boot 优雅关闭加入一些自定义机制
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判.如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 i ...
- VSCode 安装Vue 插件 - vetur
想要编辑器识别vue文件需要安装vue插件,在VSCode上好用的是vetur 如下图:(如果没有安装就会出现安装按钮,点击进行安装) 安装完成之后,重启VSCode,就能识别vue文件了,方便我们编 ...
- MySQL[练习|面试题]-我的租房网
1 # 创建数据库 2 CREATE DATABASE Tenement; 3 4 # 切换数据库 5 USE Tenement; 6 # 创建客户信息表 sys_user 7 CREATE TABL ...