CN102183952A - 一种在plc中嵌入非致命故障诊断的方法 - Google Patents
一种在plc中嵌入非致命故障诊断的方法 Download PDFInfo
- Publication number
- CN102183952A CN102183952A CN 201110074874 CN201110074874A CN102183952A CN 102183952 A CN102183952 A CN 102183952A CN 201110074874 CN201110074874 CN 201110074874 CN 201110074874 A CN201110074874 A CN 201110074874A CN 102183952 A CN102183952 A CN 102183952A
- Authority
- CN
- China
- Prior art keywords
- task
- control
- diagnostic
- plc
- ready
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明涉及一种在PLC中嵌入非致命故障诊断的方法。现有的故障诊断占用CPU长,影响PLC的控制效率。本发明将PLC中的任务分为控制任务和诊断任务;其中,控制任务处理的是执行梯形图控制算法程序,实现对机器进行控制并向公共数据区写入机器数据量;诊断任务处理的是读取公共数据区中的机器数据量,然后将采集到的机器数据量输入推理引擎,再进行针对非致命故障的诊断过程,系统采用优先级抢占式调度算法对这两个任务进行调度。本发明克服现有技术中单任务PLC控制效率低的缺点,将非致命故障诊断程序单独作为一个任务,采用优先级抢占式调度算法对控制任务和诊断任务进行调度,提高了PLC的控制效率。
Description
技术领域
本发明涉及可编程逻辑控制器(PLC)技术领域,特别地,涉及一种在PLC中嵌入非致命故障诊断的方法。
背景技术
传统的PLC大多采用单任务的时钟扫描来执行逻辑运算和顺序控制,这直接导致了PLC的控制速度依赖于程序大小。然而在工业控制中,对机器运行非致命的机器故障数量很多,若用梯形图实现对这些故障的诊断,无疑会使梯形图变得非常庞大,故障诊断也将占用CPU太长时间,从而影响PLC的控制效率。
发明内容
本发明旨在提供一种在PLC中嵌入非致命故障诊断的方法,以提高PLC的控制效率。
本发明的目的是通过以下技术方案来实现的:
一种在PLC中并行执行逻辑控制任务与非致命故障诊断任务的方法,包括以下步骤:
(1)创建控制任务和诊断任务并分配优先级,控制任务分配高优先级,诊断任务分配低优先级;
(2)将控制任务和诊断任务压入就绪任务队列中;
(3)执行控制任务,执行过程中若定时器中断产生,则控制任务转换为中断服务态,然后进入步骤(6);
(4)当控制任务完成后挂起控制任务;
(5)执行诊断任务,诊断执行过程中若定时器中断产生,则诊断任务转换为中断服务态,然后进入步骤(6);
(6)检测控制周期是否到达,若控制周期到达则将控制任务压入就绪队伍列表中,进入步骤(7),若控制周期未到达,则检测控制任务是否完成,若控制任务未完成则将控制任务压入就绪队伍列表中,进入步骤(7),若控制任务已完成则将诊断任务压入就绪队伍列表中,进入步骤(7);
(7)任务调度,选择就绪任务队列中优先级高的任务运行,若就绪任务队列中有控制任务,则返回步骤(3),若就绪任务队列中只有诊断任务,则返回步骤(5)。
相比于现有技术,本发明的有益效果在于:所涉及的在PLC中嵌入非致命故障诊断的方法克服现有技术中单任务PLC控制效率低的缺点,将非致命故障诊断程序单独作为一个任务,采用优先级抢占式调度算法对控制任务和诊断任务进行调度,提高了PLC的控制效率。
附图说明
图1是在PLC中嵌入非致命故障诊断方法的任务状态图;
图2是在PLC中嵌入非致命故障诊断方法的优先级抢占式调度示例图;
图3是在PLC中嵌入非致命故障诊断方法的示范性实施例框图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明所公开的在PLC中嵌入非致命故障诊断的方法在于克服现有技术中单任务PLC控制效率低的缺点,以提高PLC的控制效率。首先,将PLC中的任务分为逻辑控制任务和非致命故障诊断任务两部分。逻辑控制任务处理的是梯形图控制算法程序,主要实现对机器运行的控制功能,由于相比于非致命故障诊断,逻辑控制更为重要,所以将其定义为优先级较高的任务。非致命故障诊断任务处理的是利用机器数据量进行针对非致命故障的诊断过程,因这些故障都是非致命的,实时响应要求较低,所以将其定义为优先级较低的任务。系统采用优先级抢占式调度算法对这两个任务进行调度。
结合图1所示,本发明所公开的方法如下所述,
(1)创建控制任务和诊断任务并分配优先级(S10),控制任务分配高优先级,诊断任务分配低优先级。
(2)将控制任务和诊断任务压入就绪任务队列中,任务进入就绪状态(S11)。
(3)执行控制任务,控制任务进入运行状态(S12),执行过程中若定时器中断产生,则控制任务转换为中断服务态(S13),然后进入步骤(6)。
(4)当控制任务完成后挂起控制任务,控制任务进入挂起状态(S14);
(5)执行诊断任务,诊断任务进入运行状态(S15),执行过程中若定时器中断产生,则诊断任务转换为中断服务态(S13),然后进入步骤(6)。
(6)检测控制周期是否到达,若控制周期到达则将控制任务压入就绪队伍列表中,控制任务进入就绪状态(S11),进入步骤(7),若控制周期未到达,则检测控制任务是否完成,若控制任务未完成则将控制任务压入就绪队伍列表中,控制任务进入就绪状态(S11),进入步骤(7),若控制任务已完成则将诊断任务压入就绪队伍列表中,诊断任务进入就绪状态(S11),进入步骤(7)。
(7)对就绪任务队列中的任务进行调度,选择就绪任务队列中优先级高的任务运行,若就绪任务队列中有控制任务,则返回步骤(3),若就绪任务队列中只有诊断任务,则返回步骤(5)。
图2是该方法的优先级抢占式调度示例图,在一个控制周期内,系统先执行控制任务,当控制任务完成且下一控制周期未开始时,转而执行对非致命故障的诊断任务,一旦下一控制周期开始时,控制任务抢占CPU,诊断任务被中断,内核就切换诊断任务的现场到控制任务的现场,控制任务再次执行。系统就这样周而复始地调度控制任务和诊断任务。
图3是一个示范性实施例框图,描述了在PLC中控制任务和诊断任务各自的工作以及基于公共数据区的交互,该公共数据区是内存中由PLC逻辑数据映射的一块连续存储区域,按数据类型进行区域化分为比特区、字节区、单字区、双字区和浮点区。其中,控制任务执行梯形图控制算法,实现的具体功能为:对机器进行逻辑运算和顺序控制;向公共数据区内写入对非致命故障诊断有用的数据量,即诊断任务中数据库中的诊断数据。
诊断任务中包含数据库、故障库以及算法库。数据库中的诊断数据包括开关量、模拟量、计数量三类基本数据以及时序数据、多维数据两类复杂数据,其中时序数据主要是具有一定规律的模拟量间隔采样数据,这些数据随时间变化呈现一定的规律;多维数据主要是由多个瞬态的模拟量组成的数据序列。故障库中的故障包括对应于基本数据的基本故障和对应于复杂数据的复杂故障。算法库包括对基本数据进行诊断的简单规则库和对复杂数据的模式识别算法库:简单规则库采用产生式规则作为故障的知识表示,一条规则包括条件和结论两个对象,条件为数据库中的诊断数据,结论为故障库中的故障码以及相应故障描述;模式识别算法库包括概率神经网络算法库和曲线拟合算法库,概率神经网络算法对多维数据进行模式识别从而诊断故障,曲线拟合算法对时序数据进行模式识别从而诊断故障。
诊断的具体步骤如下:
诊断任务从公共数据区内读取诊断数据量。然后判断读取的诊断数据是属于基本数据还是复杂数据,若是基本数据,则输入简单规则库,与规则库中的规则条件进行匹配,若匹配成功,则规则结论成立,输出为相对应的故障码,说明有故障发生,若没有相匹配的条件,则输出为0,说明当前状态是正常状态;若是复杂数据,则输入模式识别算法库进行故障诊断,具体为多维数据采用概率神经网络算法进行模式识别,时序数据采用曲线拟合算法进行模式识别,输出皆为故障码或0。最后将诊断结果通过显示器显示出来,正常就显示0,否则显示故障码。
Claims (1)
1.一种在PLC中嵌入非致命故障诊断的方法,其特征在于:该方法将PLC中的任务分为控制任务和诊断任务;其中,控制任务处理的是执行梯形图控制算法程序,实现对机器进行控制并向公共数据区写入机器数据量;诊断任务处理的是读取公共数据区中的机器数据量,然后将采集到的机器数据量输入推理引擎,再进行针对非致命故障的诊断过程,系统采用优先级抢占式调度算法对这两个任务进行调度,具体包括如下步骤:
(1)创建控制任务和诊断任务并分配优先级,控制任务分配高优先级,诊断任务分配低优先级;
(2)将控制任务和诊断任务压入就绪任务队列中;
(3)执行控制任务,执行过程中若定时器中断产生,则控制任务转换为中断服务态,然后进入步骤(6);
(4)当控制任务完成后挂起控制任务;
(5)执行诊断任务,执行过程中若定时器中断产生,则诊断任务转换为中断服务态,然后进入步骤(6);
(6)检测控制周期是否到达,若控制周期到达则将控制任务压入就绪队伍列表中,进入步骤(7),若控制周期未到达,则检测控制任务是否完成,若控制任务未完成则将控制任务压入就绪队伍列表中,进入步骤(7),若控制任务已完成则将诊断任务压入就绪队伍列表中,进入步骤(7);
(7)任务调度,选择就绪任务队列中优先级高的任务运行,若就绪任务队列中有控制任务,则返回步骤(3),若就绪任务队列中只有诊断任务,则返回步骤(5)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110074874A CN102183952B (zh) | 2011-03-28 | 2011-03-28 | 一种在plc中嵌入非致命故障诊断的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110074874A CN102183952B (zh) | 2011-03-28 | 2011-03-28 | 一种在plc中嵌入非致命故障诊断的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102183952A true CN102183952A (zh) | 2011-09-14 |
CN102183952B CN102183952B (zh) | 2012-09-05 |
Family
ID=44570139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110074874A Active CN102183952B (zh) | 2011-03-28 | 2011-03-28 | 一种在plc中嵌入非致命故障诊断的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102183952B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399798A (zh) * | 2013-07-29 | 2013-11-20 | 深圳市汇川控制技术有限公司 | Plc的多任务控制方法和装置 |
CN105260239A (zh) * | 2015-10-19 | 2016-01-20 | 福建奥通迈胜电力科技有限公司 | 一种用于故障指示器功能性能均衡调度方法 |
CN107589733A (zh) * | 2016-07-08 | 2018-01-16 | 华北电力大学 | 控制器诊断信号生成、故障保护及功能安全的方法、系统 |
CN114625098A (zh) * | 2020-12-10 | 2022-06-14 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897623A (zh) * | 2006-06-26 | 2007-01-17 | 株洲南车时代电气股份有限公司 | 一种机车/车辆控制、诊断与通信管理方法及装置 |
CN101295247A (zh) * | 2008-06-24 | 2008-10-29 | 杭州义益自动化有限公司 | 一种跨cpu平台的嵌入式图形界面生成方法 |
JP2009157512A (ja) * | 2007-12-25 | 2009-07-16 | Fujitsu Ten Ltd | 電子制御装置、異常診断システム、及び、電子制御装置の異常診断方法 |
-
2011
- 2011-03-28 CN CN201110074874A patent/CN102183952B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897623A (zh) * | 2006-06-26 | 2007-01-17 | 株洲南车时代电气股份有限公司 | 一种机车/车辆控制、诊断与通信管理方法及装置 |
JP2009157512A (ja) * | 2007-12-25 | 2009-07-16 | Fujitsu Ten Ltd | 電子制御装置、異常診断システム、及び、電子制御装置の異常診断方法 |
CN101295247A (zh) * | 2008-06-24 | 2008-10-29 | 杭州义益自动化有限公司 | 一种跨cpu平台的嵌入式图形界面生成方法 |
Non-Patent Citations (1)
Title |
---|
《组合机床与自动化加工技术》 20060228 王海,巩亚东,王宛山 基于PLC的故障诊断及处理 , * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399798A (zh) * | 2013-07-29 | 2013-11-20 | 深圳市汇川控制技术有限公司 | Plc的多任务控制方法和装置 |
CN105260239A (zh) * | 2015-10-19 | 2016-01-20 | 福建奥通迈胜电力科技有限公司 | 一种用于故障指示器功能性能均衡调度方法 |
CN105260239B (zh) * | 2015-10-19 | 2019-01-11 | 福建奥通迈胜电力科技有限公司 | 一种用于故障指示器功能性能均衡调度方法 |
CN107589733A (zh) * | 2016-07-08 | 2018-01-16 | 华北电力大学 | 控制器诊断信号生成、故障保护及功能安全的方法、系统 |
CN114625098A (zh) * | 2020-12-10 | 2022-06-14 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
CN114625098B (zh) * | 2020-12-10 | 2023-10-20 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102183952B (zh) | 2012-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103441900B (zh) | 集中式跨平台自动化测试系统及其控制方法 | |
CN103699489B (zh) | 一种基于知识库的软件远程故障诊断与修复方法 | |
CN105069134B (zh) | 一种Oracle统计信息自动收集方法 | |
CN103592880B (zh) | 用于大型工程类设备的智能控制器系统 | |
CN103399798A (zh) | Plc的多任务控制方法和装置 | |
CN103235881B (zh) | 一种基于最小割集的核反应堆故障监测系统 | |
CN102183952B (zh) | 一种在plc中嵌入非致命故障诊断的方法 | |
CN102914998B (zh) | 嵌入式小型四轴开放式数控系统 | |
CN104036029B (zh) | 大数据一致性对比方法和系统 | |
CN108009258B (zh) | 一种可在线配置的数据采集与分析平台 | |
CN108897676B (zh) | 基于形式化规则的飞行引导控制软件可靠性分析系统与方法 | |
CN106126601A (zh) | 一种社保大数据分布式预处理方法及系统 | |
CN102053912A (zh) | 一种基于uml图形对软件进行自动化测试的装置及方法 | |
CN101639803A (zh) | 多线程应用系统的异常处理方法和异常处理装置 | |
CN101211172A (zh) | 一种采用缓冲模式的生产线实时数据采集方法 | |
CN106780149A (zh) | 一种基于定时任务调度的设备实时监测系统 | |
CN101478432A (zh) | 基于存储过程定时调度的网元状态轮询方法 | |
CN104991506B (zh) | 基于plc与触摸屏控制的产线设定系统及其设定方法 | |
CN109992366A (zh) | 任务调度方法及调度装置 | |
CN101915894B (zh) | 测试数字逻辑器件中实时有限状态机的方法 | |
CN108594051A (zh) | 一种电气设备故障自动检测方法和系统 | |
CN106527371B (zh) | 智能制造bc系统通用驱动框架 | |
CN102497135A (zh) | 一种基于规则引擎的光伏电站监控方法 | |
CN104065510A (zh) | 一种基于PetriNet的系统运维监控方法及系统 | |
CN205210868U (zh) | 一种基于多核cpu的多任务分配 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |