台达(DELTA)欧姆龙(OMRON)PLC使用ST语言的单按钮启停功能实现

小编我是一个ST语言的中毒型依赖者,非常喜欢使用ST语言,从原来的计算用ST语言,到现在连逻辑都喜欢用ST语言实现。因为ST语言有着无可比拟的优势。前文曾经为大家介绍了CODESYS平台PLC的ST语言详细教程,以及三菱FX系列PLC用ST语言实现单按钮启停功能。但在实际应用中,CODESYS的PLC可能用的人比较少,三菱大家还不习惯用ST语言,今天就为大家介绍同为日系PLC的台达和欧姆龙PLC是如何实现的。

台达(DELTA)欧姆龙(OMRON)PLC使用ST语言的单按钮启停功能实现

首先,我们先看一下ST语言写的单按钮启停程序

MX1:= i_xIN AND (q_xOUT OR MX1) AND NOT MX2;

MX2:= i_xIN AND (NOT q_xOUT OR MX2) AND NOT MX1;

q_xOUT:=(MX2 OR q_xOUT) AND NOT MX1;

程序如上图所示,i_xIN为输入,q_xOUT为输出。这段程序小编我用了很多次了,绝对可用,大家可以拿来直接用,但小编我不能保证是最先进的,大家可以相互套路。

首先,我们看,在欧姆龙PLC中如何实现。在欧姆龙CP系列PLC中,是不支持直接在程序中使用ST语言的,需要在功能块中实现,如下图所示

台达(DELTA)欧姆龙(OMRON)PLC使用ST语言的单按钮启停功能实现

我们在CP1H系列PLC中定义一个功能块ON_OFF来实现单按钮启停功能。此功能块的输入变量为i_xIN,输出变量为q_xOUT。

在台达PLC中是如下实现的

台达(DELTA)欧姆龙(OMRON)PLC使用ST语言的单按钮启停功能实现

大家可以看到,在欧姆龙PLC和台达PLC中,我都是通过复制粘贴实现的,这就是ST语言的好处,它可以像文本文档一样,到处复制粘贴。在前文讲述三菱PLC实现单按钮启停功能时,好多朋友说可以用计数器等实现,小编我是不太同意用这种方式。因为用定时器,在ST语言中就牵涉到了功能块的调用,而台达PLC,三菱PLC的ST语言还不完全遵循IEC61131-3标准,他们的功能块调用和IEC标准是有差别的,这样就不方便复制粘贴,也就是它的移植性大大折扣,用句时髦的话就是跨平台能力不行。

所以,小编我之所以推崇ST语言,就是它的可移植性,大家在换PLC品牌的时候 ,是非常方便的。而用这种纯逻辑功能实现单按钮启停功能,也是方便移植。如果你使用计数器或其他功能块实现,无论你是用梯形图编程还是ST语言,换PLC品牌的时候是非常麻烦的。


分享到:


相關文章: