[西门子] 西门子博途软件SCL指令之程序控制指令详解(上)

[复制链接]
查看60426 | 回复0 | 2024-2-28 09:30:17 | 显示全部楼层 |阅读模式


西门子博途软件SCL指令的程序控制指令有很多个,如下图,本次详细介绍这些SCL语言指令的用法:



1.条件执行指令



执行原理:

如果满足该条件,则将执行 THEN 后编写的指令,后续条件不满足,结果仍然保持。如果不满足该条件,则将执行 ELSE 后编写的指令。程序将从 END_IF 后的下一条指令开始继续执行。

2.条件分支指令



执行原理:

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则将执行 ELSE 后编写的指令。程序将从 END_IF 后的下一条指令开始继续执行。

3.条件多分支



执行原理:

如果满足第一个条件(条件1),则将执行 THEN 后的指令(结果1)。执行这些指令后,程序将从 END_IF 后继续执行。

如果不满足第一个条件,则将检查第二个条件(条件2)。如果满足第二个条件(条件2),则将执行 THEN 后的指令(结果2)。执行这些指令后,程序将从 END_IF 后继续执行。

如果不满足任何条件,则先执行 ELSE 后的指令(不满足所有条件情况时的结果),再执行 END_IF 后的程序部分。

在 IF 指令内可以嵌套任意多个 ELSIF 和 THEN 组合。可以选择对 ELSE 分支进行编程。

4.多分支选择



指令参数如下:

下表列出了该指令的参数:

序号

数据类型

存储区

说明

1

位字符串、整数

I、Q、M、D、L

与设定的常数值进行比较的值。

2

位字符串

-

若为位字符串,则常数可以为以下值:

二进制数(例如,2#10)

八进制数(例如,8#77)

十六进制数(例如,16#AD)

未定型的常数(例如,1000)

如果为典型字节变量,则字节常数(例如,BYTE#2)必须进行编程。

如果为典型 WORD 变量,则字节或 WORD 常数(例如,BYTE#2、WORD# 2)必须进行编程。

如果为典型 DWord 变量,则字节、WORD 或 DWord 常数(例如,BYTE#2、WORD#2、DWORD#2)必须进行编程。

如果为典型 LWord 变量,则字节、WORD、DWord 或 LWord 常数(例如,BYTE#2、WORD#2、DWORD#2、LWORD#2)必须进行编程。

整数

若为整数,则常数可以为以下值:

整数(例如,5)

整数范围(例如,15 到 20)

由整数和范围组成的枚举(例如,10、11、15 到 20)

3

-

-

当表达式的值等于某个常数值时,将执行的各种指令。如果不满足条件,则执行 ELSE 后编写的指令。如果两个值不相等,则执行这些指令。

执行原理:

与序号“1”进行比较,再确定进入对应的通道。

此外,CASE 指令也可通过使用 CASE 替换一个指令块来进行嵌套。END_CASE 表示 CASE 指令结束。

5.退出块



执行原理:使用“退出块”指令,可以终止当前处理块中的程序执行,并在调用块中继续执行。(这条指令后的内容不扫描不执行,这条指令前的内容不受影响)

如果该指令出现在块结尾处,则可以跳过。

6.组织源代码



执行原理:

可以使用指令“构建程序代码”,在 SCL 块中构建程序代码并将其分为几个不同区域。

7.插入一个注释段



说明:可以通过“插入注释段”指令添加一个注释段。括号内“(*...*)”的文本将处理为注释信息。

8.插入多语言注释



说明

使用指令“插入多语言注释”时,可插入一条可翻译为其它项目语言的注释信息。多语言注释是一个以“(*”开始,以“*)”结束的单元。即,只能对整个注释进行标记或选择,而不能选择其中一部分。多语言注释不能相互嵌套,但在注释行和注释段中使用。所不同的是,在多语言注释中不能使用注释行或简单的注释段。这是因为,系统会将“(/*”与“*/)”之间的所有内容均解释为常规文本消息。

—THE END—

点点在看给小编加个鸡腿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则