查看原文
其他

什么是ST语言,一文带你了解ST语言

PLC发烧友 2023-07-10

ST语言是在规定逻辑记述方式的国际标准IEC61131-3中定义的语言。ST语言是具有与C语言等相似的语法结构的文本形式的程序语言。适用于对梯形图语言难以表现的复杂处理进行编程的情况。


ST语言支持控制语法、运算式、功能块(FB)、函数(FUN),可以进行如下的记述。

例:通过条件语句进行选择分支,通过重复语句进行重复等的控制语法



例:使用运算符(*、/、+、-、<、>、=等)的表达式

 

例:定义的FB的调用


例:通用函数的调用


例:汉字等全角字符的使用



01配置

ST语言中的编程由运算符与语句组成。



语句的终端必须添加“;”(分号)。



空格、制表、换行可以插入到运算符及数据中。



可以在程序中插入注释。




02程序的结构要素

ST程序由以下要素构成。



1.段落符号

在ST语言中,为了明确程序的结构,设有下述的段落符号。



2.运算符

在ST程序中使用的运算符、对象数据类型与运算结果的数据类型如下所示。


运算符的优先顺序如下所示。


注:1.在一个公式中有多个优先顺序相同的运算符的情况下,从左侧开始运算。

       2. 一个公式中可以记述的运算符的使用个数最多为1024个。


3.语句

可以在ST程序中使用的语句如下所示。


应用半角字符记述语句。


4.常数

常数的标记方法

ST程序中字符串的标记方法如下所示。



5.标签与软元件

指定方法

在ST程序中可以直接记述并使用标签与软元件。标签与软元件可以在表达式的左边、右边、通用函数/FB的自变量、返回值等中使用。


■ 附带类型指定的软元件标记

字软元件通过向软元件名附加软元件型指定符,可以作为任意的数据类型在ST语言内使用。



可以使用软元件类型指定符的软元件如下所示。

数据寄存器(D)

链接寄存器(W)

模块访问软元件(U\G)

文件寄存器(R)


■ 软元件的指定方法

关于软元件的指定可以使用下述方法。

变址修饰

位指定

位数指定

间接指定

注意事项

在ST程序中无法使用指针型。

使用位数指定代入的情况下,应使右边和左边的数据类型相一致。

例:D0 := K5X0;


在上述情况下,因为K5X0为双字型、D0为字型,程序出错。

使用位数指定代入的情况下,右边>左边时,在左边的对象点数范围内进行数据传送。

例:K5X0 := 2#1011_1101_1111_0111_0011_0001;

在上述情况下,因为K5X0的对象点数20点,向K5X0代入1101_1111_0111_0011_0001(20位)。


将计数器(C)、定时器(T)、累计定时器(ST)的当前值(TNn等)在字[无符号]/位列[16位]以外的类型中使用时,或将长计数器(LC)的当前值(LCNn等)在双字[无符号]/位列[32位]以外的类型中使用时,应使用类型转换函数。

例:varInt := WORD_TO_INT(TN0); (*使用类型转换函数*)


6.注释

可以在ST程序中使用的注释如下所示。


在多行注释中请勿记述含有结束符号的注释。





你对ST语言有一定的认识了吗?对比梯形图来说,入门会稍难一点点,但是也只是一点点。想了解更多关于ST语言方面知识,6月28日晚上19:30,你一定要来小花老师的公益直播——《ST语言到底难不难》。


本课程着重介绍结构化文本(ST语言),先通过ST语言跟梯形图之间的比较,充分展示ST语言的优势以及使用方式;再通过不同PLC品牌之间的ST语言编程做对比分析,让你更清楚的了解ST语言的特点;最后再通过ST语言跟C语言以及Pascal语言做对比,了解高级语言的特色。根据其特色,归纳总结出相对应的ST语言的课程,让大家更上一层楼。


加公益直播QQ群:469764255,领取课堂案例,听直播还能免费抽奖。


扫描上方二维码加群

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存