[西门子] S7-1200 -1500 SCL编程入门基础(一)

[复制链接]
查看195 | 回复0 | 2024-9-14 12:14:27 | 显示全部楼层 |阅读模式
>

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系统手册》


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则