数据块(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
UC3855A/UC3855B高性能功率因数预调节器
Xilinx SDSoC支持16nm ZynqUltrascale+ MPSoC软件定义编程
浪潮信息以AI技术成功获得7项MLPerfTMAI训练冠军
AR和3D传感将是一个很大的催化剂 奇景光电2018年或迎来腾飞
小熊派携手意法半导体,发布基于OpenHarmony的折叠屏开发板
数据块DB的结构和应用实例分析
人工智能对全球数字经济发展产生了何种影响
生成式AI:技术革命新时代
650V IGBT4模块的性能参数介绍
国网安徽为加快智能电网和电力物联网的建设成立了能源互联网研究中心
华虹半导体在港交所发布公告
逆势增长 智能终端刺激中国MEMS市场需求
航天器低频电缆网的导线/电缆线的功能和选择
汽车电子中QT CAN总线的检测方法介绍
51晶振为什么是11.0592
信息流之战,从这七个细节来看,搜狗比百度差在哪里?
魅族激进的背后:PRO6多维倒退 略显躁动与不安
江苏电信利用5G技术成功破解了江阴港港口龙门吊监控的难题
小米电视再遇挫折,微鲸和暴风的电视业务在赶超
联想Moto G5上手照曝光:屏占比与iPhone 7相当