1

导读


前几天群里面给大家分享了一个使用SCL配合Array[*]设计的一个Modbus RTU通信的程序块,很多小伙伴在群里面讨论为啥要用SCL编程?SCL编程到底难不难学?用惯了梯形图编程的如何能够快速掌握SCL编程等等一些话题,其实SCL编程应不是和大家想想的那么难学,接下来给大家带来一些SCL编程中常用的一些小知识和小技巧,希望对大家学习SCL编程有所帮助。

SCL编程为结构化文本的编程,在西门子PLC中叫SCL编程,在其他的品牌的PLC中或是在IEEC6113-3的标准编程语言中称之为ST编程。结构化文本的编程具有共同性,可适合在不同品牌PLC中使用。

1

SCL编程中常见的运算符和逻辑表达式


运算符:SCL的运算符用于实现变量之间的运算,包括赋值运算,逻辑运算,数学运算,比较运算等,如下图所示

逻辑表达式:SCL编程中常用的逻辑表达式包括选择语句、循环语句,跳转语言等如下图所示

SCL编程序列内容(1)——简单例子快速上手SCL编程。

1

IF语句的用法示例


IF语句主要包含有IF语句,Else语言和ELSEIF语句,每条语句包含关键字 THEN、END_IF,后两者都不能独立使用需要使用IF语句的开头。

IF…THEN…END_IF:IF和THEN中的条件满足,则执行THEN…END_IF之间的程序,执行流程如下图所示:

IF…THEN…ELSEIF…THEN…END_IF:如果IF…THEN的条件满足,则执行THEN…ELSEIF 之间的程序,若条件不满足,则判断ELSEIF…THEN的条件是否满足,若满足则执行 THEN…END_IF之间的程序。执行流程如下图所示:

IF…THEN…ELSE…TEND_IF:若IF…THEN之间的条件满足,则执行THEN…ELSE之间的程序,若不满足则执行ELSE…END_IF之间的程序。执行流程如下图所示:

下面结合梯形图程序举例来说明IF语句的使用。

示例:电机启动和停止控制,梯形图才用起保停程序来实现,使用IF 和ELSEIF指令实现。

示例:电机的点动控制,梯形图中采用一个输入点对一个输出点进行控制,使用IF和Else指令实现,或是采用赋值的方法实现。

示例:电机的启动和停止控制,梯形图采用置位和复位方法,SCL中采用IF指令实现

为了满足一些更复杂的控制,IF语言可以使用嵌套的方式,实现更复杂的一些。