什么是ST语言,一文带你了解ST语言
ST语言是在规定逻辑记述方式的国际标准IEC61131-3中定义的语言。ST语言是具有与C语言等相似的语法结构的文本形式的程序语言。适用于对梯形图语言难以表现的复杂处理进行编程的情况。ST语言支持控制语法、运算式、功能块(FB)、函数(FUN),可以进行如下的记述。例:通过条件语句进行选择分支,通过重复语句进行重复等的控制语法
http://p9-tt.byteimg.com/large/pgc-image/ba3c43dd60764be6afcaacdaeab7ceb5
例:使用运算符(*、/、+、-、<、>、=等)的表达式http://p29-tt.byteimg.com/large/pgc-image/33b9dc4d4835441f9ae2758027b1348a
例:定义的FB的调用http://p1-tt.byteimg.com/large/pgc-image/3dae9d4a97364e91a33f31af15c0a700
例:通用函数的调用http://p29-tt.byteimg.com/large/pgc-image/e4359179cee244d3adcb3bd04073a1ce
例:汉字等全角字符的使用http://p6-tt.byteimg.com/large/pgc-image/ac582973c8eb49b58ca69b969da1e2d9
01配置ST语言中的编程由运算符与语句组成。
http://p9-tt.byteimg.com/large/pgc-image/40d1d54e8ad04d75a645edeb0f82cf1a
语句的终端必须添加“;”(分号)。
http://p1-tt.byteimg.com/large/pgc-image/c21801af99ab4d1ca2937723eab408ef
空格、制表、换行可以插入到运算符及数据中。
http://p9-tt.byteimg.com/large/pgc-image/6780aaf23a7d41c8b708d299bbd15b7c
可以在程序中插入注释。
http://p6-tt.byteimg.com/large/pgc-image/219defb3aae2461d8ab4beeac60e6feb
02程序的结构要素ST程序由以下要素构成。
http://p3-tt.byteimg.com/large/pgc-image/1e800d51a8594d52bb303803b0d993b0
1.段落符号在ST语言中,为了明确程序的结构,设有下述的段落符号。http://p9-tt.byteimg.com/large/pgc-image/bc50dc21812b4ace8186c701a0f0ec99
2.运算符在ST程序中使用的运算符、对象数据类型与运算结果的数据类型如下所示。http://p6-tt.byteimg.com/large/pgc-image/40a6800abe00439587001b73ccd52099
运算符的优先顺序如下所示。http://p9-tt.byteimg.com/large/pgc-image/15af391c3d8d4ab8ba88f65b81229736
注:1.在一个公式中有多个优先顺序相同的运算符的情况下,从左侧开始运算。2. 一个公式中可以记述的运算符的使用个数最多为1024个。
3.语句可以在ST程序中使用的语句如下所示。http://p9-tt.byteimg.com/large/pgc-image/fe0e33929dd64c25a0f7a5ca23b42489
应用半角字符记述语句。
4.常数常数的标记方法ST程序中字符串的标记方法如下所示。http://p6-tt.byteimg.com/large/pgc-image/752d63e9b61c4c379c82db3a0f39d5b4
5.标签与软元件指定方法在ST程序中可以直接记述并使用标签与软元件。标签与软元件可以在表达式的左边、右边、通用函数/FB的自变量、返回值等中使用。
■ 附带类型指定的软元件标记字软元件通过向软元件名附加软元件型指定符,可以作为任意的数据类型在ST语言内使用。
http://p9-tt.byteimg.com/large/pgc-image/eae7f4d5f111464f95778f4cadfd7c37
可以使用软元件类型指定符的软元件如下所示。数据寄存器(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等)在字[无符号]/位列以外的类型中使用时,或将长计数器(LC)的当前值(LCNn等)在双字[无符号]/位列以外的类型中使用时,应使用类型转换函数。例:varInt := WORD_TO_INT(TN0); (*使用类型转换函数*)
6.注释可以在ST程序中使用的注释如下所示。
http://p6-tt.byteimg.com/large/pgc-image/0dfc5203d31945109da838cd7897395d
在多行注释中请勿记述含有结束符号的注释。
看完楼主的帖子,我的心情竟是久久不能平息,受教了 感恩无私的分享与奉献 :) 救命!这回复笑到我捶桌,必须置顶~ 谁懂啊!真的被戳中笑点 / 泪点了 赞同 + 10086,没毛病,完全没毛病 来凑个热闹,增加点人气~ 楼主太会说了,字字句句都在理 我先占个楼,等下再慢慢看~ 同款经历!简直是世另我
页:
[1]
2