产品描述
6AV2105-0RA07-0AA0 6AV2105-0RA07-0AA0 6AV2105-0RA07-0AA0
SIMATIC WinCC RT Professional, 153600 个授权 PowerTag 过程变量 17 版, TIA 博途中的运行时软件, 单独许可证, DVD 上的软件和文档, U 盘上的许可证密钥, A 级, 5 种语言(德语,英语,法语,西班牙语,意大利语), 请注意产品版本: support.industry. 零件标识码:109771219 ******************************* 内容:套组(2x DVD + 1x USB)
SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同。只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这些不同的。
SCL特殊的指令有以下几种,如图3红框中的指令:
图1 读写存储器
图2 转换操作
图3 程序控制指令
在这三部分中,读写存储器的PEEK POKE指令可以参考链接,转换操作可以参考链接,这里只介绍图3的程序控制指令。
程序控制指令见以下表格。
程序控制语句 | 说明 | |
---|---|---|
选择 | IF-THEN语句 | 用将程序执行转移到两个备选分支之一(取决于条件为 True 还是 False) |
CASE语句 | 用于选择执行 n 个备选分支之一(取决于变量值) | |
循环 | FOR语句 | 只要控制变量在*值范围内,就重复执行某一语句序列 |
WHILE-DO语句 | 只要仍满足执行条件,就重复执行某一语句序列 | |
REPEAT-UNTIL语句 | 重复执行某一语句序列,直到满足终止条件为止 | |
程序跳转 | CONTINUE语句 | 停止执行当前循环迭代 |
EXIT语句 | 无论是否满足终止条件,都会随时退出循环 | |
GOTO语句 | 使程序立即跳转到*标签 | |
RETURN语句 | 使程序立刻退出正在执行的块,返回到调用块 |
程序控制指令是SCL编程的基础,接近高级语言的指令,虽然这些功能通过LAD/FBD也可以实现,但使用SCL编写会更加方便,逻辑条理也更加清晰。
说明:使用"条件执行"指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(True 或 False)的表达式。可以将Bool变量、逻辑表达式或比较表达式作为条件。
执行该条件执行指令时,将对*的表达式进行运算。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件。
参数
根据分支的类型,可以对以下形式的指令进行编程:
IF...THEN... 分支:
IF <条件>
THEN <语句1>END_IF;
图4 IF...THEN... 分支
如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后的下一条指令开始继续执行。
IF...THEN... ELSE...分支:
IF <条件>
THEN <语句1>ELSE <语句2>
END_IF;
图5 IF...THEN... ELSE...分支
如果满足该条件,则将执行 THEN 后编写的语句。如果不满足该条件,则将执行 ELSE 后编写的语句。不论执行哪一个语句,之后都将从 END_IF 后的下一条指令开始继续执行。
IF...THEN... ELSIF...分支:
IF <条件1>
THEN <语句1>
ELSIF <条件2>
THEN <语句2>
END_IF;
图6 IF...THEN... ELSIF...分支
如果满足条件1,则将执行 THEN 后的语句1,执行这些语句后,程序将从 END_IF 后继续执行。
如果不满足条件1,则将检查条件2。如果满足条件2,则将执行 THEN 后的语句2。执行这些语句后,程序将从 END_IF 后继续执行。
如果不满足任何条件,则直接执行 END_IF 后的程序部分。
在 IF 指令内可以嵌套任意多个 ELSIF 和 THEN 组合。可以选择对 ELSE 分支进行编程。
参数
下表列出了该指令的参数:
参数 | 数据类型 | 存储区 | 说明 |
---|---|---|---|
<条件> | BOOL | I、Q、M、D、L | 待求值的表达式。 |
<语句> | - | 在满足条件时,要执行THEN后的语句。如果不满足条件,则执行 ELSE 后编写的语句。 |
示例
图7 IF示例
下表展示了不同的操作数数值对目标变量的影响:
操作数 | 值 | |||
---|---|---|---|---|
"Tag_1" | True | False | False | False |
"Tag_2" | False | True | False | False |
"Tag_3" | False | False | True | False |
"Tag_Value" | 10 | 20 | 30 | 0 |
产品推荐
友情链接