Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须制作一个电路来防止将数字除以零。我试图在除法块前面设置一个条件,但它不起作用。我能做些什么来解决这个问题?波纹管是我尝试过的不起作用的电路。我在我的计算机上使用 RSLogix Micro 仿真器 500 来模拟 Allen-Bradley PLC。
看来您正在测试 N7:2 是否等于 0?因此,它只会在 N7:2 等于 0 的情况下执行 DIV?它应该是一个“不等于”框吗?
你原来的逻辑看起来不错。只需将梯级#2 中的 EQU 比较指令更改为 NEQ 指令。应该像冠军一样工作。
我在所有 RS Logix 500 程序中添加的另一个预防梯级是 OTU s:5/0,位于要评估的最后一个梯级。这将防止数学溢出使您的 PLC 发生故障。
您只需添加一些逻辑即可避免它。就个人而言,当我除以零时,我通常希望函数的输出为零。因此,您只需设置相反的情况。如果除数等于零,则将零移到结果中。如果除数不为零,则执行除法。
正如 franji1 所说。您必须检查 N7:2 是否不等于 0!
您可以将其设置为仅在此逻辑中的一个梯级,因为它仅在满足条件时才执行除法。请记住,罗克韦尔控制器的 LAD 是从左到右、从上到下读取的。
问候。