IP Library Granted Patent US 8,010,475
Granted Patent B2
US 8,010,475 · App. 12/101,294 · Granted Aug 30, 2011

Online fault detection and avoidance framework for distributed factory control systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,010,475
App. No.
12/101,294
Granted
Aug 30, 2011
Kind
B2
Abstract

An on-line fault detection and avoidance method is provided for industrial control systems that include multiple interacting process controllers. The method addresses the problem that not all faults can be determined and removed at the time of system design and testing. When a fault translates into a time-out condition in one or more controllers, symptoms are identified, persistence is measured, other involved controllers are identified, the fault condition is identified and control laws are reconfigured to avoid the fault condition in the future.

Claims (80)

1. A method for detecting and avoiding faults in a distributed factory control system having a plurality of industrial controllers, each said controller controlling at least one underlying process, the method comprising:

in a first controller, identifying a symptom of a fault condition by identifying a deviation of a state of an underlying process controlled by the first controller from a corresponding state kept by the controller;

in the first controller, measuring a persistence of the symptom, and ignoring the symptom if the measured persistence is below a threshold value;

finding other controllers involved in the fault condition by generating in at least the first controller a search tree having leaf nodes that are monitored conditions;

identifying the fault condition including identifying states of the other controllers involved in the fault condition; and

reconfiguring control rules controlling states of the involved controllers to avoid the fault condition in the future;

wherein finding other controllers involved in the fault condition further comprises:

starting the search tree at a state where place p 1 of a time Petri net is marked for an amount of time φ≧THT max (p 1 ) where THT max (p 1 ) is a maximum token holding time of place p 1 ;

if none of the leaf nodes of the search tree in the first controller exceeds its maximum token holding time, then generating a search tree in a second controller starting at a place q of a time Petri net that is an output of a transition t 1 to which p 1 is an input; and

creating a chain of controllers by repeating the generating a search tree step in additional controllers until one of the following conditions is met:

a. maximum token holding time condition is not exceeded in any leaf node in a search tree;

b. none of the places in a controller where the maximum token holding time has been exceeded lies in any path with places or transitions connected to other controllers; and

c. a search tree within a controller contains only null-cycles.

2. The method of claim 1 , wherein identifying a symptom of a fault condition further comprises:

identifying the state of an underlying process controlled by the first controller by observing sensory devices associated with the underlying process.

3. The method of claim 1 , wherein identifying a symptom of a fault condition further comprises:

modeling in the first controller at least one underlying process using a time Petri net.

4. The method of claim 1 , wherein identifying the fault condition further comprises:

analyzing a search tree of a last controller in the chain of controllers where maximum token holding time has been exceeded.

5. The method of claim 1 , wherein identifying the fault condition further comprises:

generating in the first controller a Task-Wait-For graph using state information acquired from at least one other controller.

6. A method for detecting and avoiding faults in a distributed factory control system having a plurality of industrial controllers, each said controller controlling at least one underlying process, the method comprising:

in a first controller, identifying a symptom of a fault condition by identifying a deviation of a state of an underlying process controlled by the first controller from a corresponding state kept by the controller;

in the first controller, measuring a persistence of the symptom, and ignoring the symptom if the measured persistence is below a threshold value;

finding other controllers involved in the fault condition by generating in at least the first controller a search tree having leaf nodes that are monitored conditions;

identifying the fault condition including identifying states of the other controllers involved in the fault condition; and

reconfiguring control rules controlling states of the involved controllers to avoid the fault condition in the future, including:

transmitting from the first controller to at least one active controller associated with the fault condition a list of “to avoid” states.

7. The method of claim 6 , further comprising:

receiving at the first controller a state of each controller associated with the fault condition, and

comparing the received states with the list of “to avoid” states to determine whether to disable a transition that is within the first controller's control.

8. The method of claim 7 , wherein the first controller controls a process performed on a part, and wherein a state of the first controller includes a state of the part.

9. The method of claim 6 , wherein identifying a symptom of a fault condition further comprises:

identifying the state of an underlying process controlled by the first controller by observing sensory devices associated with the underlying process.

10. The method of claim 6 , wherein identifying a symptom of a fault condition further comprises:

modeling in the first controller at least one underlying process using a time Petri net.

11. The method of claim 6 , wherein identifying the fault condition further comprises:

analyzing a search tree of a last controller in the chain of controllers where maximum token holding time has been exceeded.

12. The method of claim 6 , wherein identifying the fault condition further comprises:

generating in the first controller a Task-Wait-For graph using state information acquired from at least one other controller.

13. A computer program product comprising a computer readable recording medium having recorded thereon a computer program comprising code means for, when executed on an industrial controller, instructing said controller to control steps in a method for detecting and avoiding faults in a distributed factory control system having a plurality of industrial controllers, each said controller controlling at least one underlying process, the method comprising:

in a first controller, identifying a symptom of a fault condition by identifying a deviation of a state of an underlying process controlled by the first controller from a corresponding state kept by the controller;

in the first controller, measuring a persistence of the symptom, and ignoring the symptom if the measured persistence is below a threshold value;

finding other controllers involved in the fault condition by generating in at least the first controller a search tree having leaf nodes that are monitored conditions;

identifying the fault condition including identifying states of the other controllers involved in the fault condition; and

reconfiguring control rules controlling states of the involved controllers to avoid the fault condition in the future;

wherein finding other controllers involved in the fault condition further comprises:

starting the search tree at a state where place p 1 of a time Petri net is marked for an amount of time φ≧THT max (p 1 ) where THT max (p 1 ) is a maximum token holding time of place p 1 ;

if none of the leaf nodes of the search tree in the first controller exceeds its maximum token holding time, then generating a search tree in a second controller starting at a place q of a time Petri net that is an output of a transition t 1 to which p 1 is an input; and

creating a chain of controllers by repeating the generating a search tree step in additional controllers until one of the following conditions is met:

a. maximum token holding time condition is not exceeded in any leaf node in a search tree;

b. none of the places in a controller where the maximum token holding time has been exceeded lies in any path with places or transitions connected to other controllers; and

c. a search tree within a controller contains only null-cycles.

14. The computer program product of claim 13 , wherein identifying a symptom of a fault condition further comprises:

identifying the state of an underlying process controlled by the first controller by observing sensory devices associated with the underlying process.

15. The computer program product of claim 13 , wherein identifying a symptom of a fault condition further comprises:

modeling in the first controller at least one underlying process using a time Petri net.

16. The computer program product of claim 13 , wherein identifying the fault condition further comprises:

analyzing a search tree of a last controller in the chain of controllers where maximum token holding time has been exceeded.

17. The computer program product of claim 13 , wherein identifying the fault condition further comprises:

generating in the first controller a Task-Wait-For graph using state information acquired from at least one other controller.

18. A computer program product comprising a computer readable recording medium having recorded thereon a computer program comprising code means for, when executed on an industrial controller, instructing said controller to control steps in a method for detecting and avoiding faults in a distributed factory control system having a plurality of industrial controllers, each said controller controlling at least one underlying process, the method comprising:

in a first controller, identifying a symptom of a fault condition by identifying a deviation of a state of an underlying process controlled by the first controller from a corresponding state kept by the controller;

in the first controller, measuring a persistence of the symptom, and ignoring the symptom if the measured persistence is below a threshold value;

finding other controllers involved in the fault condition by generating in at least the first controller a search tree having leaf nodes that are monitored conditions;

identifying the fault condition including identifying states of the other controllers involved in the fault condition; and

reconfiguring control rules controlling states of the involved controllers to avoid the fault condition in the future; including:

transmitting from the first controller to at least one active controller associated with the fault condition a list of “to avoid” states.

19. The computer program product of claim 18 , wherein the method further comprises:

receiving at the first controller a state of each controller associated with the fault condition, and

comparing the received states with the list of “to avoid” states to determine whether to disable a transition that is within the first controller's control.

20. The computer program product of claim 19 , wherein the first controller controls a process performed on a part, and wherein a state of the first controller includes a state of the part.

21. The computer program product of claim 18 , wherein identifying a symptom of a fault condition further comprises:

identifying the state of an underlying process controlled by the first controller by observing sensory devices associated with the underlying process.

22. The computer program product of claim 18 , wherein identifying a symptom of a fault condition further comprises:

modeling in the first controller at least one underlying process using a time Petri net.

23. The computer program product of claim 18 , wherein identifying the fault condition further comprises:

analyzing a search tree of a last controller in the chain of controllers where maximum token holding time has been exceeded.

24. The computer program product of claim 18 , wherein identifying the fault condition further comprises:

generating in the first controller a Task-Wait-For graph using state information acquired from at least one other controller.

Assignments (2)
MERGER Recorded Apr 12, 2010
From: SIEMENS CORPORATE RESEARCH, INC.
To: SIEMENS CORPORATION
Reel/Frame 024216/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2008
From: ZHAO, PENG; LU, YAN
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 021108/0113 →