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

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

3天内不再提示

数据块(DB)的结构

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-06-23 11:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数据块(DB)的结构

定义(Definition)

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

有两种数据块类型:

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

指派给一个FB的数据块(实例数据块)(Data blocks assigned to an FB (instance DB))
实例数据块是指派给特定功能块的数据块。它们功能块的指定的本地数据。当FB被用户程序调用时,这些数据块被S7-SCL编译器自动建立。

句法(Syntax)

a44a11f0-f242-11ec-ba43-dac502259ad0.png

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开始,然后包含一系列赋值语句。

a481b560-f242-11ec-ba43-dac502259ad0.png

当指派初始值(初始化)时, 键入属性和注释采用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

审核编辑 :李倩

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

    关注

    1

    文章

    1669

    浏览量

    51082
  • 变量
    +关注

    关注

    0

    文章

    615

    浏览量

    29371
  • 数据类型
    +关注

    关注

    0

    文章

    237

    浏览量

    14108

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的分支结构介绍

    1.简单if语句 C语言中的分支结构语句中的if条件语句。 简单if语句的基本结构如下: 代码语言:javascript if(表达式) { 执行代码; } 其语义是:如果表达式的值为真,则执行其后的语句,否则不执
    发表于 11-25 07:48

    控制结构介绍

    1. 顺序结构:按照代码的书写顺序,逐行执行程序。这是最基本的程序结构。 2. 选择结构:根据条件判断的结果,选择执行不同的代码。常见的选择结构
    发表于 11-24 06:43

    使用函数实现三相电机正反转控制

    在使用西门子S1200PLC,所使用的软件是博途软件,在这个软件里运用了的概念。比如我们常见的组织(OB)、函数(FB)、数据(
    的头像 发表于 10-15 14:40 2333次阅读
    使用函数<b class='flag-5'>块</b>实现三相电机正反转控制

    dB、dBm、dBc等概念的解释

    纯计数单位首先,dB是一个纯计数单位:对于功率,dB=10*lg(A/B)。对于电压或电流,dB=20*lg(A/B).dB的意义其实再简单不过了,就是把一个很大(后面跟一长串0的)或
    的头像 发表于 09-03 17:33 1724次阅读
    <b class='flag-5'>dB</b>、dBm、dBc等概念的解释

    服务器数据恢复—raid5阵列多硬盘离线导致raid崩溃的数据恢复

    一台服务器中有5硬盘,其中的4组建了一组RAID5阵列,剩下一盘作为热备盘(Hot-Spare)使用。服务器操作系统为linux,应用系统为构架于oracle数据库的一个oa。
    的头像 发表于 07-17 14:37 419次阅读
    服务器<b class='flag-5'>数据</b>恢复—raid5阵列多<b class='flag-5'>块</b>硬盘离线导致raid崩溃的<b class='flag-5'>数据</b>恢复

    带驱动器的 10 MHz - 1.0 GHz 六位数字衰减器(0.5 dB LSB,31.5 dB 范围) skyworksinc

    电子发烧友网为你提供()带驱动器的 10 MHz - 1.0 GHz 六位数字衰减器(0.5 dB LSB,31.5 dB 范围)相关产品参数、数据手册,更有带驱动器的 10 MHz - 1.0
    发表于 05-26 18:32
    带驱动器的 10 MHz - 1.0 GHz 六位数字衰减器(0.5 <b class='flag-5'>dB</b> LSB,31.5 <b class='flag-5'>dB</b> 范围) skyworksinc

    程序设计与数据结构

    《程序设计与数据结构》重点阐述了三大方向内容: 1. C语言学习中的痛点:针对当前工程师在C语言学习中的痛点,如指针函数与函数指针,如何灵活应用结构体等。从变量的三要素(变量的类型,变量的值和变量
    发表于 05-13 16:45

    光纤0.3db是什么意思

    光纤0.3dB 指的是光纤在传输过程中,信号的衰减量为 0.3 分贝(dB)。在光纤通信中,dB 是一个用于量化信号强度、功率增益或损耗的对数单位,0.3dB 的衰减表示信号功率减少到
    的头像 发表于 04-14 11:02 1749次阅读

    组织使用说明

    电子发烧友网站提供《组织使用说明.pdf》资料免费下载
    发表于 04-02 15:29 0次下载

    基于DBFP与DB-Attn的算法硬件协同优化方案

    本文讨论了LLM推理过程对计算资源需求急剧攀升的背景下,现有量化和剪枝技术、新数据格式存在的不足,提出动态浮点数(DBFP)及其配套算法-硬件协同框架DB-Attn以解决这些问题。
    的头像 发表于 03-19 14:33 3199次阅读
    基于DBFP与<b class='flag-5'>DB</b>-Attn的算法硬件协同优化方案

    多流技术:不同寿命数据存在SSD的不同

    根据数据的寿命将数据存放在SSD的不同内可以显著提高SSD的GC效率、减少WAF、提高SSD的寿命和性能。
    的头像 发表于 03-17 14:52 918次阅读
    多流技术:不同寿命<b class='flag-5'>数据</b>存在SSD的不同<b class='flag-5'>块</b>

    EtherCAT数据结构解析

    物理层和常规的以太网卡,通过独特的数据结构和处理机制,实现了基于EtherNet的实时控制。本文将深入探讨EtherCAT的数据结构,从帧的组成、子报文的
    的头像 发表于 02-02 17:42 2222次阅读

    ADS1293EVM的CMRR到底能达到多少dB?

    ADS1293的数据手册里面写着CMRR能达到100dB,而我的板子只能达到85dB,板子原理图参考ADS1293EVM,PCB为4层板,还有个疑惑就是ADS1293EVM的CMRR到底能达到多少
    发表于 01-10 12:02

    西门子流量累计FB介绍

    西门子流量累计FB(Function Block)是一种专门为处理和计算流量数据而设计的功能,它通常在博途(TIA Portal)软件中被创建和使用。该功能的意义在于将复杂的流量
    的头像 发表于 12-19 10:28 2250次阅读
    西门子流量累计FB<b class='flag-5'>块</b>介绍

    服务器数据恢复—RAID5阵列两硬盘离线崩溃,数据如何起死回生?

    服务器数据恢复环境: 两组分别由4SAS接口硬盘组建的raid5阵列,两组raid5阵列划分LUN并由LVM管理,格式化为EXT3文件系统。 服务器故障: RAID5阵列中一硬盘未知
    的头像 发表于 12-11 13:17 1856次阅读
    服务器<b class='flag-5'>数据</b>恢复—RAID5阵列两<b class='flag-5'>块</b>硬盘离线崩溃,<b class='flag-5'>数据</b>如何起死回生?