请教:单片机跑飞后,怎样能从开始跑飞前的指令位置执...

2020-02-06 10:03发布

和别人讨论时,遇到一个问题:
看门狗可以解决单片机跑飞的问题,它是让单片机复位来解决的。但有些特殊的场合,操作过程是不允许重新再来一遍的,只能接着原来的操作往下进行,例如,假设一个机床正在切削加工一个东西,此时单片机跑飞了,如果通过看门狗使其复位,程序又会从开始运行,已经加工过的部分可能会被重复加工,所以单片机应该是能记下程序开始跑飞的位置,接着原来的操作进行。但这怎么实现呢,请高手指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
diy0769
1楼-- · 2020-02-08 10:08
rainbow 发表于 2016-4-1 20:49
能回到跑飞的那个那个位置继续往下执行,那就不叫跑飞,那是调用了子程序或执行中断去了。 ...

不知道可不可以这样,将当前动作做个反馈与当前指令做对比,

如果反馈结果与指令不符,则停机并记录,退回上一条指令待机~
gao_hailong
2楼-- · 2020-02-08 11:46
开机判断是否是看门狗复位重启,如果是看门狗复位则不初始化数据,否则初始化数据。
LML
3楼-- · 2020-02-08 14:59
 精彩回答 2  元偷偷看……
yu_studio
4楼-- · 2020-02-08 20:08
kafeiwutang 发表于 2016-4-1 20:28
plc也有看门狗,也可以重启,要求高的话可以双机热备份

双机冗余主要是为了防止一台出现故障,另一台可以马上启用运行。
总之,成熟的PLC的设计是非常稳定的,我使用PLC十几年了,从未见过PLC死机或重启。
另外,PLC是决不允许自动重启的,如果PLC真的死机或程序跑飞,就停在那儿,等待人是处理。对于有些设备来说,如果突然重启,会造成巨大危险或不可估量的损失。
Azuresky
5楼-- · 2020-02-08 22:40
三机并行运算,结果由表决确定
风雨无阻88
6楼-- · 2020-02-09 02:33
把电源做好,抗干扰做好,程序优化好,选好的工业级的芯片,在恶劣的工况下多测试.....终于你发现不会跑飞

一周热门 更多>