0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据块DB的结构和应用实例分析

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-07-08 09:12 次阅读

数据块(DB)的结构

定义(Definition)

在一个程序中,可以被所有块存取的特定用户数据包含在数据块。每个FB、FC或OB均能读写这些数据块。

有两种数据块类型:

数据块(Data blocks)

能被所有S7程序的逻辑块存取。每个FB、FC或OB读或写包含在这些数据块里的数据。

指派给一个FB的数据块(实例数据块)(Data blocks assigned to an FB (instance DB))

实例数据块是指派给特定功能块的数据块。它们功能块的指定的本地数据。当FB被用户程序调用时,这些数据块被S7-SCL编译器自动建立。

句法(Syntax)

DB标识符(DB Identifier)

在关键字“DATA_BLOCK”之后,键入关键字DB作为数据块的标识符,后面跟一个块号或数据块的符号名,块号是1到65533中间的值。

例子(Examples:)

DATA_BLOCK DB20

DATA_BLOCK MEASRANGE

数据块声明部分(DB Declaration Section)

在DB的声明部分定义DB的数据结构。有两种方法做这件事,如下:

通过指派到用户定义数据类型(By assigning a user-defined data type)

在此,指派一个先在程序中定义的用户数据类型的标识符,然后数据块取得该UDT的结构。你可以在数据块的赋值部分指派变量的初始值。

通过定义STRUCT(结构)数据类型(By defining a STRUCT data type)

在STRUCT数据类型的说明中,指定了存储在DB中的每个变量的数据类型,可能也给出了初始值。

例子(Example)

DATA_BLOCK DB20

STRUCT // 声明部分

VALUE:ARRAY [1..100] OF INT;

END_STRUCT

BEGIN // 赋值部分开始

END_DATA_BLOCK // 数据块结束

数据块赋值部分(DB Assignment Section)

在赋值部分,能够改写在声明部分声明的数据,以便指定实际应用所需的特定值。

赋值部分用关键字BEGIN开始,然后包含一系列赋值语句。

当指派初始值(初始化)时, 键入属性和注释采用STL句法。关于如何写常量、属性和注释,使用STL在线帮助或参考STEP 7的资料

例子(Example)

// 带指定STRUCT数据类型的数据块

DATA_BLOCK DB10

STRUCT // 带初始值声明的数据声明

VALUE : ARRAY [1..100] OF INT := 100 (1) ;

SWITCH : BOOL := TRUE ;

S_WORD : WORD := W#16#FFAA ;

S_BYTE : BYTE := B#16#FF ;

S_TIME : S5TIME := S5T#1h30m10s ;

END_STRUCT

BEGIN // 赋值部分

// 为特定的数组元素赋值

VALUE [1] := 5;

VALUE [5] := -1;

END_DATA_BLOCK

// 带用户定义数据类型指定的数据块

DATA_BLOCK DB11

UDT 51

BEGIN

END_DATA_BLOCK

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7006

    浏览量

    88944
  • 编译器
    +关注

    关注

    1

    文章

    1624

    浏览量

    49108
  • 数据类型
    +关注

    关注

    0

    文章

    236

    浏览量

    13618

