西门子SCL的使用区间(Region)编程实例

2024-01-11  

功能

在 SCL 中,可在区间内构建程序代码。由于集成了相关程序段而且可根据需要对区间进行灵活展开和折叠,因而程序代码更为清晰直观。在区间总览窗口中,可快速查看各个区间。区间总览窗口位于编程窗口旁边,可根据需要打开或关闭。


下图显示了区间总览窗口和编程窗口:

ed4c0e76-8459-11ee-939d-92fbcf53809c.png

区间总览图中,还将显示存在语法错误的区间。这样,即可快速确定故障代码所在位置并进行相应修正。

要在区间中编写程序段,可将程序段包含在关键字“REGION”和“END_REGION”中。根据突出显示关键字中的设置,相应的关键字可以为“region”和“end_region”,也可以是“Region”和“End_Region”。这些关键字可根据当前的设置进行自动转换。要查找关键字“REGION”和“END_REGION”的配对部分,可单击“REGION”或“END_REGION”。系统将高亮突出显示这两个关键字。

可为每个区间指定一个名称,具有以下诸多优势:

指定块名称为可选操作。

语法

可通过以下语法,可在区间内构建程序段:

 
REGION 或 (/**/)

END_REGION

使用区间时,请注意以下信息:

关键字 "REGION" 和 "END_REGION" 必须在一行的起始位置。这些关键字之前,仅允许插入空格。

关键字“END_REGION”的所有字符将认作为注释信息,因而不影响程序的执行。

所有指令的执行都必须在一个区间内完成。

在 CASE 语句内,该指令可用区间进行包围。用于比较 CASE 语句的常量需位于区间之外。这些区间不得包含多个分支。

以下示例显示了 CASE 语句中允许的区间用法:

CASE OF

: REGION END_REGION

: REGION END_REGION

ELSE REGION END_REGION

END_CASE

以下示例显示了 CASE 语句中不允许的区间用法:

CASE OF

REGION : END_REGION

: REGION END_REGION

ELSE

END_CASE

CASE OF

: REGION

: END_REGION

ELSE

END_CASE

在这些情况下,区间内的常量将解释为可通过 GOTO 命令到达的跳转标签,但 CASE 本身不会执行这些跳转标记。

也可以对这些区间进行嵌套。但需确保其它区间中包含的区间可成功执行:

 
REGION

REGION

END_REGION

REGION
REGION

END_REGION
REGION

END_REGION
END_REGION

区间折叠时也会显示该名称。这样,可确保程序代码的清晰显示。

在区间的总览窗口中,可轻松识别各个区间并快速导航到指定区间处。

如果将该名称插入为多语言注释,则可将该名称翻译为其它项目语言。为此,需使用字符串“(/*”和“*/)”包围该名称。但只能将该名称作为插入为不可翻译的名称或多语言注释。请注意以下事项:

另请参见:“使用多语言项目”

不允许混用普通名称和多语言注释。

多语言注释名称不能扩展为多行。

如果区间名称为多语言注释,也可以复制区间。如果该名称已存在翻译,则也会应用于区间副本。如果之后更改了区间的名称,则将使用当前编辑语言进行更改。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。