Abstract:
A method of calibrating a multivariate controller in a coordinated control system of an electric power generating station includes an expert system for collecting data at a plurality of operating parameters of the power generating system and providing that data to a characterizer block. By using the calibration data, which is predictive of the response of the power generating system to an external disturbance, the characterizer block provides a feedforward signal to the multivariate controller before the effect of the external disturbance can propagate throughout the power generating system. In the method of the invention, the expert system is implemented as a spreadsheet with a DDE interface to the power generating system and an automatic script file generator for communicating to the characterizer block.

Description:
RELATED APPLICATIONS 
     This application is a continuation-in-part of and incorporates by reference the commonly-owned, U.S. Provisional Application, 60/043,164 filed on Apr. 10, 1997 now abandoned. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to the field of control systems for electric power generation and, in particular, to expert systems for the self-calibration of an electric power generating plant. 
     BACKGROUND 
     In an electric power generating station, a process control unit, or controller, compares values of a process characteristic, or controlled variable, with a target value, or setpoint, to determine whether the process is operating within acceptable bounds. If the controller determines that the controlled variable is outside normal bounds, it can initiate corrective action itself by adjusting a parameter, or manipulated variable, of the process. 
     A control system as described above is referred to as a feedback system because the value of the manipulated variable is generated in response to the value of the controlled variable. Thus, the controlled variable is fed back into the controller to become one of the inputs to the controller. 
     In principle, a feedback system can compensate for external disturbances to the extent those disturbances affect the value of the controlled variable which is fed back to the controller. For example, in the case of a heated room, opening the window (an external disturbance) causes a drop in temperature (the controlled variable) which in turn is sensed by the thermostat (the controller). In response, the thermostat increases current flow (manipulated variable) in an effort to re-establish the desired temperature (setpoint). In such a system, the controller responds to the external disturbance indirectly by monitoring any change in the value of the controlled variable. 
     In many control systems, there can be a delay between the occurrence of the external disturbance and the controlled variable&#39;s response to that disturbance. As a result of this delay, the controller may not initiate corrective action promptly. It is possible, in such cases, for the delay to be so long that by the time the controller initiates corrective action, significant damage will have occurred. In such cases, it may be advantageous to sense the disturbance directly rather than through its effect on the controlled variable. If in the heated room of the above example, it were critical that the temperature be held constant, it would be advantageous to provide a signal from the window directly to the thermostat. This connection, from the external disturbance to the controller, is referred to as the feedforward loop of the control system. 
     A feedforward loop is advantageous because it allows the controller to anticipate the effect of the disturbance on the controlled variable and to thereby compensate for this effect before the effect actually occurs. However, before the controller can do so, it must determine what the effect of the disturbance will be on the control system. In the context of the above example, a thermostat which recognizes that a window has been opened will not necessarily know how much additional current to supply to the heating system. We refer to this information on the effect of a disturbance on the control system as the calibration data. 
     In the prior art, intervention by a service engineer or other field service personnel is typically required to provide the necessary calibration data to the multivariate controller. Because of the complexity inherent in multivariate control system, reliance on a service engineer can result in error. 
     What is therefore desirable in the art is a convenient method and system for bypassing human intervention and automatically providing calibration data to the multivariate controller. 
     SUMMARY 
     The invention provides for a method of calibrating a multivariate controller in a coordinated control system of an electric power generating station by generating calibration data with an expert system and providing that calibration data to a characterizer block. The calibration data provided to the characterizer block is predictive of the response of the power generating station to an external disturbance. By using this calibration data, the characterizer block can generate a feedforward signal and transmit it to the multivariate controller. The multivariate controller can then, based on this feedforward signal, update the coordinated control system so as to correct for the effect of the disturbance before the effect of the disturbance propagates through the power generating station. 
     The method of the invention provides for an expert system which operates the power generating station at a pre-selected power output with a stable load. The expert system then loads a plurality of measurements from the power generating station and forms a load array having as many elements as there are measurements. These measurements can include: 
     a gross megawatt demand, 
     a throttle pressure, 
     a first stage throttle pressure, 
     a turbine valve demand as a percentage of maximum, 
     a total fuel flow as a percentage of a maximum fuel flow, 
     a total air flow as a percentage of maximum airflow, 
     a total feedwater flow rate, 
     a percentage of oxygen, 
     an economizer inlet temperature, 
     a water wall outlet temperature, 
     a primary superheater outlet temperature, 
     a desuperheater outlet temperature, 
     a superheater outlet temperature, 
     a reheat outlet temperature, 
     a boiler master demand as a percentage of maximum, and 
     an LMCC (Load Management Control Center) demand in megawatts 
     In the preferred embodiment, this step of loading data from the power generation system is carried out using a DDE interface between the expert system and power generating station. 
     The method can also include the step of normalizing one or more elements in the load array by the maximum allowable value of that measurement which corresponds to the element being normalized. 
     The steps of operating the electric power generating system and loading data measurements can occur repeatedly at different power outputs and under different pressure regimes. Preferably, measurements are obtained in increments of 10% of the total power generating capacity of the power station. Additional measurements can be taken at full pressure with turbine valves wide open, at full pressure with a 75% load, at normal pressure with a 75% load, and at normal reduced pressure with a 75% load. 
     A pair of selected columns of the table of load arrays formed by the repeated measurements described above is then provided to a selected characterizer block. In the preferred embodiment, this is accomplished by way of a configuration module which generates and executes a collection of scripts whose function is to write the calibration data to a disk file accessible to the characterizer block. 
     The calibration data provided to the characterizer block can, optionally, be plotted by a graphics module to provide a permanent record of the calibration process. 
     It is apparent, from the forgoing summary, that the invention provides a method of calibrating the coordinated control system with minimal human intervention and that it does do by replacing the judgment and experience of an expert service engineer with an expert system whose configuration will be better understood with reference to the following description, and the accompanying drawings, in which: 
    
    
     BRIEF DESCRIPTION OF THE FIGURES 
     FIG. 1 depicts a control system having a feedforward loop with a characterizer block interposed therein; 
     FIG. 2 depicts the structure of software for supplying calibration data to the characterizer block of FIG. 1; 
     FIG. 3 is a section of a spreadsheet after the data loading operation shown in FIG. 2 has been carried out; 
     FIG. 4 is a section of a spreadsheet showing an implementation of the engineering data module used in FIG. 2; 
     FIG. 5 is a section of a spreadsheet implementing the calculation module of FIG. 2; 
     FIG. 6 shows a plot of a selected pair of columns from the spreadsheet of FIG. 5; 
     FIGS. 7A and 7B are functional diagrams of a coordinated control system showing the locations of the ten characterizer blocks listed in FIG. 4; 
     FIG. 8 shows calibration data supplied to one of the characterizer blocks shown in FIG. 7; 
     FIGS. 9A and 9B show code used by the data loading module of FIG. 2 for acquiring data; and 
     FIG. 9C and 9D show code used by the configuration module of FIG. 2 to communicate with the characterizer block. 
    
    
     DETAILED DESCRIPTION 
     Referring to FIG. 1, a simplified diagram of a coordinated control system 10 of an electric power generating station 14 in which the method of the invention can be demonstrated includes a multivariate controller 12 in communication with the electric power generating station 14. The electric power generating station 14, which includes a turbine and boiler, generates controlled variables y in response to both the vector of manipulated variables u generated by the multivariate controller 12 and to a vector of external disturbances d. The measured value of these controlled variables y is then fed back to the multivariate controller 12. 
     The multivariate controller 12 selects the elements of the vector of manipulated variables u so as to minimize any presently existing error between the vector of measured controlled variables y and a vector of set points r. The elements of the vector of set points correspond to the desired values for the corresponding elements in the vector of controlled variables y. 
     The multivariate controller 12 also selects the elements of the vector of manipulated variables u so as to compensate for the effect of any external disturbance d on the controlled variables y generated by the electric power generating system 14. This is accomplished by providing one or more characterizer blocks 16 in communication with the multivariate controller 12. Based on the output of an expert system 18 coupled to it, each characterizer block 16 generates feedforward signal 17 which is a prediction of the response of the vector of measured controlled variables y to a specified disturbance. 
     The process of providing each characterizer block 16 in the coordinated control system 10 with such a predictive model is referred to as calibration. In general, an analytic model of the effect of a disturbance d on the controlled variable&#39;s y is difficult to derive. This difficulty arises from mutual coupling between controlled variables and coupling between the controlled variables, the disturbance variables, and the manipulated variables. Consequently, calibration is typically performed by providing a numerical model or table to the characterizer block 16. It is this task that is carried out by the expert system 18. 
     Referring to FIG. 2, the expert system 18 includes a data loading module 24 for acquiring real-time data from the electric power generating station 14 during an initial calibration sequence. In the preferred embodiment, the data loading module 24 acquires this data by means of a DDE (Dynamic Data Exchange) interface established between a spreadsheet sold under the trademark &#34;EXCEL&#34; and sensors 27 coupled to the electric power generating station 14. As shown in FIG. 3, which depicts that portion of the spreadsheet implementing the data loading module 24 of the expert system 18, the acquired data includes eighteen load arrays, each of which corresponds to one row of the spreadsheet. Each load array includes: 
     the gross megawatt demand, 
     the throttle pressure, 
     the first stage throttle pressure, 
     the turbine valve demand as a percentage of maximum, 
     the total fuel flow as a percentage of the maximum fuel flow, 
     the total air flow as a percentage of maximum airflow, 
     the total feedwater flow rate, 
     the percentage of oxygen, 
     the economizer inlet temperature, 
     the water wall outlet temperature, 
     the primary superheater outlet temperature, 
     the desuperheater outlet temperature, 
     the superheater outlet temperature, 
     the reheat outlet temperature, 
     the boiler master demand as a percentage of maximum, and 
     the LMCC (Load Management Control Center) demand in megawatts. 
     The first five load arrays, namely those associated with load points 1-5, are obtained by increasing the power output in increments of 10% of the maximum power output. For example, for a 500 MW station, the first five load arrays will be taken with power outputs of 50 MW, 100 MW, 150 MW . . . 250 MW. The sixth through the fourteenth load arrays are obtained at full rated throttle pressure. The fifteenth load array is taken at full pressure with turbine valves wide open. The sixteenth load array is taken at full pressure with a 75% load. The seventeenth load array is taken at normal overpressure with a 75% load. The eighteenth load array is taken at normal reduced pressure with 75% load. 
     In carrying out the data loading operation, the data loading module executes the instructions shown in FIGS. 9A-9B. Referring to FIG. 9A, the definitions for constants 91 fix the rows and columns to be occupied by the load arrays in the spreadsheet of FIG. 3. The five subroutines 92 are linked to buttons on the spreadsheet and are used to place data in the designated points. Each of the five subroutines executes the &#34;MoveData&#34; routine 93 shown in FIG. 9B to copy selected data and paste it into a selected range of cells. Under normal conditions, load arrays are collected in the order shown on the spreadsheet in FIG. 3, beginning with the load array labeled &#34;1&#34; and ending with the load array labeled &#34;18&#34;. The subroutine &#34;Spec --  Point&#34; 94 shown in FIG. 9A enables an operator to change the order in which data is collected. 
     The expert system 18 also includes an engineering data module 26 for storing information which can be pre-loaded rather than having to be acquired in real-time. The engineering data module 26 is implemented in a spreadsheet sold under the trademark &#34;EXCEL&#34; to facilitate communication of this pre-loaded data with the real-time data acquired by the data loading module 24. FIG. 4 shows a portion of an &#34;EXCEL&#34; spreadsheet that implements the engineering data module 26 of the expert system 18. In the preferred embodiment, data pre-loaded into the engineering data module 26 includes allowable ranges for the real-time data acquired by the data loading module 24. For example, the row labeled &#34;First Stage Pressure&#34; in FIG. 4 shows that allowable values of first stage pressure range from 0 to 3000 psig. 
     The allowable ranges provided by the engineering data module 26 enable the expert system 18 to identify potential malfunctions manifested by real-time values outside the allowable range. These ranges also enable the calculation module 28 of the expert system 18 to normalize the real-time data acquired by the data loading module 24. For example, the calculation module 28, recognizing that the maximum allowable value of feedwater flow is 6000 KPPH (kilo pounds per hour), can normalize a measured feedwater flow of 3000 KPPH to 50%. 
     As shown in FIG. 4, the engineering data module 26 also includes addresses representative of the characterizer blocks 16. These addresses can be provided to the configuration module 22 of the expert system 18 to enable it to provide the correct characterizer block with the correct data. For example, FIG. 4 shows that the characterizer block labeled &#34;Char 1&#34; has address &#34;3ULD:B8.&#34; The engineering data module 26 also includes addresses for the sensors 27 which obtain the measurements loaded by the data loading module 24. For example, FIG. 4 shows that the throttle pressure is obtained from a measurement at address &#34;3CCM:B9.OUT.&#34; 
     Referring again to FIG. 2, the expert system 18 also includes a calculation module 28 which derives calibration data from the data provided by the data loading module 24 and from the engineering data module 26. The calculation module 28 is implemented in as a spreadsheet sold under the trademark &#34;EXCEL&#34; in order to facilitate communication of data between the engineering data module 26 and the data loading module 24. As shown in FIG. 5, a spreadsheet implementing the calculation module 28 imports data from the data loading module 24, and, in some cases, normalizes that data using the allowable ranges specified in the engineering data module 26. For example, in FIG. 5, the column labeled &#34;Total FW Flw %&#34; is derived by dividing each entry in the column labeled &#34;Total FW Flw KPPH&#34; by the maximum allowable feedwater flow of 6000 KPPH, as shown in FIG. 4. The choice of which columns from the portion of the spreadsheet shown in FIG. 3 are to be normalized by the ranges shown in FIG. 4 depends on the specific coordinated control system with which the invention is to be associated. 
     A graphics module 29 linked to the calculation module 28 selects a pair of columns from the spreadsheet shown in FIG. 5 for graphing. This pair of columns forms the calibration data provided to the characterizer block 16. In a system having several characterizer blocks 16, the graphics module 29 selects several pairs of columns from the data provided by the calculation module 28. The choice of which pairs of columns to select for a given characterizer block 16 depends on the characterizer block&#39;s function in the control system. For example, in the system whose functional diagram is shown in FIG. 7A, the characterizer block labeled &#34;CHAR 1&#34; accepts first stage throttle pressure at its input and provides a measure of demand at its output. Thus, for &#34;CHAR 1&#34; the selected columns from FIG. 3 are the columns labeled &#34;1st Stg Press PSIG&#34; and &#34;Gross MW.&#34; The choice of where to place characterizer blocks 16 and which specific columns from the table generated by the calculation module 28 to assign to each characterizer block 16 depends on the specific coordinated control system with which the calibration system of the invention is to be associated. FIGS. 7A and 7B together show the locations of all ten characterizer blocks listed in FIG. 4 for an illustrative coordinated control system for an electric power generating station. The calibration data provided to each of the ten characterizer blocks shown on FIGS. 7A and 7B is summarized below: 
     
         ______________________________________Characterizer Block      Independent Variable                      Dependent Variable______________________________________CHAR 1     1st Stage Pressure                      Gross MWCHAR 2     Boiler Demand (%)                      Unit Load                      Demand (MW)CHAR 3     Unit Load Demand (MW)                      Boiler Demand (%)CHAR 4     Unit Load Demand (MW)                      Turbine Valve                      DemandCHAR 5     Calculates Turbine                      Boiler Demand (%)      Stream Flow (%)CHAR 6     Throttle Pressure Setpoint                      Ratio of measured                      overpressure                      desired overpressureCHAR 7     Boiler Demand (%)                      Turbine Demand (%)CHAR 8     Boiler Demand (%)                      Firing Demand (%)______________________________________ 
    
     FIG. 8 shows a typical plot of calibration data generated by the graphics module 29. The illustrated calibration data, which is to be supplied to &#34;CHAR 1,&#34; is plotted with the first stage pressure (in PSIG) as the independent variable and the demand (in megawatts) as the dependent variable. 
     The process of communicating the calibration data generated by the calculation module 28 to the characterizer block 16 is carried out by a configuration module 22 which, as shown in FIG. 2, accesses addresses representative of the characterizer block from the engineering data module 26 and calibration data from the calculation module 28. In the preferred embodiment, the configuration module 28 provides references to Visual Basic code to automatically build API (Application Program Interface) script files. Each script file is a series of commands used by the IccAPI to update the calibration curve in each characterizer block. 
     The configuration module 22 of the preferred embodiment executes the instructions shown in FIGS. 9C and 9D. Subroutine &#34;GetChars&#34; 96 opens a file named &#34;icc.scr&#34; and places into it information regarding the characterizer block and the calibration data provided to that characterizer block. The calibration data is written through repeated calls in &#34;GetChars&#34; 96 to the subroutine &#34;WriteScript&#34; 97. 
     It will thus be seen that the invention efficiently attains the objects set forth above. Since certain changes may be made in the above constructions without departing from the scope of the invention, it is intended that all matter contained in the above description or shown in the accompanying drawings be interpreted as illustrative and not in a limiting sense. 
     It is also to be understood that the following claims are intended to cover all generic and specific features of the invention described herein, and all statements of the scope of the invention which as a matter of language might be said to fall there between.