>
S7-1200-1500 SCL编程入门基础(一) 一、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 案例之设备手自动控制) (参考文章:S7-1200 -1500 案例之设备分时分段控制) (参考文章:S7-1200-1500 案例之两台设备周期循环控制) (参考文章:S7-1200-1500案例之设备定时周期循环控制) 感谢您点赞、分享、给小编加鸡腿。 如需程序源码请打赏小编或私信留言。 参考文献:《STEP7和WinCC Engineering V15.1系统手册》
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |