PLC编程(ST)语言常用语句及功能简介
前文给大家简单的讲了一下IEC61131-3&GB/T15969.3,可编程序控制器-第3部分:编程语言。IEC 61131-3国际标准的编程语言包括5种语言。
今天给大家带来的是其中我本人认为使用最方便,最简化的ST语言。
文本编程语言"结构文本(Structured Text),ST"来源于编程语言Pascal。主要分为赋值语句,选择语句,迭代语句。本次将从ST语言的操作符以及ST语言的语句来描述ST语言。大家不要认为ST语言很难。从本人的使用感受上来说,一个IF语句就可以应付90%以上的应用场景。
ST语言的操作符
ST语言的操作符
ST语言的语句
赋值语句(比较、结果、调用)
赋值语句用表达式的求值结果替代单个或多个元素变量的当前值。赋值语句应包括:左侧的变量应用,接着是赋值操作符":=",其后是要求值的表达式。
选择语句(IF、CASE)
选择语句包括IF语句和CASE语句。选择语句基于所规定的条件,选择其组成语句之一(或一组)用于执行。
IF 语句规定,仅当相关的布尔表达式求值为1(真)时,才会执行一组语句。如果条件为假,不是没有语句执行,而是执行跟着ELSE关键字(或ELSIF关键字,若其相关布尔条件为真)的语句组。
CASE 语句由一个对基本数据类型(选择符)变量求值表达式和一个语句组列表组成,每组都可应用一个或多个直接量或枚举值或子范围值来标记。这些标记的数据类型应该与选择符变量的数据类型匹配,选择符变量的值应该可以和标号进行比较。它规定执行第一组语句,其范围之一包含选择符的计算值。如果选择符的值在任何情形的范围中都不出现,则执行跟有关键字ELSE(若它在CASE语句中出现)的语句序列。否则,不执行任何语句序列。
迭代语句(WHILE、REPEAT、EXIT、CONTINUE、FOR)
FOR 语句使得直到END_FOR 关键字的语句序列重复地执行,一系列的值被赋给FOR循环控制变量。控制变量、初始值和终值是相同的整数类型(例如:SINT、INT、DINT)的表示,而不应被任何重复的语句改变。FOR语句将控制变量从初始值向上或者向下增加到终值,其增量由表达式的值决定;如果省略了BY结构,那么增量的默认值为1。
WHILE 语句使得直到END_WHILE 关键字的语句序列重复地执行,直到相关的布尔表达式为假时才结束。如果表达式初始就为假,则根本不执行语句组。
REPEAT 语句使得直到END_REPEAT 关键字的语句序列重复地执行(至少一次),直到相关的布尔表达式为真时才结束。
CONTINUE 语句用来跳过本次循环中CONTINUE 语句之后直到本层循环结束符之间的剩余语句。
EXIT 语句要在终止条件满足以前终止循环,应使用EXIT 语句。当EXIT 语句位于嵌套的循环结构内时,应从EXIT 所在的最内层循环退出,即在跟随EXIT 语句的第一循环的终止符后(END_FOR 、END_WHILE 、END_REPEAT ),控制应传给下一个语句。
总结,在IEC 61131-3国际标准的编程语言中,ST语言作为一种高级的文本语言。熟悉并掌握它极大的提高工程师的编程效率。笔者经常将一些重复性高的工作(如地址表)使用ST语言在EXCEL中进行制作,大大减少了编程工作量。在以后有机会我会用视频的方式给大家演示一个怎么用ST语言编译转换成3种图形编程语言。
高效学习PLC编程,使用ST语言编写控制程序无压力
大家都知道PLC编程有很多语言可选择,在学习 CoDeSys 的过程中常会问一个问题,哪种编程语言最好?
其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言。
涉及到算法部分建议选择 ST 语言,编写的程序往往简洁而高效。
简单介绍
结构化文本(ST-Struct Text)是一种高级的文本语言,在西门子中称为SCL(Structured Control Language)语言,不要与STL混淆,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本编程语言是一种高级语言,是 CoDeSys 中最常用的一种语言,对于熟悉计算机高级语言开发的人员来说,结构化文本语言更是易学易用,它可以实现选择、迭代、跳转语句等功能。在复杂控制系统中,结构化文本可以大大减少其代码量,使复杂系统问题变得简单。
当你的14寸电脑界面装不下一行梯形图,当你做一个算术运算洋洋洒洒几十步,那个时候发现用ST还是挺香的,只是看逻辑没有梯形图直观,编译速度相对较慢。大意了,有得必有失嘛,如果你不介意那就一起了解一下吧。
程序执行顺序
使用结构化文本的程序执行顺序根据“行号”依次从上至下开始顺序执行,每个周期开始,先执行行号较小的程序行。这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。
这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。
表达式执行顺序
表达式中包括操作符和操作数,操作数按照操作符指定的规则进行运算,得到结果并返回。操作数可以为变量、常量、寄存器地址、函数等。
在做算术运算时,根据表格中的表达式优先级运算,小括号的优先级最高,可以将你想要先执行的表达式写在小括号内。
指令语句
结构化文本语句表主要有 5 种类型,即赋值语句、函数和功能块控制语句、选择语句、迭代(循环)语句、跳转语句。
转发是最大的鼓励!谢谢您的支持!
小贴士
PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
相关问答
汇川plc支持st语言吗?
汇川plc支持st语言。ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,...
st语言入门?
结构化文本(StructuredText)简称ST语言,是IEC61131-3所规定的PLC编程语言之一,用于工业控制的高级语言。由于其编写方式与一般计算机语言相似,多用于...
汇川plc的st语言怎么写?
汇川PLC的ST语言具体写法需要根据具体的编程任务而定,但一般需要掌握ST语言的语法规则和关键字等。其中,ST语言是一种结构化文本语言,其主要特点是支持顺序、...
PLC编程语言中LD/IL/FBD,ST/SFC/CFC的全称是什么?望高手指点?
LD:laderdiagramIL:这个又叫STL,statementlist而IL应该是日系叫法,I什么list的意思吧,没仔细研究过日系的PLC。FBD:FunctionBlockd...
三菱支持ST语言的PLC有哪些?
首先在早期的的编程中,并不支持ST语言,之后的GXIECDeveloper中虽然支持,但是鉴于GXIECDeveloper只面向欧洲市场,这里也不做讨论。这里主要讨论的是GXDe...
plc用st语言编程调试方便吗?
PLC用ST语言编程调试相对比较方便。ST语言是一种结构化的编程语言,它具有类似于传统计算机编程语言的特性,如变量定义、循环控制和函数调用等,因此对于熟悉传...
三菱plc怎样使用st语言?
三菱plc使用st语言的方法在Q系列创建项目,使用标签方式编程,如果不使用该方式,你将不能使用ST语言。之后,你可以使用ST语言来编辑程序。在GXWorks2中,你需...
plc最直接的编程语言是?
一、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言,它是与继电器线路类似的一种编程语言。因为从事电气人员对继电器控制较为熟悉,所以梯形图编...
codesys能用scl语言吗?
CODESYS是一种PLC编程语言,而SCL是一种结构化文本语言。CODESYS支持多种编程语言,包括ST、CFC和SCL等。因此,CODESYS可以使用SCL语言进行编程。CODESYS是一种.....
codesys能用高级语言编程吗?
能用CODESYS是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL、ST、FBD、LD、CFC、SFC六种PLC编程语言,其中CFC就类似于c++、vb一样的高级语...