摘要:相对于西门子 PLC 的其它类型编程语言,S7-SCL 与计算机高级编程语言有着非常相近的特性,只要使用者接触过 PASCAL 或者 VB 编程语言,实现 S7-SCL 的快速入门是非常容易的。
一、S7-SCL编程语言简介
相对于西门子 PLC 的其它类型编程语言,S7-SCL 与计算机高级编程语言有着非常相近的特性,只要使用者接触过 PASCAL 或者 VB 编程语言,实现 S7-SCL 的快速入门是非常容易的。
1.S7-SCL(Structured Control Language 结构化控制语言) 具有以下特点:
是一种类似于PASCAL的高级编程语言符合国际标准IEC 61131-3PLCopen基础级认证适用于 S7-300 (推荐CPU314以上), S7-400,S7-1200,S7-1500, C7 and WinACS7-SCL 为 PLC 做了优化处理,它不仅仅具有 PLC 典型的元素(例如 输入/输出,定时器,计数器,符号表),而且具有高级语言的特性, 例如:循环, 选择,分支,数组 ,高级函数。
2.S7-SCL 的安装与使用
STEP7 标准版并不包括 S7-SCL 软件包及授权,需单独购买,STEP7 Professional 版包括了S7-SCL 的软件包及授权,安装即可。在 S7 程序中,S7-SCL 块可以与其它STEP7 编程语言生成的块互相调用。S7-SCL 生成的块也可以作为库文件被其它语言引用。由于 S7-SCL 程序由 ASCII 文本构成,所以它非常容易被导入或导出。
3.S7-SCL 软件兼容性
X表示兼容 - 表示不兼容
4.SCL在博途软件中的适用性
TIA portal中不同型号PLC使用SCL的可行性:
博途软件本身已经集成SCL语言包。因为V11以上才支持S7-300/400,V12以上支持S7-1500,根据软件的产品发布通知总结如下:
S7-300/400从STEP 7 Professional V11开始支持使用SCL语言S7-1200从STEP 7 V11 SP2开始支持使用SCLS7-1500从STEP 7 Professional V12开始支持使用SCL在STEP7 V5.5以下编程软件中,更多内容请参考S7-SCL 编程语言的详尽手册
在安装 S7-SCL 软件包后,通过点击 Windows 菜单 开始->Simatic->Documentation->English 可以阅读到名为"S7-SCL for S7-300 and S7-400 "的 PDF 手册。此手册共分为 16 个章节,其详细地讲解了 S7-SCL 编程语言。一切关于 S7-SCL 使用的问题请以此手册为准。
博途软件请参考软件的帮助信息
SCL 是西门子公司弄出来的一种 PLC 编程语言(也就是 Structured Control Language 结构化控制语言),它是一种依照 PASCAL 的高级编程语言。这种语言是依据标准 DIN EN 61131-3(国际标准是 IEC 61131-3)来的。
IEC 61131-3 把 PLC 的编程语言、语法、程序结构、数据类型、指令、函数等等跟编程有关的各个方面都讲清楚了,给 PLC 编程给出了清楚明白、能实际操作的指导。
IEC 61131-3制定了5种PLC编程语言,包括:
● 梯形图(Ladder Diagram,LD);
● 功能块图(Function Block Diagram,FBD);
● 顺序功能图(Sequential Function Chart,SFC);
● 指令表(Instruction List,IL);
● 结构化文本(Structured Text,ST)。
二、SCL语言特点:
● 符合 IEC61131-3 这个国际编程标准,SCL 编程语言达到了该标准里说的 ST 语言(结构化文本)的 PLC open 初级水平;
● 支持像 BOOL、BYTE、WORD、DWORD、REAL 这些基本数据类型(比如说:布尔型、字节、字、双字、整数、浮点数等等);
● 支持像 Date、ARRAY[0…7] of INT、UDT 这样的复杂数据类型(比如说:日期时间、字符串、数组、指针、用户自定义类型等等);
● 支持算术表达式,像加、减、乘、除、模运算、幂运算(比如说:Variable A := Variable B * Variable C);
● 支持关系表达式,比如大于、小于、等于、不等于、大于等于、小于等于(比如说:Variable A
Variable B + Variable C);
● 支持逻辑表达式,像与 AND、或 OR、非 NOT、异或 XOR(比如说:”PumpData”.M1.DeviceOK := “PumpData”.M1.Power AND “PumpData”.M1.”Remote” AND NOT “PumpData”.M1.Fault);
● 支持像加+、减-、乘*、除/、模运算 MOD、幂运算**这样的运算符(比如说:#isLeapYear := (#Year MOD 4 = 0 AND #Year MOD 100
0) OR (#Year MOD 400 = 0););
● 支持像 IF…THEN、CASE…OF…、FOR…TO…DO…这样的程序控制指令(比如说:IF #isLeapYear THEN#leapYearsCount := #leapYearsCount + 1;ELSE#commonYearsCount := #commonYearsCount + 1;END_IF;);
● 支持对 CPU 的各种存储区进行读写(比如说:输入/输出映像区、定时器、计数器、位存储器等等);
● 支持基本指令、扩展指令、工艺指令以及通信指令等等;
三、SCL适用于下列应用领域:
● 数据管理;
● 过程优化;
● 配方管理;
● 数学计算/统计任务;
● 通信处理;
复杂运算功能复杂数学函数数据管理过程优化程序片段
程序片段
四、SCL编程小实例:(点动与自锁)
1、电机点动控制:
编写程序
下载测试
2、电机自锁控制:
LAD编程
SCL编程方法1
SCL编程方法2
S7-1200-1500 SCL编程入门基础(一) PLC论坛-全力打造可编程控制器专业技术论坛 -
来源:PLC技术玩