1.一种在PLC中嵌入非致命故障诊断的方法,其特征在于:该方法将PLC中的任务分为控制任务和诊断任务;其中,控制任务处理的是执行梯形图控制算法程序,实现对机器进行控制并向公共数据区写入机器数据量;诊断任务处理的是读取公共数据区中的机器数据量,然后将采集到的机器数据量输入推理引擎,再进行针对非致命故障的诊断过程,系统采用优先级抢占式调度算法对这两个任务进行调度,具体包括如下步骤:(1)创建控制任务和诊断任务并分配优先级,控制任务分配高优先级,诊断任务分配低优先级;
(2)将控制任务和诊断任务压入就绪任务队列中;
(3)执行控制任务,执行过程中若定时器中断产生,则控制任务转换为中断服务态,然后进入步骤(6);
(4)当控制任务完成后挂起控制任务;
(5)执行诊断任务,执行过程中若定时器中断产生,则诊断任务转换为中断服务态,然后进入步骤(6);
(6)检测控制周期是否到达,若控制周期到达则将控制任务压入就绪队伍列表中,进入步骤(7),若控制周期未到达,则检测控制任务是否完成,若控制任务未完成则将控制任务压入就绪队伍列表中,进入步骤(7),若控制任务已完成则将诊断任务压入就绪队伍列表中,进入步骤(7);
(7)任务调度,选择就绪任务队列中优先级高的任务运行,若就绪任务队列中有控制任务,则返回步骤(3),若就绪任务队列中只有诊断任务,则返回步骤(5)。