US 5216619 A
The present invention relates to a path management system for regulating equipment resources which moves process material through a process system. The process system includes a control procedure for implementing a specific process application. The path management system includes a path editor for building different path specifications, each of which defines an equipment set and sequences of equipment operations for a specific process application. A database is interconnected to the path editor for storing the plurality of path specifications built by the path editor. The path management system further includes a path selector for selecting a single path specification for the specific process application from a plurality of path specifications stored in the database. The path selector then validates the availability of equipment resources identified by the selected single path specification at a particular instant in time. The path management system also includes a path actuator which is initiated by the control procedures for regulating the equipment resources, based on the validated path specification, to coordinate the sequence of the equipment resource operations for the selected path specification.
1. A path management system for regulating equipment resources and operations thereof which moves process material through a process system, said process system including a control procedure for implementing a specific process application, said path management system comprising:
path editor means for building a plurality of path specifications for a specific process application, each path specification defining a different set of equipment resources and sequences of respective equipment resource operations for the specific process application, such that there are multiple path specifications for each specific process application of the process system;
at least one database, interconnected to said path editor means, for storing said plurality of path specifications;
path selector means for selecting in real-time a single path specification for the specific process application from the plurality of path specifications stored in said database for the specific process application, and for validating in real-time the availability of equipment resources defined by the selected single path specification at a particular instance in time, send path selector means operating in real-time; and
path actuator means, initiated by the control procedure, for regulating the equipment resources, based on the selected and validated path specification, to coordinate the sequence of equipment resource operations defined by the selected and validated path specification.
2. The system of claim 1 wherein said path selector means includes means for selecting an alternate path specification from the plurality of path specifications stored in said database if said single path specification is unavailable for the particular instance in time.
3. In a process system having a plurality of equipment controlled by a digital processor to perform a plurality of processes for providing various products, digital processor apparatus for path management comprising:
a database for holding indications of path of the process system, the paths defined from sets of equipment of the process system and sequences of equipment operations of the equipment, such that each path is formed of a specific equipment set and a sequence of corresponding equipment operations to perform the respective desired process of the process system, for each desired process of the process system, there being plural paths indicated in the database, each of the plural paths being defined from at least different sets of equipment than the other paths of said plural paths, such that there are plural different paths for performing the desired process;
path selector means coupled between the digital processor and the database for selecting in real-time paths from the database for processes desired to be performed in the process system, for each said desired process, the path selector means operating in real-time by (a) selecting one of the plural paths indicated in the database for that desired process, the path selector means selecting the one path as a function of at least current status of equipment of the path, and (b) providing an indication of the selected path to the digital processor; and
at least one path actuator means coupled to the digital processor for receiving therefrom an indication of the path selected by the selector means for a desired process, and the path actuator means operating equipment of the process system according to the selected path to perform the desired process in the process system, such that real-time selection of paths by the path selector means enables the digital processor to control process system equipment to perform desired processes independent of selection of specific equipment for each desired process.
4. Digital processor apparatus as claimed in claim 3 where a plurality of path actuator means is coupled to the digital processor for receiving therefrom indications of paths selected by the path selector means for a multiplicity of desired processes, each path actuator means operating equipment of the process system according to a respective selected path to perform a different desired process and coordinating equipment operation with equipment operation of other path actuator means, such that the multiplicity of desired processes are performed simultaneously in the process system.
5. Digital processor apparatus as claimed in claim 3 wherein the equipment of the process system includes valves, pumps, transfer means and holding means.
6. Digital processor apparatus as claimed in claim 3 further comprising a path editor for defining paths of the process system, the path editor being connected to the database for transfer of indications of defined paths from the path editor to the database for storage therein.
7. Digital processor apparatus as claimed in claim 3 wherein the path selector means selects a path as a function of current status of equipment and indications of a source equipment and destination equipment of the desired process.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Process flow material (ores, fluids, gases, discrete parts, electrical power, and/or information) through process equipment by various and changing routes. This meaning of route, as a specific equipment set, is hereafter termed a path.
The particular path that is exercised in any given instance can depend on many factors: product type, equipment availability, equipment contents, transfer volume, process operations in progress, etc. Often a given transfer/movement may exercise one route on one occasion, and a different one at another time.
The most preferable way for a process operator (for purposes of this document "operator" and "control procedure" are synonymous) to select a transfer path is to tell the control system the nature of a path, for example the origin and the destination of the transfer, then let the control system determine the particular equipment resources which can, and are available to, effect the transfer. Subsequently the operator would prefer to operate the selected path as an entity by simple invocations, provoking the control system to perform the appropriate sequence of equipment operations (valving, switching, etc.).
While this is a preferable operating scenario, it is not simply done. The details of just selecting a path may consist of a very simple decision rule or a very complicated one. Performing the array of coordinated equipment operations of a path is equally complex.
The present invention provides a path management system for regulating equipment resources which moves process material through a process system. Said process system includes a control procedure for implementing a specific process application.
The present invention path management system comprises:
(a) a path editor means;
(b) at least one database;
(c) path selector means; and
(d) path actuator means.
The path editor means builds a database of path specifications. Each path specification defines an equipment set (i.e., a set of equipment resources) and sequences of equipment operations for a specific process application. The database is interconnected to the path editor means for storing the plurality of path specifications.
The path selector means selects a single path specification for the specific process application from the path specifications stored in the database. The path selector means also validates the availability of equipment resources identified by the selected single path specification at a particular instance in time.
The path actuator means is initiated by the control procedure of the process system and regulates the equipment resources based on the validated selected single path specification. In turn, this coordinates the sequence of equipment resource operations for the specific type of path specification.
In accordance with one aspect of the present invention the path selector means includes means for selecting an alternate single path specification from the plurality of path specifications stored in the database if the selected single path specification is unavailable for the particular instance in time.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the present invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views.
FIG. 1 a block diagram of a process system employing the present invention.
FIG. 2 is a block and data flow diagram of an embodiment of the present invention as employed in the process system of FIG. 1.
Computer program listings are included in the attached Appendix. The listing is source code for implementing path management of equipment that moves materials through a process system.
This specification defines the conceptual functionality of a path management technique to address the problems of the prior art. FIG. 1 is a context diagram for this technique while FIG. 2 is a combined block and data flow diagram of an implementation of this technique.
Functional Requirements of a Solution.
Proper path management must accomplish the following:
Must offload process operators of the requirement to know the equipment content of the paths they exercise. Instead, control procedures should ignore the details of path formation and path equipment, and should restrict their path considerations to (1) when a path must be formed, and subsequently (2) when to operate the path.
Must relieve process operators of the necessity to define transfer paths, by providing the operator a menu of predefined paths, and by automatically selecting a path from a database of predefined paths.
Must allow process operators to select paths by type, meaning selection is based on combinations of an assortment of selection criteria.
Must provide Process Engineers as easy to use means for defining paths into the path database and for maintaining the path database.
Must handle paths as simple as a single valve, pump, switch, or data structure, and paths as complex as a great many elements that must be conditionally operated.
Must make paths wield-able as entities--little different than valves, switches, and the like to operators and control procedures alike, reducing path operation (externally) to simple commands, like open, close, shutdown, clean, etc.
Solutions providing this functionality fall into four general categories.
In the first solution--the least complex--the control system human interface provides a means for the process operator to pick (perhaps via a graphic display) the valves which constitute a path. This is actually manual path selection since the control system suggests nothing and remembers nothing beyond each such path formation.
Sophistications of this approach might make it easier for the operator to select a path, but this is not automatic path selection. And even if the control system remembered (into a library) the operator's path selections, there is still no provision for operating the paths in complex, coordinated ways as single entities.
The second solution entails a program whose logic embodies the decision rules (path algorithms) which the operator uses. The program is a sort of expert, and indeed might be implemented using an expert shell. The program accepts selection criteria as input and determines a path of equipment based on rules it knows.
This solution is obviously superior to the first--in that it provides automatic path selection. However, this solution has the shortcoming that it is bound to a given plant configuration. Even for the plant instance, the addition, deletion, or repositioning of a single equipment can have severe consequences on the validity of the program.
Solution three is a relational-database approach augmented with computer programs for database building, path selecting, and path operating. It emphasizes user configuration work, as against user programming. The database is a library of accepted, predefined paths. Its database tuples are herein termed path specifications.
Each path specification establishes criteria for selecting it, a list of the equipment which constitute the path, a list of conditions for validating the real-time availability of the path, and specifications of the operations which may be performed with the path.
This solution is obviously more flexible. It is quickly understood by its users. Its configuration emphasis makes it superior to the first two solutions. It is highly reusable; only the database--not the computer programs--need change when the process environment evolves. Maintenance of the database is made easy by an editor program.
The fourth solution is perhaps the most elegant, but also the most complex.
This solution conceives/maps the process as a graph of nodes and arcs. The graph is more than a topological model; true, each node depicts an equipment, but the arcs signify deep relations between equipment.
This solution provides the most automatic form of path selection. No library of paths--as in solution three--is necessary. This solution computes possible paths based on the process graph.
The difficulty with this solution is firstly, the difficulty of developing it--an effective implementation requires special skills and probably a long development time; secondly, it is not intuitively obvious how to incorporate the operation of paths as entities.
Since the first solution does not properly satisfy our requirements for automatic path selection, it is not a solution at all. The second solution does not provide a general-purpose solution and is therefore unacceptable.
In view of its cost-effectiveness and simplicity to understand and use, and in view of the uncertainties in the fourth approach, this document prefers solution three.
A transfer path is a route through a matrix of elements (pipes, valves, pumps, conveyors, etc.). Applications which vary transfer paths for the same operation have these basic needs:
Must be able to find different transfer paths at different times for the same selection criteria, for example the same origin and destination pair.
Must be able to evolve a path, adding and deleting path elements as the operation progresses.
Must be able to exclusively appropriate some path elements.
Must be able to share some path elements with concurrent operations.
The above requirements suggest a path composed of path segments (or recursively, a path of paths). A path segment in turn is composed of path elements (valves, pumps, etc.). The complete definition of a path includes (1) not only those elements in the direct line of the path, but (2) also those which border the path and insure, by their proper state, the integrity of the path.
A means is required for describing paths in this manner. A path description using the following assignable statuses for path elements (in-line and bordering) is such a means:
Not in use, meaning the element is not a member of any designated path at the moment.
Locked, meaning the element is currently owned but can be designated to more than one path--as long as both paths lock the element to the same state. Indeed, any owner (path) who locks an element makes a promise to the environment that the control state of the element will remain the same for as long as it is selected. An element so locked may not be unlocked until all paths which locked it are dissolved. The locked status is an express provision to facilitate equipment-sharing.
Secured, meaning the element is reserved for the exclusive use of a single path. Path elements which will be operated during the interval while the path is selected must be assigned this status.
Out of Service, meaning the element is unusable either because it has failed or because it is being maintained. An element with this state cannot be designated to any path.
Paths themselves have states. An operator or engineer may have reason to query the status of a path, and the management of paths requires they have interrogatable statuses. Paths have at least the following states: In-use, meaning the path has been selected by an operator. The path remains in-use until it is dissolved by the path/agent who invoked it.
Dissolved, meaning the path is not in use.
Since a path is operated as a entity (e.g., OPEN PATH, CLOSE PATH, CLEAN, FAIL PATH), just like one equipment, an effective design will allow a path to assume the same attributes as any path element.
Referring to FIGS. 1 and 2, there are two human interfaces 17, 15: one for Process Operators, and one for Process Engineers.
Process Operator Interface 17.
This interface allows an operator to (1) select a path from a menu of predefined paths, (2) invoke a display of the path's equipment, (3) operate the path as an entity, and (4) dissolve (release) the path.
Process Engineer Interface 15.
This interface is provided for path designers who identify and specify paths, and who must maintain the Path Database 39. A Path Editor 35 accepts Path Specifications 37 from an engineer, and commits them to the Path Database 39.
Specifically, the Path Editor 35 allows for adding, modifying, deleting, and reporting Path Specifications 37. When adding, the Path Editor 35 provides a copy facility to make the definition task easier. (The copy becomes the basis for defining the new Path.) When reporting, the Path Editor 35 provides display and hardcopy presentations, according to user-selected sort-keys.
A path specification 37 (FIG. 2) is a database 39 tuple which completely describes one path.
When the process engineer defines a path, a series of four computer generated screen views prompt for a complete path specification, comprising four categories of information:
Declaration of Path Elements
Path Operation specifications
These categories are detailed in the following subsections.
These are the features of a path which establish its selectability, e.g., where the path begins, where it goes to, the type of path it is, etc. The particular attributes of a path depend on the nature of the application; the combinations required for a given selection are optional.
The following are given as examples:
In order for the package (computer apparatus or digital processor apparatus) 13 of the present invention to honor a request to select a path from among a set of paths, each member of the set must have a common origin and destination. These common origin and destination are identified in General Origin and General Destination attributes.
See General Origin above.
This attribute identifies the specific path element of origin.
This attribute identifies the specific path element that is the destination (inclusive).
This attribute identifies the control procedure 19, or family of procedures, for which the path is appropriate.
This optional attribute quantifies the length of the path or its capacity. This attribute supports path searches for "shortest path", "greatest volume", etc.
This attribute establishes the preferential rank of the path, relative to other paths having the same general origin and destination, and control procedure. This attribute may be referenced alphabetically (e.g., primary, secondary, etc.) or numerically by integers. Numeric references are interpreted as a scale of preference, "1"representing first choice. Alphabetic references will only support a search for a match.
This optional attribute identifies a display, probably a graphic, to be associated with the path. The value of the attribute is a string variable assumed to be a display name.
A path is "acquired" in real time, exercised for a time interval, then "dissolved".
The selection attributes of a path make it possible to distinguish an appropriate path. The Validation Criteria are the means of determining the usability of a path at the moment we wish to acquire it. That is, the elements, or perhaps only some of the elements, of the path may be in use by another path; or path elements may be failed and out of service. The Validation Criteria are just a list of the path elements which constitute the path and its border, and their acceptable states.
The acceptable state of an element depends on how the path we are defining will be exercised by the Process Operator 17 or the Control Procedure 19. A border valve, for example, is likely to be locked closed in any case. More complexly, however, if the path will be opened and closed during operation then obviously no sharing of in-line elements is possible. But if we know that the path will be opened or closed, and left that way for the duration of the procedure, then we might want to lock some element states to afford simultaneous use.
Validation Criteria are specified in two fields, (1) Elements, and (2) Acceptable States. The first field is to contain the system ID of each element. The latter field describes acceptable states of each element as one of these three:
Not in use
Declaration of Path Elements.
A six-columned screen view of a Path Specification is (computer generated and) displayed for the process engineer. This screen view both identifies the specific elements of the path, and assigns states to those elements. In general, this list comprises the same elements as the Validation Criteria.
Important: The order of this list becomes the order of operation when the path is exercised.
Column one, Order, allows either of two values: Serial or Parallel. Serial indicates that the element to the right of the column must be confirmed as operating properly before any succeeding elements can be operated. Parallel indicates that succeeding elements may be operated without confirming operation of the element at the right. A blank Order line defaults to Serial.
The second column, Type, identifies the element type. There are four element types: analog, bi-state, manual, and procedure. Analog elements are devices which operate over some continuous range. Bi-state elements are on/off devices. Manual elements require operator notification to operate, and operator confirmation that the element is correctly operating/positioned. Procedure elements may be computer programs or sequence blocks.
The third column, Elements, contains the system IDs of the path elements.
The fourth column, Assigned States, specifies the states which the Elements will assume for the duration of the path. (Refer to Section 2.0 for state descriptions.) Columns 5 and 6, Parameters, apply only to analog and procedure types. For analog types these two parameters are a setpoint and a ramp rate. For procedure types these are two values that, if present, will be passed to the computer program or sequence block.
Path Operation Specifications.
A screen view corresponding to this category of information to be provided by the process engineer addresses four important operating scenarios:
Path Initialization (optional)
Opening the path (optional)
Closing the path (optional)
Failing the path (optional)
This section is provided for complex paths. Simple paths will not be initialized, will be operated as indicated on the Declaration of Path Elements screen view, and either will not require failure handling, or will handle failures in some other way. The data entries to this screen view are the names of Sequence Blocks dedicated to the Path and the particular path function (open, close, fail, initialize).
FIG. 2 illustrates this path management package, i.e., computer apparatus or digital processor apparatus of the present invention 13 at a conceptual level. The shaded objects are components of the computer apparatus or digital processor apparatus (software package) 13. The Control Procedure(s) 19 is an application-specific component which uses the present invention software package 13. The shadowed boxes represent data structures.
Path management consists of three functional components built around a path database 39: Path Editor 35, Path Selector 41, and Path Actuator 47. In brief, the process engineer 15 will design paths and will commit them to a Path Database 39 via a Path Editor 35. Thereafter, control procedures 19 and/or the process operator 17 will obtain transfer paths through a Path Selector 41; in turn, an obtained path will be actuated (opened/closed) via a Path Actuator 47.
The Path Database 39.
This database is the repository of all path specifications submitted to the Path Editor 35 by the process engineer 15. In a preferred embodiment this is an Informix-managed database. Currently Applicants are unaware that the database record would contain anything other than just the information supplied on the Path Specification 37.
Path Editor 35.
This editor will provide capabilities for adding, deleting, modifying, and reporting paths and path sets. In its simplest form the Editor 35 is Informix, an interactive structured query language.
The Path Selector 41.
This component serves several purposes.
First, it provides Control Procedures 19 friendly access to the Path Database 39. Calls like FIND PATH and DISSOLVE PATH eliminate any need for the Control Procedures 19 to understand either the Path Database 39 or even the formatting of a Path Specification record.
Secondly, the Path Selector 41 validates the path it finds. It accomplishes this by comparing the validation criteria from the Path Specification 37 corresponding to the path with a real-time database 43. This latter database 43 is one maintained by the Path Selector 41 as it allocates paths and path elements to specific Control Procedures 19.
Finally, the Path Selector 41 forwards a Path Packet 45 to the Control Procedure 19. This packet 45 is a truncated version of the Path Specification 37, omitting the path selection attributes and validation criteria.
The Path Actuator 47.
The Control Procedure 19 (usually a Sequence Block in some Control or host/digital Processor 49 shown in broken lines) will determine when to acquire a path, and when to operate it. The Path Actuator 47 will handle the specific I/O operations. This module understands the specific format and content of a Path Packet 45, and provides friendly Calls for a Control Procedure 19 to OPEN PATH and CLOSE PATH.
These calls pass the Path Packet 45 and a Notify variable to the Actuator 47. The Notify variable is an export variable of the caller's digital processor 49. The Actuator 47 uses the Notify variable to inform the Control Procedure 19 of the following:
path failure (equipment failure)
path failure (path encroaches on an existing path)
Path Types and Elements.
Path management must accommodate paths having at least the following path elements:
single speed pumps
variable speed pumps
on/off switches (for conveyors, etc.)
Paths are as simple as a single valve. At the other end of the scale are complex paths perhaps covering long distances and composed of many path elements. But complex paths must also be procedurally operated, observing strict order and timing of device operation. It is necessary therefore that Path Specifications 37 not only differentiate among analog, digital, and manual elements, but also procedures. ##SPC1##