navicat执行带多行注释符号语句报格式错误_什么是ST语言?一篇文章看懂ST语言赋值方式和程序注释...

三菱GX Works2支持多种编程语言,其中有梯形图,SFC,结构化梯形图,ST语言。每种编程语言有不同的优点与缺点。

梯形图是最常用的PLC编程语言,以继电器符号相类似的编程语言,其中入门简单,逻辑思维强,符合电路控制逻辑等优点,缺点是在编写四则运算,功能复杂的程序比较吃力。

c3c26126c9b75ee609b80b83f6e8c27c.png

SFC在顺序流程控制方面比较有优势,以流程图的编程方式,其逻辑思维控制强,动作流程清楚等优点,SFC的缺点与梯形图相同,也包含调试不方便等缺点。

b8e7ca56ae8f7335e1b69bf170a52bb6.png

结构化梯形图,以功能块的形式出现,控制思维为功率流方式,将所需要的功能做成功能块,在主程序调用,程序结构简单明了,调试检查方便。

901279b46d6435d81ce7c6964d1230a1.png

ST语言是以文本进行记叙的编程语言,可以以高级语言方式进行编程。

ST语言介绍

在条件判断,四则运算,处理复杂功能等优点,但入门难,逻辑控制弱等缺点,导致ST语言在PLC编程应用较少。

ef0d3938d7a8af78c67869c9e26c110f.png

ST语言在条件判断及四则运算有很大的优势,控制语句条件判断非常强大,在梯形图中,某些关系使用触点或比较指令很难进行判断,使用ST语言可简单判断完成,编写完成之后,可作为梯形图编写方式借鉴。

梯形图在编写四则运行往往需要编写多行指令,关联性不强,程序分析困难,使用复杂的运算公式更是困难,这也是很高精密控制系统不使用PLC的原因,因为PLC多数使用梯形图编写。

使用ST语言可以直接使用+-/*等数运算符号,对于复杂公式计算可几行程序编写完成,计算方式直观,使PLC可以应用于复杂计算的项目中。

8337a3ddfe6e5500db9946b9d787e948.png

ST语言可以将一些重复使用的代码,直接封装为函数,并可以定义函数的返回类型。在程序中需要使用时,我们可以直接调用函数,省去重复编写,简化我们编程工作。

a27fb22e13a927dfe3637aae9d7ac12e.png

函数一般使用在一次运算中,很少需要连续调用函数,如果连续执行调用使用,可以使用FB块功能,定义输入接口与输出接口,使用内部变量,在不同程序调用FB块,功能块互不影响,可方便的执行连续执行FB块的程序

ST语言除了以上功能,还有其它作用需要我们去探索.

ST的运算符,赋值方式,程序注释

:ST程序文必须是半角符,英文数字输入,如果使用全角或汉字编译将会报错!

23eb07a04575b906ba736f3fadf1ed4f.png

一:代入语句

我们首先先了解ST语言的赋值方法,也叫代入语句

代入语句 “ := ” (冒号+等于号),在ST语言的赋值方法

87a6e6c36d5665c80ec91a230ae940fe.png

上图左边代码的意思是将X0的状态赋值给Y0,右边代码的意思是将K5传送级D0。可参考下列梯形图,进行对比

2f7c5eedc3adbd669b5b7a3d452cc5f0.png

ST语言常用的赋值方式,将右边的值赋值给左边,右边可以是数值,寄存器,定时器,或者进行四则运算后再赋值都是可以的。

531819a2918c20c52bcb67047853bce5.png

注意:但要求左右二边最结果的类型必须一致,如上图赋值符号的右边最终运行结果还是为16位,左边D0也是16位,类型符合,下图所示就是一个错误的示范

b2a09e46260636f9ef738af35d7f9b94.png

赋值符号右边为位类型,左边为字类型,赋值二边类型不一致,编译不会通过,所在使用赋值符号时,注意二边最终结果必须一致!

二:分组符号 ; ( )

在ST语言需要对程序文进行分组可以使用分号”;”或使用括号“()”,

1)分号应用

分号是作为某一段或一组程序文的结束,代表这一段程序与下一段程序无关。

aac36414759857570d9dae0aa30c5a32.png

在上图编写了一行代码,有三组程序,分别给D0,D2,D4进行赋值,使用分号进行分组。也可以使用下图方法进行分组。看起来是不同的编写方法,实质上是一样的,因为编译器是按分组符号定义,不是按行定义。

728e721d793470334362132f61027c23.png

有时候因为没有使用分组符号,那么有时看起来是二行程序,也可能是一组程序。如下图所示

f285087f8f1c47874d9083144d7f2d17.png

在上图中,因为第一行代码没有使用分组号,编译器默认认为与下行程序相连接。

2)括号应用

在编写某些运算时我们希望一些运算优先处理时,可以使用括号进行处理,如:在下图中默认会先执行D102乘以D104然后将相乘的积加上D100,最后将和赋值给D0。

b3f1a88c4014eaa273251b36c47c13e2.png

如果希望先执行D100加D102,然后再乘以D104,则可以使用括号,优先处理括号内运算,参考下图所示

a72b10255bb5acb9f38d97624368c4f6.png

三:程序注释

在保证程序可读性良好,注释是少不了,ST语言的注释方法可以参考下图所示

4d7b9521c1d149536ea5a9d82e098618.png

ST语言的注释方式就是使用 (* 注释文 *) 格式,默认会显示绿色,可以在程序尾部增加注释,也可以在程序上行增加,或程序下行增加,在程序文中间也是可以,具体参考下图

44dfde8a7bdf1f0eec9c344674a1f927.png

可以对程序分类或分段定义,如下图所示

54a2775bed310434b26ee87833a55abe.png

本文为技成培训网原创,未经授权不得转载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值