数据块(DB)的结构

数据块(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


智能电网设备让电网运行更安全
电磁兼容的标准有哪些
浅析常见共射极放大电路的输出阻抗
中兴通讯总裁徐子阳用加减乘除法则妙喻5G网络建设
什么是测量传感器?和敏感器、检测器有什么区别?
数据块(DB)的结构
捷易科技智能点名球:让班级管理更高效、更智能的利器
中国人工智能产业初创公司现状 美国是唯一的对手
中汽创智:面向规模化量产的高阶智能驾驶系统研发与实践
研究人员成功研发一种电动汽车电池充电技术
五分钟了解欧蓝德CVT变速箱结构
电线老化后的危害
Core i7-8086K内部依然是硅脂导热,极限超频可达7.24GHz
对Cortex-A53处理器的性能分析及特点概述
科技赋能城市建设,英特尔正式发布智慧社区解决方案参考架构
安卓的卡顿与耗电逐渐成为历史,Android 7.0 流畅性超越iOS 10
适于定制布线和多相区分可重新接线式IEC连接器
川富电子提醒您选购pogopin连接器需了解的3个参数
晶科能源累计出货量达52GW 下一波战场将从400瓦杀入500瓦
BPI-R2 Pro 开源路由器Rockchip RK3568 Quad-core ARM Cortex-A55 CPU,支持2个USB3.0接口,5个千兆网口