原文标题:数据块(DB)的结构

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADS1282数据手册中,THD的单位是dB,这个单位指的是dBc还是dBFS呢?

    ADS1282数据手册中,THD的单位是dB,那么这个单位指的是dBc还是dBFS呢? 另外,我用了TI的频谱分析软件WaveVision 5,里面分析结果dbFS和dBc是不一样的
    发表于 12-06 06:43

    raid 在大数据分析中的应用

    的具体应用: 一、提高性能 并行读写 :RAID技术通过并行读写多个磁盘,可以显著提高数据的读写速度。在大数据分析环境中,数据读写速度是影响分析效率的关键因素之一。RAID 0(条带化
    的头像 发表于 11-12 09:44 233次阅读

    数据数据恢复—Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据数据恢复环境&故障: Oracle ASM磁盘组由4磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle
    的头像 发表于 10-28 11:26 155次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复—Oracle ASM<b class='flag-5'>实例</b>无法挂载的<b class='flag-5'>数据</b>恢复案例

    使用TPA3128d2,增益上选择了26DB,测试数据时发现只有22DB是为什么?

    客户再使用TPA3128d2,再增益上选择了26DB,可是现在 测试数据时发现只有22DB。按照规格上面应该是相差1DB误差的。 请问这个22DB
    发表于 10-21 08:08

    用一buf634的缓冲器衰减12db,用了两衰减了10db,为什么会衰减啊?

    按照网上给的图焊的电路,发现用一buf634的缓冲器衰减12db,用了两衰减了10db,请问专家为什么会衰减啊,要求是增益0db
    发表于 09-20 07:23

    双向触发二极管db4与db3的区别

    双向触发二极管(Bidirectional Trigger Diode,简称DBD)是一种特殊的二极管,具有双向触发特性。DB3和DB4是两种常见的双向触发二极管型号,它们在结构、性能和应用方面存在
    的头像 发表于 08-16 16:00 2017次阅读

    神经网络结构类型和应用实例

    神经网络模型,作为深度学习领域的核心组成部分,近年来在图像识别、自然语言处理、语音识别等多个领域取得了显著进展。本文旨在深入解读神经网络的基本原理、结构类型、训练过程以及应用实例,为初学者提供一份详尽的入门指南。
    的头像 发表于 07-02 11:33 428次阅读

    部分TIA集成指令处理的方法介绍

    对于优化的DB,可使用FILL_BLK指令或创建相同的UDT结构类型的DB,使用MOVE指令清零DB
    发表于 04-15 09:34 1173次阅读
    部分TIA集成指令处理的方法介绍

    数据数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 519次阅读
    【<b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复】Oracle<b class='flag-5'>数据</b>库ASM<b class='flag-5'>实例</b>无法挂载的<b class='flag-5'>数据</b>恢复案例

    基于振弦采集仪的工程结构振动监测及分析

    基于振弦采集仪的工程结构振动监测及分析 基于振弦采集仪的工程结构振动监测及分析是一种常用的结构健康监测方法。这种方法通过在工程
    的头像 发表于 01-31 13:27 357次阅读
    基于振弦采集仪的工程<b class='flag-5'>结构</b>振动监测及<b class='flag-5'>分析</b>

    西门子博途示例:设置优化访问

    默认情况下,为 S7 - 1200/1500 的所有新创建的启用优化访问。可为 OB、FB 和全局DB设置访问。对于背景DB,设置来
    的头像 发表于 01-15 10:41 5681次阅读
    西门子博途示例:设置优化<b class='flag-5'>块</b>访问

    半导体芯片结构分析

    。它们主要包括晶体管(三极管)、存储单元、二极管、电阻、连线、引脚等。 随着电子产品越来越“小而精,微薄”,半导体芯片和器件尺寸也日益微小,越来越微细,因此对于分析微纳芯片结构的精度要求也越来越高,在芯片
    发表于 01-02 17:08

    如何快速为DB变量添加属性

    有些情况需要为PLC DB变量添加一些属性,常规的做法是在DB中选中这个变量,然后打开变量属性输入属性名称和属性值。
    的头像 发表于 01-02 14:18 2164次阅读
    如何快速为<b class='flag-5'>DB</b><b class='flag-5'>块</b>变量添加属性

    西门子博途:创建实例数据

    有三种方法可以创建实例数据: 当第一次调用FB时,用户指定应该使用的FB的实例DB。这将打开一个对话框,在该对话框中可以手动指定符号名称,如果需要,还可以指定
    的头像 发表于 12-25 11:10 912次阅读
    西门子博途:创建<b class='flag-5'>实例数据</b><b class='flag-5'>块</b>

    西门子博途:调用FB(实例化)

    与功能(FC)相比,功能(FB)具有存储器。这意味着功能被分配了一个本地数据,即所谓的实例数据
    的头像 发表于 12-25 11:04 3138次阅读
    西门子博途:调用FB(<b class='flag-5'>实例</b>化)