PLC梯形图程序如何转换为ST语言程序,以三菱FX系列PLC为例讲解

在 前文 讲述了ST语言最简单,最基本的逻辑关系,今天,小编我就个大家讲述一下,如何利用学到的ST语言中的逻辑关系,翻译一段PLC梯形图程序。


PLC梯形图程序如何转换为ST语言程序,以三菱FX系列PLC为例讲解


提示:由于大家习惯了梯形图的简单编程模式,对于ST语言的使用非常陌生,而且入手难度大,因此,小编建议,对于ST语言的学习,可以从翻译梯形图程序开始。

首先,我们先来看一段梯形图程序

PLC梯形图程序如何转换为ST语言程序,以三菱FX系列PLC为例讲解

图一

如图一所示,这是小编为经常提及的启保停梯形图程序,它是PLC编程基础中的基础,是PLC工作原理的体现(为了防止无耻抄袭,我在图片中加了水印,可能影响大家的阅读,请见谅,这个世界的秩序和规则都是那些不要碧莲的人破坏的,比如那个无耻的电工学习网的李亮,还有保护抄袭的百家号)。

为了让大家更明白,我没有在程序中使用变量,而是直接使用了物理地址,对于停止,我也使用了常闭触点,这段梯形图转换为ST语言有两种方式

1 直接使用逻辑表达式

这种方法就是利用各个元素的之间的逻辑关系直接表述出来,很显然X0 和 Y0 并联是或的关系,也就是OR,然后,他们两个又和取反后的X1 串联,是与的关系,也就是AND。

PLC梯形图程序如何转换为ST语言程序,以三菱FX系列PLC为例讲解

图二

如图二所示,这就写好的ST语言程序,也就是 Y0:=(X0 OR Y0 ) AND NOT X1;

2 使用IF 语句

直接使用逻辑关系,就相当于梯形图中的直接输出,要注意双线圈输出的问题,而使用IF 语句就相当于SET 和RESET,不必担心双线圈输出问题,而使用IF语句其实就是把逻辑关系描述出来。

PLC梯形图程序如何转换为ST语言程序,以三菱FX系列PLC为例讲解

图三

如图三所示,这就是使用IF语句来表示启保停的梯形图逻辑,也就是

IF( X0 OR Y0) AND NOT X1 THEN

Y0:=1;

ELSE

Y0:=0;

END_IF;

需要注意以下几点,那就是 一定要加上ELSE后面那一段,否则,你的输出永远会等于1,大家可以思考一下,这是为什么。还有就是END_IF 后面的分好一定要加,这点和CODESYS略有不同,在CODESYS中,是不需要加的。这也是很多平台的区别,有的要加,有地不需要加,大家在不同平台间移植的时候要注意。

总结: 这就是使用ST语言实现逻辑控制的两种方法,PLC中再复杂的逻辑也是简单逻辑的组合,所以,你只要掌握了基本逻辑的实现方法,经过一定时间的训练和积累,一定会掌握ST语言,那些说逻辑程序ST语言不如梯形图直观的人,我只想说;夏虫不可以语冰也!


分享到:


相關文章: