梯子逻辑304:定时器应用程序

一个用阶梯逻辑编写的定时器示例应用程序提供了各种编程技巧的示例,比如确保程序员知道客户想要什么。参见屏幕截图。

通过弗兰克羊肉 2015年8月13日

一个客户要求一个电机和两个接触器(快/慢)的梯形图,带有自动控制,其中电机慢速运行2分钟。超时,电机在手动控制下快速运行5分钟,此时电机可以快速或慢速启动,并闭锁,直到计时器超时。此外,当2-in时,客户需要电机在英寸模式下快速运行。按钮被按下。这些都是很多细节,但是为应用程序编写代码的一个重要部分是确定客户想要的细节。

向客户提出的一个问题是使用什么可编程逻辑控制器(PLC) ?大多数阶梯逻辑在不同平台之间非常相似,但是寻址和指令集却有很大的不同。本文中的图像演示了编程过程。基于标记的编程平台的一个有用的附带好处是工程师可以将所需的地址分配给标记名(参见图1)。

编程示例

让我们从定义输出开始。这并不是编程的唯一方法,但对于离散机器来说是一种非常好的方法。注意,电机控制的所有状态都在图1中定义得很好,尽管故障、控制和系统模式在其他例程中定义。为了增加安全性,如果慢输出以某种方式打开,它将禁用快速输出,反之亦然。如果输出是强制的,这就不适用了(参见图2)。

下面将讨论应用程序的定时器控制部分,并说明如何为此使用延迟计时器。这里没有什么可以阻止某人将系统从自动或手动模式中取出,并提前结束循环。此外,也没有迹象表明“英寸双手控制命令”(Inch_2HandCtrl)位来自哪里。理想情况下,这将是一个基于硬件的反捆绑中继或基于软件的反捆绑例程。不要执行图3所示的操作。

在大多数情况下,出于安全考虑,图3所示的编程是不合法的。如果被控制的设备在光幕或门后面,该应用程序的风险可能是可以接受的。

关键是,有人可以用胶带固定一个按钮,用一只手操作,这就违背了“双手”控制的目的。

对203条断层进行了详细说明。请再次注意,图4中没有说明如何确认、重置错误,或者如何将错误与其他错误结合起来创建系统级错误(请参见图4)。

编写图4中的编程和解释花费了大约3个小时。这个程序花了大约一个小时的时间来开发,因为它需要创建标记、设置新的处理器、设置输入/输出(I/O)结构以及其他各种事情。其余的大部分时间都花在输入和执行导入逻辑的屏幕捕获上。

不幸的是,即使在PLC制造商的网站上,网上也没有很多梯子逻辑的好例子。大多数程序员没有多余的时间把所有这些都打出来并发布出来。在诸如www.plctalk.net和其他网站上确实有一些非常有帮助的人,但大多数人的报酬都很好,他们只能到目前为止,不能提供更复杂的阶梯逻辑或应用程序问题的答案。

Frank Lamb是Automation Consulting Services Inc.的创始人。本文最初发表于自动化入门博客。Automation Primer是CFE Media的内容合作伙伴。Joy Chang编辑,控制工程jchang@cfemedia.com

关键概念

  • 为应用程序编写代码的一个重要部分是确定客户想要的具体内容。
  • 大多数阶梯逻辑在不同平台之间是相似的,但是寻址标签名和指令集有很大的不同。
  • 即使在PLC制造商的网站上,也缺乏在线梯形逻辑的好例子。

考虑一下这个

项目中使用的PLC是什么?相关人员希望澄清什么?

在线额外

-这个在线版本包括一个额外的代码屏幕截图。下面是作者的其他故事。