SCL语言鄙视链,怎么学习语言?|高级编程
2021-07-30
写在我面前
大家好,我是号主小智的前同事李梦欢~
据说程序员之间存在着语言蔑视的链条。学汇编语言的人站在高处,鄙视一切。学C/C++的人鄙视JAVA和C#,然后JAVA和C#互相鄙视。其实搞PLC的人也有类似的鄙视链。 ,搞ST或者SCL的鄙视FBD和LAD。对于从事西门子PLC的工程师来说,也许SCL就是高级编程。今天就来说说SCL~
想学SCL语言的朋友很多,其实不要想SCL或者ST语言有多大。
我们先来看看SCL语言是什么:SCL语言是一种结构化的文本,类似于计算机高级语言的编程方法,其语言规范解决了计算机语言。
S7-SCL(结构化控制语言)具有以下特点:
·1、 是一种类似的高级编程语言
·2、符合国际标准IEC -3
·3、基础认证
·4、适用于S7-300(以上推荐)、S7-400、S7-1200、S7-1500、C7和
· S7-SCL 针对 PLC 进行了优化。它不仅具有典型的PLC元素(如输入/输出、定时器、计数器、符号表),还具有高级语言的特性,如:循环、选择、分支、数组、高级函数。
S7-SCL 非常适合以下任务:
· * 复杂的计算函数
· * 复杂的数学函数
· * 数据管理
· * 流程优化
讲这些概念的东西很空洞,只要你明白,那么关键问题就在这里,怎么学?
我只是谈谈我自己的观点。一开始西门子编程语言scl,我想学习如何使用SCL指令。一开始我们可以用SCL来实现一些梯形图实现的功能,逐渐熟悉SCL基本指令的使用。 .
本文熟悉SCL的条件执行以及梯形图中一些最常用的启停电路的赋值指令的使用:
我们常用的启停梯形图,如下图所示:
上图是典型的梯形图。当信号为1,停止为0时,为1。
那么如何在SCL中表达:
这个操作表达式是什么?
(或)当运算结果为真时,停止为真。
另一种理解:is(or)和stop操作的结果被赋值。
SCL中的赋值指令是“:=”,(注意要用英文)西门子编程语言scl,所以上面的表达式写成SCL指令:
模拟如下:
那么如何用IF THEN语句编写程序?
if then 语句是条件执行指令,也就是说,如果满足条件,则执行 THEN 之后的指令。如果不满足这个条件,程序会从后面的下一条指令继续执行。
这个例子中的启动和停止过程是否可以理解为TRUE,设置为true,stop为true时重置为true。
因为SCL中没有set和,所以常用if then条件执行语句来实现set和。
那么这个例子中的程序使用IF THEN写成如下:
模拟如下:
就这么简单。
对于很多小伙伴来说,你可能会认为如果你掌握了SCL,即使你的工控水平不错,但在我看来,今天的自动化工程师并没有掌握C++等真正的高级语言, java、C#等网络知识扎实,所以当工业物联网的浪潮真正来袭时,我们猝不及防~
想上手的请关注今天下载的彩蛋:西门子SCL手册和官方培训PPT,详情见下图
获取方法见链接: