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

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

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

数据存储区

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


西门子PLC控制器技术之十:数据块_第1张图片
数据存储区.JPG

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

STEP7中的基本数据类型

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


西门子PLC控制器技术之十:数据块_第2张图片
基本数据类型.JPG

STEP7中的复杂数据类型

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


西门子PLC控制器技术之十:数据块_第3张图片
复杂数据类型.JPG

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

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

西门子PLC控制器技术之十:数据块_第4张图片
创建数据块.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控制器技术之十:数据块)