深入解析西门子博途文本块接口的结构与功能

发布者:EtherealBeauty最新更新时间:2025-01-08 来源: elecfans关键字:西门子 手机看文章 扫描二维码
随时随地手机看文章
① 块声明在块声明中,定义块的名称与类型
② 声明部分在声明部分, 声明该块的参数和局部数据。声明部分已输入到空白块接口中。但用户可根
据需要进行移动、复制或删除各部分。
③ 侧栏在侧栏中,可设置书签。
④ 行号行号将显示在声明部分的左侧。

 

6aa6b544-f735-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000

块声明和返回值使用的语法如下:

 

块类型语法示例
函数 (FC)FUNCTION <名称> [:返回值数据类
型>]<声明>
FUNCTION 'My_Function' : Int
FUNCTION 'My_Function' : Void
函数块 (FB)FUNCTION_BLOCK <名称><声明>FUNCTION_BLOCK 'My_FunctionBlock'
组织块 (OB)ORGANIZATION_BLOCK <名称><声明>ORGANIZATION_BLOCK
'My_OrganizationBlock'

 

文本块接口分为不同的声明部分, 各声明部分的特征通过关键字对描述。允许使用不同部分,具体视块类型而定。
声明部分的顺序不重要。一个部分可在块接口中出现多次。
在下表中,列出了声明部分使用的语法结构:

 

声明部分语法
Input 参数VAR_INPUT []
<声明>
END_VAR
Output 参数VAR_OUTPUT []
<声明>
END_VAR
In/out 参数VAR_IN_OUT []
<声明>
END_VAR
临时局部数据VAR_TEMP
<声明>
END_VAR
静态局部数据VAR []
<声明>
END_VAR
常量VAR CONSTANT
<声明>
END_VAR
属性含义
RETAIN此部分中的变量具有保持性,即电源故障后变量值仍然可用。
DB_SPECIFIC在背景数据块中,可设置保持性。

 

声明变量和常量所用的语法如下:

 

声明语法示例
变量<名称> : <数据类型> [:= <值>];myBit : BOOL;
myBit : BOOL := true;
常量<名称> : <数据类型> := <值>;PI : REAL := 3.141592;
myInt: INT := INT#16#7FFF;
myString: STRING := 'hello';
AT 声明<名称> AT <引用变量名称> : <数据类型>;myReferenceToVar2 AT Var_2 :
Int;

 

ARRAY 声明
ARRAY 数据类型表示一个由数目固定且数据类型相同的元素组成的数据结构
声明 ARRAY 所用的语法如下:

 

