指令
SCL是结构化控制语言。博途默认支持SCL,在建立FB、FC等程序块时,可以直接选择SCL。SCL类似计算机高级语言,如果有C、Java、C++、Python等高级语言的学习经历,学习SCL就会容易很多。
1.SCL的输入/输出变量
SCL共有Input、Output、InOut、Static、Temp和Constant等输入/输出变量需要定义。其数据类型主要有:
(1)布尔型:Bool,1位;
(2)字节:Byte,1个字节;
(3)整数:Int,2个字节;
(4)长整数:Dint,4个字节;
(5)字:Word,2个字节;
(6)长字:DWord,4个字节;
(7)浮点数:Real,4个字节;
(8)字符:Char,1个字节;
(9)字符串:String[XX],XX+2个字节;
(10)数组定义:Array[X..X]of类型。
2.SCL指令的规范
(1)一行代码结束后要添加英文分号,表示该行代码结束。
(2)所有代码都为英文字符,在英文输入法下输入字符。
(3)可以添加中文注释,注释前先添加双斜杠,即“//”。这种注释方法只能添加行注释,段注释要插入一个注释段。
(4)变量需要在双引号内,定义好变量后能辅助添加。
3.SCL赋值指令
赋值是比较常见的指令,SCL赋值指令的格式:一个冒号加等号,即“∶=”
梯形图与SCL指令的对比如下图
4.SCL位逻辑运算指令
SCL的常用位逻辑运算指令有:
(1)取反指令:NOT,与梯形图中的NOT指令用法相同。
(2)与运算指令:AND,相当于梯形图中的串联关系。
(3)或运算指令:OR,相当于梯形图中的并联关系。
(4)异或运算指令:XOR,梯形图的字逻辑运算中有异或运算指令,没有Bool的异或指令。
5.SCL数学运算指令
SCL数学运算指令与梯形图中的用法基本相同,但助记符不同,常用的数学运算指令有:
(1)加法:用符号“+”运算;
(2)减法:用符号“-”运算;
(3)乘法:用符号“∗”运算;
(4)除法:用符号“/”运算;
(5)取余数:用符号“MOD”运算;
(6)幂:用符号“∗∗”运算。
其他数学运算指令包括SIN、COS、TAN、LN、LOG、ASIN、ACOS、ATAN等。
6.SCL条件控制指令
SCL常见的条件控制指令有IF...THEN、CASE...OF...等。以IF...THEN为例,其格式说明如下:
SCL条件控制指令常会用到变量比较,如>、>=、<、<=、=等,也会用到逻辑符号,如AND、OR、NOT等。
7.SCL循环控制指令
SCL循环控制指令分别为FOR、WHILE...DO、REPEAT...UNTIL。
(1)FOR指令
(2)WHILE...DO指令
(3)REPEAT...UNTIL指令
SCL循环控制指令会经常与条件控制指令配合使用。

