SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。

今天讲解西门子博途软件中使用SCL语言编写一个电气工程师面试中经常会碰到的一个程序。控制逻辑:按钮I0.0, 灯1 Q0.0,灯2 Q0.1,灯3 Q0.2。按第一次灯1亮,第二次灯2亮,第三次灯3亮,第四次三个灯全灭,要求只用触点线圈指令完成此程序。

首先在项目树中添加一个FB函数块,选择语言为SCL。打开FB块后,在指令列表中可以看到SCL的指令。 SCL 除了包含 PLC 的典型元素(例如,输入、输出、定时器或存储器位)外,还包含高级编程语言。表达式,赋值运算,运算符,程序控制。这些只需使用条件执行语句和赋值运算即可完成此程序。

第一段程序:

1. 按钮第一次按下时,灯1亮且自保持。

2.NOT #LP4是用于第四次按下按钮时灯1,2,3灭。

3.第一次按钮松开时lp1值为1,用于记住按钮松开的状态。

西门子scl编程实例讲解(西门子SCL编程实例)(1)

第二段程序:

1.第二次按下按钮时,灯2亮。

2.第二次按钮松开时lp2值为1。

西门子scl编程实例讲解(西门子SCL编程实例)(2)

第三段程序:

1.第三次按下按钮时,灯3亮。

2.第三次按钮松开时lp3值为1

西门子scl编程实例讲解(西门子SCL编程实例)(3)

第四段程序:

1.第四次按下按钮时,灯1,2,3全灭。用lp4断开灯1后,其它灯依次断开

2.第四次松开按钮,接通lp5,然后再断开lp4,lp5,便于再一次启动。

西门子scl编程实例讲解(西门子SCL编程实例)(4)

在OB1中调用FB3函数块,自动生成一个FB3的背景数据块DB5,通过按钮I0.0测试,灯1,2,3的通断符合控制要求

西门子scl编程实例讲解(西门子SCL编程实例)(5)

此程序用计数指令,移位指令,置位复位指令或者比较传送指令都可以完成。在面试时会要求只使用线圈触点指令完成程序,这样增加了难度,更能考验逻辑思维能力。

,