gpt4 book ai didi

plc - plc 的扫描周期和 while(1){ ... } 后面的代码有什么区别?

转载 作者:行者123 更新时间:2023-12-01 00:17:15 25 4
gpt4 key购买 nike

我很困惑plc的循环执行是否可以看作是一个被无限循环包围的程序。如果不是,它们之间有什么区别?

最佳答案

您的 while(1) 类比很好地解释了 PLC 的 循环执行 作品。

首先,您通常不需要进行 while(1) 循环,因为可以将 PLC 设置为循环调用特定的主要任务、功能或块。然后这个任务应该依次调用程序的所有其他必要部分,就像 while 循环一样。
主要任务的设置方式取决于您的 PLC 品牌,例如西门子 S7 将调用“OB1”块,基于 Codesys 的 PLC 将调用每个 中的“MAIN”程序块。扫描周期 .
假设您希望您的程序以 运行周期时间 不超过 10ms。

一些 PLC 具有 以恒定间隔触发的扫描周期 .这将允许您像您的要求一样拥有 10 毫秒的恒定循环时间。
如果程序的执行时间总是少于循环时间,一切都很好,PLC 将在扫描循环的剩余时间里闲置,直到下一次调用它。事件/空闲比率将很好地指示 PLC 的负载量。
如果超过循环时间,PLC 可能会跳过一个循环,立即尝试在下一个循环中追赶,发出故障信号或停止 PLC。或者实际上是上述任何组合,因此您可能需要知道如何对其使用react。

其他 PLC 有 上一个周期结束后立即触发扫描周期 .这将为您提供更快但可变的执行。例如,扫描周期可以在 4-6ms 之间变化,因为空闲时间被切断,这再次低于您对 10ms 周期时间的要求。
在这种情况下,您还应该监控周期时间,并制定计划以应对超出您要求的情况。如果达到极限,PLC 可能会设置为发出故障信号。

还要考虑,PLC 需要读取输入和写入输出作为扫描周期的一部分或与扫描周期相关。如何再次设置取决于 PLC 品牌,但通常会在每个扫描周期中完成,即具有相同的周期时间。

关于plc - plc 的扫描周期和 while(1){ ... } 后面的代码有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51417165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com