三菱st语⾔编程实例_详解STL、ST、SCL等PLC⾼级编程语
⾔的区别
pascal语言还有人用吗概念清晰,逻辑思路清晰,是搞⼀切⼯程技术的必备条件。从事⼯业控制,如果你对概念是模糊的,或是⼀知半解的,那么,你永远⽆法深刻理解各种知识,你永远都会疲于奔命!!就像很多棒槌说的,怎么我学了西门⼦S7-200SMART,再去学习西门⼦的S7-1200像换了⼀个品牌,还要重新学?所以,明确各种概念,是成为⼤神的必备条件。
虽然很多梯形图的铁杆粉丝进⾏了⼀轮⼜⼀轮的拉锯战,但是发现很多⼈连ST语⾔到底是什么都搞不清,喜欢ST语⾔的⼈也搞不太清什么是ST语⾔,今天就跟⼤家科普⼀下。
ST,是STRUCT TEXT 的缩写,是IEC61131-3标准制定的编程语⾔!!从字⾯理解,是结构化⽂本语⾔!很明显,它是为结构化编程⽽诞⽣的!!它以计算机的Pascal语⾔为基础,针对⼯业控制进⾏了⼀系列的优化和修改!!也可以认为它是根据C语⾔来的,但这种说法不太严谨,因为ST语⾔是不区分⼤⼩写的,⽽C语⾔严格区分⼤⼩写。这些都是根据⼯业控制的实际情况⽽制定的。
⽐如, Axis_Enable 和 AXIS_ENABLE 这两个变量,在ST语⾔中是没任何区别的,但在C语⾔中,可是完全不⼀样的。
提到⼯业4.0,提到⼯业⾃动化,西门⼦是⼀个绕不开的坎!!总之,它在⼯业⾃动化领域,就是泰⼭北⽃,少林武当!⽽西门⼦也是⾮常强势的,它推出的博途软件平台,并不是完全遵守IEC61131-3标准,⽽是略有修改,就好⽐武林⼤佬们⾃创武功或是修改前辈留下的武功。西门⼦推出了⾃⼰的编程语⾔,SCL(Structured Control Language)语⾔,也就是结构化控制语⾔,它其实和IEC标准制定的ST语⾔是⼀样的,只是在个别语法和功能块(FB)调⽤上,略有不同!!最需要主要的⽐如:
IF
语句 ;
END_IF;
在西门⼦的SCL中,END_IF是要加分号的,⽽在标准的ST语⾔中,是不⽤的。
所以,ST和SCL是⼀回事!!
⽽STL,是西门⼦在STEP7时代推出的语⾔,它不是STRUCT TEXT LANGUAGE的缩写,所以,它和ST语⾔完全没关系。STL语⾔是⼀种汇编语⾔,是⾯向机器底层的语⾔,可以直接操作寄存器,可读性不强,和80C51单⽚机的机器语⾔是⼀个层⾯。所以,它是⼀种低级语⾔,⽽ST,SCL都是中⾼级语⾔。
越⾼级的语⾔,可读性越好,越侧重于变量和算法,和硬件⽆关,⽽越低级的语⾔,越侧重于寄存器地址,和硬件关系紧密,并可以直接操作硬件,但可读性差,执⾏效率⾼。现在,西门⼦的博途平台是主推SCL的。
所以,STL和ST,SCL完全不是⼀回事,不可混为⼀谈,不要看上去都MOVE,都是英⽂,就认为是同⼀种东西!!这种思维⽅式,注定你会概念混乱的,⽽概念混乱,是从事⼯控⾏业的⼤忌!
还有⼀种语⾔IL,称之为指令表,它其实是梯形图的⼀种描述,是可以和梯形图相互转换的,根本不是⼀种编程语⾔,严格说来,它只是梯形图的⼀种表现形式。