声明语法示例
ARRAY<名称> : ARRAY [下限..上限] OF <数据类型> := [<初
始化列表>];
MyARRAY_1 : ARRAY[0..7] OF
BOOL;
MyARRAY_1 : ARRAY[0..7] OF
BOOL := [1,1,0,0,0,1,0,0];
限值可变的
ARRAY
<名称> : ARRAY [*] OF <数据类型>;MyARRAY_1 : ARRAY[*] OF INT;
MyARRAY_2 : ARRAY[*, *, *] OF
INT;
局部常量作
限值的
ARRAY
<名称> : ARRAY [#<常量名称>..#<常量名称>] OF <数
据类型> := [<初始化列表>];
MyARRAY_1 :
ARRAY[#LocConst1..#LocConst2]
OF INT;
MyARRAY_2 :
ARRAY[1..#LocConst] OF INT;
MyARRAY_3 :
ARRAY[1..#LocConst] OF INT :=
[1,1,0,0];
全局常量作
限值的
ARRAY
<名称> : ARRAY ['<常量名称>'..'<常量名称>'] OF <数
据类型> := [<初始化列表>];
MyARRAY_1 :
ARRAY['GlobConst1'..'GlobCons
t2'] OF INT;
MyARRAY_2 :
ARRAY[1..'GlobConst',
2..5,#l..#u] OF INT;
MyARRAY_3 :
ARRAY[1..'GlobConst'] OF
INT:= [1,1,0,0];
STRUCT 数
据类型
ARRAY
<名称> : ARRAY[下限..上限] OF Struct
<元素名称> : <数据类型>;
<元素名称> : <数据类型>;
...
END_Struct := [<初始化列表>];
MyARRAY_1 : Array[0..1] OF
Struct
mem_1 : Int;
mem_2 : Int;
END_STRUCT := [ (2,4),
(22,44) ];
UDT 数据类
型的 ARRAY
<名称> : ARRAY[下限..上限] OF '' := [<参
数列表>];
MyARRAY_1 : Array[0..1] OF
MyType := [ (2,4),(22,44) ];

STRUCT 声明

STRUCT 数据类型是指一种元素数量固定但数据类型不同的数据结构。

也可以基于 PLC 数据类型 (UDT) 创建结构。为此,需将 PLC 数据类型指定为一个结构化数据

类型。小系统将通过工具提示,显示该 PLC 数据类型的各个元素。

 

声明语法示例
STRUCT<名称> : Struct
<元素名称> : <数据类型> [:= <值>];
<元素名称> : <数据类型> [:= <值>];
...
END_Struct := (<初始化列表>);
myStruct : Struct
mem_1 : Int;
mem_2 : Int;
mem_3 : BOOL;
END_Struct := (6,0, TRUE) ;
基于 PLC 数
据类型
(UDT) 的
STRUCT
<名称> : '' := (<初始化列表>);myStruct : 'myType' := (6,0,
TRUE);

 

STRING 和 WSTRING 的声明

STRING 和 WSTRING 数据类型存储一个字符串中的多个字符。允许在字符串中使用任何 ASCII码类型的字符。这些字符将使用一个单引号括起。

可选择指定初始化字符串的默认值。

操作数声明期间, 可在关键字 STRING 或 WSTRING 后使用方括号(例如 WSTRING[4])指定字符串的最大长度。要声明最大长度,则可输入一个绝对值或使用局部/全局常量。

如果未指定最大长度,则相应的操作数长度设置为标准的 254 个字符。

 

声明语法示例
STRING: STRING [:=
];
myString: STRING;
myString: STRING := 'hello';
WSTRING: WSTRING [:=
];
myWstring: WSTRING;
myWstring_var: WSTRING :=
'helloWorld';
长度为定义的最大值
的 STRING
:
STRING[[Constant]];
myString: STRING[10];
myString: STRING['globConst'];
myString: STRING[#locConst];

 

例如:

6ac4f6d0-f735-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000


关键字:西门子 引用地址:深入解析西门子博途文本块接口的结构与功能

上一篇:三菱PLC:继电器电路到梯形图的转换技巧
下一篇:实现更高效运行,直流电机对驱动技术有何要求

推荐阅读最新更新时间:2026-03-19 20:43

如何在西门子博途中组态SIPLUS极端组件?
【导读】本文阐述在博途中如何组态用于极端环境条件下的订货号为(6AG1*/6AG2*)的SIPLUS极端组件。 概述 大部分的SIPLUS极端模块可以在博途硬件目录中作为单独的组件找到。此外新模块正在不断添加到硬件目录,可以将缺少的 SIMATIC ET200SP 得输入输出模块的 GSD文件添加到 STEP 7中。当前 SIMATIC ET200SP 包括FROFlsafe 的输入输出模块的 PROFINET GSD文件的下载链接如下: https://support.industry.siemens.com/cs/document/57138621/profinet-gsd-files-i-o-et-200sp?dti=0
[嵌入式]
如何在<font color='red'>西门子</font><font color='red'>博途</font>中组态SIPLUS极端组件?
西门子博途在线分配(Online assignment) 应用
“ 在线分配” (Online assignment) 选项卡 在 I/O 通信表格中,可查看选项卡“离线组态”(Offline configuration) 和“ 在线分配”(Online assignment)。在“在线分配”(Online assignment) 选项卡中,可将离线分配的 PROFINET设备名称在线分配给相应 IO 设备。为此,可点击按钮“检查设备”(Check devices) “立即分配”(Assign now) 。 “在线分配”(Online assignment) 选项卡中,表格中所显示的对象取决于过滤器功能的设置。如果只显示所选择的对象,则将根据网络视图中的选择显示符合条件的对象。 ●
[嵌入式]
<font color='red'>西门子</font><font color='red'>博途</font>在线分配(Online assignment) 应用
西门子博途:SCL中FB模块的结构
模块FB是用于控制执行器和单元的功能模块或执行某一功能的其他FB的块。 VASS库中不可用的块必须由系统供应商与负责的标准化电气工程部门协商创建。 模块组件通常是用编程语言S7-SCL创建的。 FB的结构 块中必须遵守细分为以下区域的规定:  更改日记账  配置位说明  检查可视化按钮  控制输出的程序部分  消息评估  ProDiag的监督分配  准备用于可视化的符号标签  动画导航 本节中的数字来自模块FB: FB 400:FB_Ventil模块FB阀 如果作为示例示出的功能不包含在FB 400中,则使用来自其他块的图。 更改日记账 在VASS标准中,模块FB的变更日志包括以下内容:  版权信息  更改
[嵌入式]
<font color='red'>西门子</font><font color='red'>博途</font>:SCL中FB模块的结构
西门子博途:Graph中的报警组态方法与技巧
1 建立一个Graph程序,在步中增加连锁和监控条件 2 在监视属性中还可以编辑相关的报警文本内容 3 在监视属性中还可以编辑相关的报警文本内容 4 然后去组态Al arm 报警文本的结构。 在表格中,Ca te gory enabler中可以选择变量,当变量为True时,使能此类报警,当变量为False不使能此类报警。默认为不选择变量,使能所有报警类别。 5 Alarm text是组态报警文本的结构。可以通过后面的绿色箭头组态 如果没有特殊要求直接使用默认结构设置就可以显示详细的程序信息。 6 最后在Graph的Edit菜单中选择“Internal pa ram ete rs visible/ ac
[嵌入式]
<font color='red'>西门子</font><font color='red'>博途</font>:Graph中的报警组态方法与技巧
西门子博途:如何在LAD联锁中记录信号状态
实际值或初始值记录以及 PLC 代码视图 中符号表的操作数列表均需遵循相同的既定顺序。 以下示例显示了如何在 LAD 联锁中记录信号状态以及如何在 HMI 设备上列示操作数。 记录所有信号状态 信号状态将按照以下顺序写入静态参数 CRIT_LOC 或输出参数 T_CTIT 中: 在 HMI 设备的 PLC 代码视图中,所有操作数将按照该顺序进行列示: 符号名称 操作数 注释 Tag_1 如,%M2xy 自动模式 / 手动模式 Tag_3 接通电机 Tag_2 Interlock_1 Tag_1 自动模式 / 手动模式 Tag_5 手动切换 Tag_4 光栅 发生错误时的操作数列表 如果发生联锁错误,则
[嵌入式]
<font color='red'>西门子</font><font color='red'>博途</font>:如何在LAD联锁中记录信号状态
西门子博途SCL: FOR:在计数循环中执行
说明 使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。 也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。 通过指令“复查循环条件”(CONTINUE),可以终止当前连续运行的程序循环。通过指令“立即退出循环”(EXIT) 终止整个循环的执行。有关本主题的更多信息,请参见“另请参见”。 说明 有关运行次数和运行变量的信息 程序运行时无法更改运行次数。 出于性能原因,应在块接口的“Temp”部分中声明运行变量。此外,程序运行时不得更改运行变量。否则,该指令可能根据实施情况返回未定义结果。 FOR 语句的限制 编写不会导致死循环的“安全”FOR 语句时,请遵循以下规
[嵌入式]
西门子博途:S_PULSE:分配脉冲定时器参数并启动
说明 当输入 S 的逻辑运算结果 (RLO) 的信号状态从“0”变为“1”(信号上升沿)时,指令“分配脉冲定时器参数并启动”将启动预设的定时器。当输入 S 的信号状态为“1”后,该定时器在经过预设的持续时间 (TV) 后计时结束。如果输入 S 的信号状态在已设定的持续时间计时结束之前变为“0”,则定时器停止。这种情况下,输出 Q 的信号状态为“0”。 持续时间由定时器值和时基构成,且在参数 TV 处设定。该指令启动后,预设的时间值开始递减计数,直至为零。时基表示定时器值更改的时间段。当前定时器值在输出 BI 处以 BI 编码格式输出,在输出 BCD 处以 BCD 编码格式输出。 如果定时器正在计时且输入端 R 的信号状态变为
[嵌入式]
<font color='red'>西门子</font><font color='red'>博途</font>:S_PULSE:分配脉冲定时器参数并启动
西门子博途示例:组态具有访问保护的按钮
逻辑运算符用于布尔变量、常数和简单的、借助比较运算符构成的逻辑表达式的逻辑运算。 运算符 运算数的数量 说明 NOT 1 逆转 AND 2 逻辑 “ 与 ” 2 逻辑“ 或” EXOR 2 异 “ 或 ” 逻辑运算的运算数必须为 BOOL 类型。结果同样始终为 BOOL 类型。下表显示了可能存在的运算的结果: 操作 NOT A A AND B A OR B A EXOR B A
[机器人]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved