Ladder Logic 306:模拟

使用模拟阶梯逻辑允许用户测试不可能实现的高级情况,从而降低用户的潜在成本和风险。

通过Frank Lamb,自动化入门 2018年8月15日

在基本可编程逻辑控制器(PLC)培训课程中,训练器内置的按钮和指示灯用于完成练习,通常是为了说明PLC软件平台上不同指令的使用。高级课程更侧重于编程中使用的技术,如自动序列、部件跟踪和其他系统功能。

使一个组织良好的程序的所有元素一起运作可能是一项艰巨的任务。所有不同类型的例程都相互关联。对于表示机器或序列状态的触点,它们很容易测试。内部内存位表示自动/手动模式,摩托车,甚至故障。

然而,输入和输出是另一回事。在较大的机器或系统中,它们代表许多不同类型的传感器或输出设备。在培训课程中经常使用的训练器,没有足够的按钮、开关和指示灯来替代现实世界中的设备。此外,像按钮、开关和电位器这样的输入设备不能自动实时地对序列和输出命令做出反应。

这就是模拟例程可以发挥作用的地方。使用图1所示的输出逻辑,输入和输出被“别名”为内存位,而不是真实世界的输入/输出(I/O)。

如果在真实机器中激活Z- axis_lower_sv输出(图2),Z轴降低传感器通常会自动激活。由于这不是一个真正的电磁阀驱动一个装有传感器的气缸,我们需要模拟传感器激活。

这个定时器电路做得很好。注意,需要使用内存位来模拟输入。输入内存位也可用于自动序列,从一个序列状态步进到下一个序列状态。在需要模拟故障的情况下使用EnableOut位。如果位被禁用,就好像输出被激活,但输入从未被检测到。错误计时器将超时并锁定错误条件。

还要注意,输入使用了“latch”或“set”位。这对于电磁阀尤其重要,当序列进行到下一步时关闭。当输出熄灭时,模拟传感器将保持活动状态。

最好将所有的模拟梯级放在一个单独的例程中。如果程序是为训练和真实机器设计的,那么以后可以删除或禁用模拟例程。模拟的I/O稍后也可以用真实的I/O代替。

对于模拟值,计时器用于模拟。在这种情况下,水箱的水位将每20毫秒增加5。计时器值和油箱液位加成都可以调整以达到预期的结果。为了模拟真实的坦克,还需要进行更多的调整,但图3显示了总体思想。要排出水箱,使用减法指令。这也可以用于测试比例-积分-导数(PID)指令。

在项目的设计阶段,真正的设备往往是不可用的。模拟允许程序员在将一些更关键的代码部署到机器上之前测试它。有了人机界面(HMI),程序员甚至可以通过动画对象可视化整个过程。

弗兰克羊肉他是自动化咨询有限责任公司的创始人,也是控制工程编辑顾问委员会。本文最初发表于自动化入门博客自动化底漆是CFE Media的内容合作伙伴。由制作编辑克里斯·瓦夫拉编辑,控制工程cvavra@cfemedia.com

更多的创新

关键词:阶梯逻辑、模拟

使用模拟梯形逻辑允许程序员和用户在实现输入和输出之前测试它们。

模拟还允许程序员在将一些更关键的代码部署到机器上之前测试它。

考虑一下这个

哪些应用程序从梯形逻辑模拟中获益最多?

原始内容可以在automationprimer.com