概述
SCL-Structured Contorl Language(结构化控制语言)是一种用于S7自动化系统的高级文本编程语言。
借助SCL,可以简化控制技术领域复杂的计算、算法、数据管理和数据组织等编程工作。
代码语言:javascript复制 #tTimeout(IN := #Data.iState[0] = 1,
PT := #tOut);
IF #tTimeout.Q THEN
//#Data.iState[0] := 2;
#Data.LAST_MSG.LST_RESPONSE_ERROR[0] := 3002;
END_IF;
编程标准
SCL符合语言标准DIN EN-61131 Part3(国际标准IEC1131-3)。
DIN EN-61131 Part3(国际标准IEC1131-3)对可编程控制器
的编程语言实现了标准化。SCL的基础是该标准中的ST“结构化文本”
部分。
SCL类似于Pascal,具备高级标称语言的所有优势。SCL除了有
清晰的控制结构和丰富的数据概念,还拥有例如过程和函数等重要
内容。因此采用了SCL,可以编制结构清洗,易读性好的程序。
应用领域
Ø复杂的数学函数功能,例如:调节器Ø数据管理Ø配方管理Ø具有大量分支和循环结构的程序
特点
Ø易于掌握Ø可短时间开发易读性更好的程序Ø可间接地描述复杂的算法Ø支持S7中的块和数据类型等概念Ø与S7语言(LAD、FBD、STL)实现系统集成
概述
一个SCL程序块可以包含任意个块:如OB块、FB块、FC块、DB块和UDT块。
TIA Portal中SCL程序里可以任意拖拽FC、FB块在程序中调用,然后给相关引脚赋值。
指令部分
程序段(OB、FB、FC)被调用后,块的指令部分包含的指令将
被执行。这些指令的作用是处理数据和地址。对于数据块,指令还
可以将某些值保存在数据块中。
各种指令可以归纳为赋值、控制指令、逻辑运算三类:
Ø赋值:用来将某个表达式或某个值赋给某个变量;Ø控制指令:用来在程序中实现分支或重复执行指令;Ø逻辑运算:用来调用函数和功能。
指令部分注意事项
采用指令进行编程时,需要注意:
ØØ每一个指令都以一个分号为结束;Ø指令使用时的格式应该严格注意,空格,符号不能错误。
控制指令
概述
借助控制指令,可以改变正常的指令执行顺序。控制指令大致分为三类,分别是条件指令、循环指令和跳转指令。
Ø采用条件指令(IF和CASE指令)可以选择不同的程序执行路径;Ø循环指令(FOR、WHILE和REAPEAT指令)用于重复地执行指令;Ø跳转指令(CONTINUE、EXIT)可以中断执行顺序并跳转至某个点继续执行。