你说的单片机是裸机,所有的事情都要你管理,所以连从头再来都要你用死循环或者goto到开始.
即使是这样,你也应该知道,单片机有个防止跑飞的,watchdog.跑飞了就是在别的无用的程序那死循环了,回不到你有用的程序.这时候看门狗会把跑飞的程序拉回来,同时会发送看门狗的报错或者中断.
如果不引起看门狗,你需要在每次循环适当的地方(比看门狗时间短),清除看门狗计时.
---------------------所以,PLC一样.你想往单片机编程也是可以的.所有的处理器都一个道理.
然后,再说说PLC.PLC和其它单片机,本身有个管理的基础,或固件,如同操作系统.PLC的"操作系统"对输入输出,需要执行的程序,会进行管理.最简单的,它分配顺序,比如先输入再程序再输出.然后,它还会管理程序怎么执行.至少现在有几种程序执行方式,最早的就是你说的死循环,叫循环执行或者扫描.同样还有如同单片机的中断执行.比单片机高级的定时执行.当然会不会还有如同pc的分时间片执行,我还不知道.但还有一种叫分流水线执行,这个不详细说.
至少,plc的"操作系统"是会"输入-你的程序-输出",然后再"输入-你的程序-输出"这样循环执行的,循环是自动或者有专门的块或定义的被管理的,你不要操心.当然,在定义循环的时候,有个循环时间的限制,就是看门狗时间.任何一个程序,不允许你有意(自己做的死循环)或者无意(单片机跑飞,一般plc不存在这个问题)无休止地不受控制.
[此贴子已经被作者于2020/2/12 8:44:44编辑过]