西门子PLC控制器技术之十:数据块

在上一章节中我们对梯形图数字指令进行了系统学习,详情请参见:西门子PLC控制器技术之九:梯形图数字指令 http://www.jianshu.com/p/29746ea94511,了解了常见数据类型、装载与传送指令、S5计数器、S5定时器、比较指令以及基本数学函数等内容。

通过前面章节的学习,我们已经能够创建自己项目的硬件组态、找到现场设备的I/O点,对CPU属性等参数进行相关设置,编辑项目所需要的符号表以及理解了CPU运行原理机制,能够编写位指令及数字指令程序,本章将和大家学习SIMATIC S7 PLC编程中的重要内容——数据块

数据存储区

常见数据存储区域除了位存储器M,还有输入输出区I/O,过程映像区PII/PIQ,临时数据L,以及我们今天要学习的数据块DB。


数据存储区.JPG

在现场实际项目中,你会发现大部分的数据不是存储在我们熟悉的位存储器中,而是大量应用数据块。
主要原因是由于数据块容量大、数据可永久保持(M点掉电易失)并且支持更多更复杂的数据类型

STEP7中的基本数据类型

STEP7中的基本数据类型位数不超过32bit,主要分为以下三类:
• 位数据类型 (BOOL, BYTE, WORD, DWORD, CHAR)
• 数学数据类型 (INT, DINT, REAL)
• 定时器类型 (S5TIME, TIME, DATE, TIME_OF_DAY)


基本数据类型.JPG

STEP7中的复杂数据类型

STEP7中的复杂数据类型位数可以长于32位,主要有以下数据分类:
• 时间 (DATE_AND_TIME)
• 矩阵 (ARRAY)
• 结构 (STRUCT)
• 字符串 (STRING)
• 用户定义数据类型 (UDT )


复杂数据类型.JPG

对于复杂数据类型,一般需在数据块中声明使用。
对于STRING字符串变量,其长度为声明字符数+2个字节长度,多出来的两个字节一个盛放最大盛放量MAX,一个盛放实际盛放量ACT。

创建数据块
那么,如何创建数据块呢?具体方法如下图所示;

创建数据块.JPG

注意,创建数据块的时候需要选择数据块类型,如果选择Shared DB,则是创建全局DB块;如果选择Instance DB,则是为某一个FB块创建其背景DB块。如果你选择的是一个DB of type类型,则是创建一个用户自定义数据类型UDT。

寻址数据块单元

数据块中的数据应该如何寻址呢,概括起来主要有两种方法:第一种是绝对地址寻址,对于DB块来讲,即为“地址.地址”,比如DB1.DBX20.0;第二种是符号寻址,为“名字.名字”,这就需要先给DB块命名,然后给数据命名,比如DB1命名为My_Data,DBX20.0命名为S1,则符号寻址为“My_Data”.S1

以上就是本章专题的主要内容,思考以下几个问题,可以帮您巩固所学内容

  1. 为什么要采用数据块?
  2. 怎样访问数据块?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在上一章节中我们对符号寻址进行了系统学习,(参见西门子PLC控制器技术之六:符号寻址 http://www.ji...
    衡云湘水阅读 4,050评论 2 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,121评论 6 13
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,361评论 8 114
  • 南国风光,千里清蒸,万里红烧。 望大街小巷,人影渺渺。高山低岛,草木萧萧。 置地为板,再加火烤,天公欲作铁板烧! ...
    北堂书抄阅读 283评论 5 5