|
|
|
| United States Patent | 6044305 |
| Link to this page | http://www.wikipatents.com/6044305.html |
| Inventor(s) | Larson; Brent H. (Marshalltown, IA); Burns; Harry A. (Marshalltown, IA); Brown; Larry K. (Marshalltown, IA) |
| Abstract | A system and method for debugging and tuning a process control network
having distributed control functions implemented by a set of field devices
communicatively linked over a bus includes an operational scheduler that
schedules the execution of each of a number of process control functions
and communication functions performed by the field devices to define a
process control scheme and an indicator that indicates one or more process
control scheme locations at which the process control scheme is to be
automatically or conditionally interrupted to thereby enable debugging
and/or tuning of the process control network. A controller interrupts
execution of the process control scheme at the indicated flow locations,
communicates process data to a user to display the current or a past state
of the process to a user and waits for user input before continuing with
operation of the process control scheme. In a tuning mode, the controller
delivers data pertaining to a process parameter to a tuning device or to a
user which determines a new tuning parameter, such as a gain, to be used
within the process control scheme based on the process parameter data. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6044305 |
|
|
Method and apparatus for debugging and tuning a process control network
having distributed control functions |
|
|
|
|
|
| Publication Date |
March 28, 2000 |
|
|
|
|
|
| Filing Date |
December 30, 1997 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
RELATED APPLICATION
This is a continuation-in-part of U.S. patent application Ser. No.
08/726,263, now abandoned, filed Oct. 4, 1996. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5650777 Westfield 340/870.11 Jul,1997 |      Your vote accepted [0 after 0 votes] | | 5631825 van Weele 700/83 May,1997 |      Your vote accepted [0 after 0 votes] | | 5592622 Isfeld 709/207 Jan,1997 |      Your vote accepted [0 after 0 votes] | | 5573032 Lenz 137/486 Nov,1996 |      Your vote accepted [0 after 0 votes] | | 5558115 Lenz
Sep,1996 |      Your vote accepted [0 after 0 votes] | | 5550980 Pascucci 250/551 Aug,1996 |      Your vote accepted [0 after 0 votes] | | 5530643 Hodorowski 700/86 Jun,1996 |      Your vote accepted [0 after 0 votes] | | 5485455 Dobbins
Jan,1996 |      Your vote accepted [0 after 0 votes] | | 5469150 Sitte 340/3.42 Nov,1995 |      Your vote accepted [0 after 0 votes] | | 5469548 Callison 711/114 Nov,1995 |      Your vote accepted [0 after 0 votes] | | 5451923 Seberger
Sep,1995 |      Your vote accepted [0 after 0 votes] | | 5439021 Burlage 137/84 Aug,1995 |      Your vote accepted [0 after 0 votes] | | 5434774 Seberger
Jul,1995 |      Your vote accepted [0 after 0 votes] | | 5404524 Celi, Jr. 713/2 Apr,1995 |      Your vote accepted [0 after 0 votes] | | 5193189 Flood
Mar,1993 |      Your vote accepted [0 after 0 votes] | | 5148433 Johnson 714/10 Sep,1992 |      Your vote accepted [0 after 0 votes] | | 5023869 Grover 370/421 Jun,1991 |      Your vote accepted [0 after 0 votes] | | 5014185 Saito 700/83 May,1991 |      Your vote accepted [0 after 0 votes] | | 4976144 Fitzgerald 73/168 Dec,1990 |      Your vote accepted [0 after 0 votes] | | 4974625 Paullus 137/85 Dec,1990 |      Your vote accepted [0 after 0 votes] | | 4955305 Garnier 112/475.05 Sep,1990 |      Your vote accepted [0 after 0 votes] | | 4918690 Markkula, Jr. 370/400 Apr,1990 |      Your vote accepted [0 after 0 votes] | | 4831558 Shoup 702/188 May,1989 |      Your vote accepted [0 after 0 votes] | | 4691328 Sterling, Jr. 375/257 Sep,1987 |      Your vote accepted [0 after 0 votes] | | 4627045 Olson 370/225 Dec,1986 |      Your vote accepted [0 after 0 votes] | | 4271505 Menot 370/400 Jun,1981 |      Your vote accepted [0 after 0 votes] | | 5197328 Fitzgerald 73/168 Dec,1969 |      Your vote accepted [0 after 0 votes] | | 5109692 Fitzgerald 73/168 Dec,1969 |      Your vote accepted [0 after 0 votes] | | 5684451 Seberger 340/310.16 Dec,1969 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. A system for use in debugging or tuning a process control network having distributed control functions implemented by a plurality of field devices communicatively linked
over a bus, wherein each of the field devices is capable of performing one or more process control functions and one or more communication functions, the system comprising:
a process control operation scheduler that schedules the execution of each of the process control functions and the communication functions performed by the plurality of devices to define a process control scheme;
an indicator that indicates a process control scheme location implemented by one of the plurality of field devices at which the process control scheme is to be interrupted when the process control scheme is in a debugging/tuning mode; and
a controller that stops execution of the process control scheme at the indicated flow location when the indicated flow location is reached and the process control scheme is in the debugging/tuning mode.
2. The system of claim 1, wherein the scheduler controls communication over the bus by sending communication enabling messages to the plurality of field devices and wherein the controller is coupled to the scheduler to prevent the scheduler from
sending communication enabling messages to the field devices when the process control scheme is at the indicated process control scheme location to thereby interrupt the process control scheme.
3. The system of claim 1, wherein the controller further includes a communicator that receives instructions from a host device communicatively connected to the bus and means for causing the operation of the process control scheme to continue in
response to user input at the host device.
4. The system of claim 3, wherein the communicator includes means for retrieving process control data pertaining to the state of the process when the process control scheme is interrupted and means for sending the retrieved process control data
to the host device for display to a user.
5. The system of claim 3, wherein the indicator indicates a conditional breakpoint in the process control scheme and the indicator includes means for storing a condition associated with the conditional breakpoint and means for determining if the
condition associated with the conditional breakpoint is satisfied when the conditional breakpoint is reached within the process control scheme.
6. The system of claim 3, wherein the indicator indicates a multiplicity of single-step stopping points in the process control scheme.
7. The system of claim 3, wherein the indicator indicates a tuning stopping point within the process control scheme, and wherein the system further includes means for storing process data for a process parameter generated before the process
control scheme is interrupted, a tuner that determines a process tuning parameter for the process control network based on the stored process data and means for communicating the process tuning parameter to one of the plurality of field devices.
8. The system of claim 7, wherein the process tuning parameter is a gain.
9. The system of claim 1, wherein the indicator indicates one of the plurality of field devices so that the process control scheme is interrupted when the one of the plurality of field devices is scheduled to operate within the process control
scheme.
10. The system of claim 1, wherein the indicator indicates an instruction address within one of the functions of the one of the plurality of field devices to cause interruption of the process control scheme when the instruction address is
implemented in the process control scheme.
11. The system of claim 1, wherein the indicator indicates a function of the one of the plurality of field devices to cause interruption of the process control scheme when the function is implemented by the one of the plurality of field devices
in the process control scheme.
12. The system of claim 1, wherein the controller includes means located in at least the one of the plurality of field devices for interrupting operation of a function performed by the one of the plurality of field devices when the indicated
location is associated with the operation of the one of the plurality of field devices.
13. The system of claim 1, wherein the controller includes interrupting means located in each of the plurality of field devices, wherein each of the interrupting means interrupts operation of a function performed by an associated field device
when the indicated location is associated with the operation of the associated field device.
14. A method of debugging or tuning a process control network having distributed control functions implemented by a plurality of field devices communicatively linked over a bus, wherein each of the field devices is capable of performing one or
more process control functions and one or more communication functions, the method comprising the steps of:
scheduling an order of execution for the process control functions and the communication functions to define a process control scheme;
marking one or more process control scheme locations associated with the process control functions or the communication functions at which the process control scheme is to be interrupted;
running the process control scheme;
detecting when any one of the plurality of field devices implements a control function or a communication function making up one of the marked process control scheme locations;
interrupting execution of the process control scheme at the one marked process control scheme location;
waiting for a user to indicate that execution of the process control scheme should continue; and
starting the process control scheme at the one marked location upon receipt of a user indication that execution of the process control scheme should continue.
15. The method of claim 14, wherein the step of running the process control scheme includes the step of sending communication enabling messages to different ones of the plurality of field devices at different times and the step of interrupting
execution of the process control scheme includes the step of discontinuing the step of sending communication enabling messages until receipt of the user indication.
16. The method of claim 14, further including the steps of retrieving process data pertaining to the state of the process when the process control scheme is interrupted and sending the retrieved process data via the bus to a host for display to
a user.
17. The method of 14, wherein the step of marking includes the steps of marking one of the process control scheme locations as a conditional breakpoint and storing a condition associated with the conditional breakpoint, and wherein the step of
interrupting includes the steps of determining if the condition associated with the conditional breakpoint is satisfied when the process control scheme reaches the conditional breakpoint and automatically continuing with the process control scheme if the
condition is not satisfied.
18. The method of claim 14, wherein the step of marking includes the step of marking a multiplicity of the process control scheme locations as single-step stopping points.
19. The method of claim 14, wherein the step of marking includes the step of marking the one or more of the process control scheme locations as a process control tuning stopping point within the process control scheme, and wherein the method
further includes the step of retrieving process data associated with a process parameter from one of the plurality of field devices before the process control scheme is interrupted, determining a process tuning parameter for the process control network
using the stored process data and communicating the process tuning parameter to another of the plurality of field devices.
20. A process control device for use in a process control network having distributed control functions implemented by a plurality of field devices communicatively coupled to a bus, wherein each of the field devices includes one or more function
blocks capable of performing an input function, an output function, or a control function within the process control network and capable of communicating on the bus, the process control device comprising:
a first function block that implements a process function to perform a portion of a process control scheme;
a memory that stores an indication of a point within the process control scheme associated with the first function block or with the device; and
a trace-tune function block communicatively coupled to the first function block including means for controlling the process control device to interrupt the process control scheme at the indicated point when the process control scheme reaches the
indicated point.
21. The device of claim 20, wherein the first function block includes an algorithm that performs the process function and software that communicates via the bus after execution of the algorithm and wherein the indication indicates a point before
or after execution of algorithm of the first function block.
22. The device of claim 20, wherein the first function block includes a set of instructions that perform the process function, wherein the indicated point is associated with one of the set of instructions and wherein the controlling means of the
trace-tune function block stops operation of the first function block when the first function block reaches the indicated one of the set of instructions.
23. The device of claim 20, wherein the trace-tune function block includes means responsive to a user for restarting execution of the process control scheme at the indicated point.
24. The device of claim 20, wherein the trace-tune function block includes means for communicating process data from the process control device via the bus when the execution of the process control scheme is interrupted.
25. The device of claim 20, wherein the trace-tune function block further includes means for indicating a condition that must be satisfied at the indicated point, means for determining if the condition is satisfied at the indicated point and
means for stopping execution of the process control scheme when the condition is satisfied at the indicated point.
26. The device of claim 20, wherein the trace-tune function block includes means for changing the mode of the first function block when the process control scheme reaches the indicated point.
27. The device of claim 20, wherein the trace-tune function block includes means for storing data associated with a process parameter during operation of the process control scheme and means for communicating the stored data via the bus when the
process control scheme reaches the indicated point.
28. The device of claim 20, wherein the trace-tune function block includes means for communicating process data from the first function block via the bus when the process control scheme reaches the indicated point. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates generally to process control networks and, more specifically, to a method and apparatus for use in debugging and tuning a process control network having distributed control functions.
DESCRIPTION OF THE RELATED ART
Large processes such as chemical, petroleum and other manufacturing and refining processes include numerous field devices disposed at various locations to measure and control process parameters to thereby effect control of the process. These
field devices may be, for example, sensors such as temperature, pressure, and flow rate sensors as well as control elements such as valves and switches. Historically, the process control industry used manual operations like manually reading level and
pressure gauges, turning valve wheels, etc., to operate the measurement and control field devices within a process. Beginning in the 20th century, the process control industry began using local pneumatic control, in which local pneumatic controllers,
transmitters, and valve positioners were placed at various locations within a process plant to effect control of certain plant elements. With the emergence of the microprocessor-based distributed control system (DCS) in the 1970's, distributed
electronic process control became prevalent in the process control industry.
As is known, a DCS includes an analog or a digital computer, such as a programmable logic controller, connected to numerous electronic monitoring and control devices, such as electronic sensors, transmitters, current-to-pressure transducers,
valve positioners, etc. located throughout a process. The DCS computer stores and implements a centralized and, frequently, complex control scheme to effect measurement and control of process parameters according to some overall control scheme.
Usually, however, the control scheme implemented by a DCS is proprietary to the DCS manufacturer which, in turn, makes the DCS difficult and expensive to expand, upgrade, reprogram, and service because the DCS provider must become involved in an integral
way to perform any of these activities. Furthermore, the equipment that can be used by or connected to any particular DCS may be limited due to the proprietary nature of DCS and the fact that a DCS provider may not support certain devices or functions
of devices manufactured by other vendors.
To overcome some of the problems inherent in the use of proprietary DCSs, the process control industry has developed a number of standard, open communication protocols including, for example, the HART.RTM., PROFIBUS.RTM., WORLDFIP.RTM.,
LONWORKS.RTM., Device-Net.RTM., and CAN protocols, which enable field devices made by different manufacturers to be used together within the same process control loop. In fact, any field device that conforms to one of these protocols can be used within
a process to communicate with and to be controlled by a DCS or other controller that supports the protocol, even if that field device is made by a different manufacturer than the DCS controller manufacturer.
Moreover, there is now a move within the process control industry to decentralize process control and, thereby, simplify DCS controllers or eliminate the need for DCS controllers to a large extent. Decentralized control is obtained by having
process control devices, such as valve positioners, transmitters, etc. perform one or more process control functions and by then communicating data across a bus structure for use by other process control devices. To implement control functions, each
process control device includes a microprocessor having the capability to perform one or more basic control functions as well as the ability to communicate with other process control devices using a standard and open communication protocol. In this
manner, field devices made by different manufacturers can be interconnected within a process control loop to communicate with one another and to perform one or more process control functions or control loops without the intervention of a DCS. The all
digital, two-wire loop protocol now being promulgated by the Fieldbus Foundation, known as the FOUNDATION.TM. Fieldbus protocol (hereinafter the "Fieldbus protocol") is one open communication protocol that allows devices made by different manufacturers
to interoperate and communicate with one another via a standard bus to effect decentralized control within a process.
As noted above, the decentralization of process control functions simplifies and, in some cases, eliminates the necessity of a proprietary DCS which, in turn, reduces the need of a process operator to rely on the DCS manufacturer to implement,
change or upgrade a control scheme for a process control network. In fact, locating basic process control functions within field devices interconnected by a standard communication bus allows a process to be reconfigured, upgraded, enlarged or otherwise
changed by reconfiguring the manner in which the field devices communicate with one another. Such communication reconfiguration is relatively simple, however, because all of the devices performing control functions conform to an open communication
standard. As a result, reconfiguration of such a control scheme does not involve or use proprietary information of any particular manufacturer or require the reprogramming of any device in a proprietary manner. Furthermore, decentralized control
reduces the number of or the length of the wires needed within a process environment because each of the process control devices does not need to be connected directly to a DCS or other controller but, instead, all of the devices can be connected
together using a bus-type architecture. Also, decentralized control results in an increase in the overall control speed of a process because of the shorter distances that each communication signal must travel and because data flow bottlenecks which
typically occur at a DCS controller are reduced.
While decentralized control makes a process control network easier to reconfigure, it also makes the procedure of debugging and tuning a process control network at, for example, the start-up of the network, much more difficult, precisely because
the different control functions are implemented at different times by different devices distributed throughout the process control network. In fact, a process control network having distributed control functions, such as a Fieldbus network, includes
many control elements and functional devices that interact in a highly complex manner using synchronous communications over a bus and, thus, the interactions between the various control elements and functional devices are difficult to model and may not
be fully appreciated by an operator that was not integrally involved in the design of the process control system. Of course, the greatest complexity and operating difficulty is raised when a process control network is first initialized or is "brought on
line." This initialization process commonly requires great skill because a process control network that becomes unstable can be highly dangerous, particularly in oil and gas pipeline applications, nuclear power generating stations, chemical processing
applications and the like. Furthermore, once the process control system is operational, tuning or retuning of the system may be necessary.
Because a process control network having distributed control functions does not include a centralized controller that stores an overall control algorithm that can be programmed to step through each of the different operations or to stop at
predetermined times to allow debugging and tuning of the process control scheme, it is difficult to debug these systems when they are being brought on-line and is can be difficult to retune these systems. In fact, because the different functions of the
overall control scheme are performed at different places within the process control network and these different control functions are scheduled to implement at predetermined times, based on synchronous communications occurring over a bus, there is no
mechanism for stopping the control scheme at various points to view variable values, etc., to step through the control scheme one operation at a time or to retune the control scheme, all of which are advantageous when implementing a new control scheme or
when debugging or retuning a process control scheme.
SUMMARY OF THE INVENTION
The present invention is directed to a method of and an apparatus for debugging and tuning a process control network having distributed control functions. In accordance with one aspect of the present invention, during the initialization and
tuning of a process control network having distributed control functions, a method stops a process loop during execution and preserves process control information for display to a user. Thereafter, when directed by the user, the method continues
execution of the process control network to isolate system errors or "bugs." The method may also monitor and save control function parameters in real-time at loop execution speeds to provide a "trace" function which is useful in tuning or retuning the
process control network.
In accordance with another aspect of the present invention, a method and apparatus receives requests to tune selected process control parameters, adjusts the parameters over a bus, and monitors input and output parameters of control functions
within a process control loop in real-time to enable an operator to determine whether a process control loop having distributed control functions is tuned properly.
In accordance with a still further aspect of the present invention, a process control loop operating in a two-wire, two-way digital communication environment includes control logic for accessing a process control variable in real-time during
execution of the process control loop and a memory that stores the variable. The process control variable may be available locally to a device within the process control loop or peripherally to a host device connected or coupled to the process control
loop. In one embodiment, the process control loop may include a routine that defines one or more breakpoints and that directs the control loop to execute to the breakpoint, at which a specified event, condition or a program code execution address occurs
The process control loop may also include a routine that is operative at the occurrence of a breakpoint or at some other flow-control location, to single-step through subsequent functional blocks of the process control scheme.
Breakpoints may be implemented both between control functions and inside of control functions stored in the process control devices within a process control loop. For example, one breakpoint may be set after data is latched into a field device
over a bus and a second breakpoint may be set after the field device executes a control function. In another example, a first breakpoint is set after a control algorithm is executed but before data is transferred to another control function, which may
be in the same or a different process control device, while a second breakpoint is set after data is transmitted from one device to another but before an algorithm associated with the next process control function begins to execute.
With the method and apparatus of the present invention, diagnostic test time is substantially reduced due to the ability to single-step through a process control scheme in a process control network having distributed control functions or to have
such a process control scheme stop at predetermined breakpoints.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of an example process control network using the Fieldbus protocol;
FIG. 2 is a schemat | | |