This disclosure relates generally to steam turbines and, more particularly, to methods and apparatus to optimize steam turbine ramp rates.
During periods such as start-up and shutdown, a steam turbine is exposed to changes in temperature that affect a temperature of the metal components of the steam turbine, such as the rotor. As a result of transitory thermal situations such as start-up, the rotor experiences thermal stress due to differences in metal temperature throughout the rotor as the steam turbine transitions from a non-operating state to an operating state and the rotor is heated. A start-up time of a steam turbine can affect the thermal stress experienced by the rotor.
An example method disclosed herein includes predicting a setpoint for a turbine rotor over a prediction horizon. The example method includes predicting a surface temperature profile of the turbine rotor for the prediction horizon based on the predicted setpoint via an empirical data model. The example method also includes predicting a first stress profile for the turbine rotor based on the surface temperature profile, performing a comparison of the first stress profile to a second stress profile, and dynamically adjusting the setpoint based on the comparison.
An example system disclosed herein includes a controller to predict a first setpoint of a turbine based on a prediction model and a controller tuning parameter to ramp the turbine from a first operating state to a second operating state at a first rate. The example system includes a temperature predictor to predict a surface temperature of one or more components of the turbine based on the first setpoint and known temperature data. The example system includes a first stress calculator to determine a first stress on the turbine based on the predicted surface temperature and a comparer to compare the first stress to a second stress. The example system also includes an adjuster to adjust the controller tuning parameter based on the comparison. In the example system, if the first stress exceeds the second stress, the controller is to predict a second setpoint based on the prediction model and the adjusted controller tuning parameter to ramp the turbine from the first operating state to the second operating state at a second rate. The second rate is a reduced rate relative to the first rate.
Also disclosed herein is an example method for transitioning a turbine from a non-operating state to an operating state. The example method includes determining a setpoint at which the turbine is to transition from the non-operating state to the operating state. The example method includes calculating a surface temperature of a rotor of the turbine based on the setpoint and empirical temperature data. The example method includes calculating a first stress on the rotor based on the surface temperature and comparing the first stress to an allowable stress limit for the turbine. If the first stress exceeds the allowable stress limit, the example method includes at least one of stopping or slowing a ramping of the turbine from the non-operating state to the operating state or reducing the setpoint. If the first stress is below the allowable stress limit by a threshold amount, the example method includes increasing the setpoint of the turbine.
Transitioning a steam turbine from a non-operating state to an operating state includes warming up components of the turbine such as the turbine rotor. The rotor can be transitioned to an operating state by gradually increasing a speed at which the blades of the rotor rotate. During start-up, steam is introduced into the turbine via one or more valves. The steam acts on the rotor blades to cause the blades to rotate. The steam causes the turbine to start up gradually by rotating, for example, the blades of the rotor from a speed of zero revolutions per minute (RPMs) to a speed less than a predetermined operating speed (e.g., less than 3,600 RPMs). The speed at which the blades rotate increases over the start-up period until the predetermined operating speed is reached (e.g., 3,600 RPMs) and the turbine is fully operational. When the steam turbine is fully operational, the turbine can be used to drive a generator associated with the turbine to generate electricity, which places a load on a power grid associated with the turbine.
As the steam turbine transitions from the non-operating state to the operating state during start-up, the rotor is exposed to thermal stress as the temperature and flow of the steam admitted to the turbine and the rotational energy imparted by the steam on the rotor blades affect a surface temperature of the components of the rotor. As the rotor is exposed to steam and the blades rotate, a temperature of the metal surfaces of the rotor blades may increase at a different rate than a temperature of, for example, an interior metal component of the rotor. The non-uniform changes in surface temperature throughout the rotor are based on, for example, a size of the rotor and a thickness of the rotor components. The different surface temperatures across the rotor during start-up result in the thermal stress experienced by the rotor. When the temperature of the rotor is substantially uniform throughout the rotor, the thermal stress experienced by the rotor is substantially decreased or eliminated.
Exposure to thermal stress as result of frequent and/or quick start-ups can reduce the useful life of the rotor. For example, as a result of thermal stress, one or more components of the rotor may be subject to cracking due to metal fatigue that propagates throughout the rotor. Factors such as a magnitude of the stress, a rate of the temperature change, and material properties of the rotor affect the useful life of the rotor.
Generally, to avoid exposing the rotor to excessive thermal stress, the turbine start-up time is increased (e.g., the turbine is started more slowly than may be necessary) to enable heating of the rotor throughout while minimizing thermal stress. In some examples, start-up times are based on loading charts supplied by turbine manufactures that provide a permissible rate of temperature change. However, such charts are often based on assumptions such as a uniform rotor temperature and/or a constant ramp rate. Further, increasing the turbine start-up time in an effort to achieve a substantially uniform temperature of the rotor components is inefficient with respect to time and cost for a power generation plant where the turbine is in operation.
Disclosed herein are example methods and systems to determine a setpoint (e.g., a ramp setpoint) for a turbine, or a value that controls a ramp rate at which the turbine rotor reaches (1) an operational speed (e.g., RPM) before a breaker associated with the turbine's generator closes, i.e., a speed setpoint, and/or (2) an amount of power (e.g., megawatts (MW)) to be generated by the turbine after the breaker associated with the generator closes, i.e., a load setpoint. The setpoint (e.g., the speed setpoint or the load setpoint, hereinafter generally referred to as a “setpoint”) is determined using model predictive control (MPC) logic that predicts the setpoint over a look-ahead period or a prediction horizon. The examples disclosed herein determine a setpoint that minimizes the thermal stress experienced by the rotor by predicting a stress that the rotor will experience at a given setpoint and comparing the predicted stress to an allowable stress. The examples disclosed herein dynamically adjust the setpoint of the turbine based on the comparison. As the setpoint values determined via the disclosed example methods and systems dynamically change over time, the setpoint values reflect of a rate of change or a ramp rate (e.g., RPM/sec or MW/min) of the turbine. Further, the disclosed examples use the comparison between the predicted stress and the allowable stress as feedback to automatically tune or adjust the MPC logic that is used to determine the setpoint.
Turning to the figures,
To predict the setpoint, the controller 106 receives a target setpoint yset from, for example, a user input. In operation, the target setpoint yset can be a speed setpoint associated with a speed of the rotor. The target speed setpoint yset can be based on, for example, a predetermined or a desired time for ramping or transitioning the turbine 102 to a fully operational state. Alternatively, the target setpoint yset can be a load setpoint associated with power generation. The user input with respect to the load can be based on data from a generator associated with the turbine 102.
To predict the setpoint, the controller 106 employs MPC logic to generate a control signal or input that is provided to the turbine 102. The control input represents a speed demand or a load demand on the turbine 102. A predicted process output of the MPC logic represents a speed or a load response of the turbine based on the control input. The MPC logic provides for optimization of future behavior of a process over a finite prediction time period or a prediction horizon. In particular, the MPC logic computes a control signal that minimizes an objective function such that a predicted output variable follows or substantially follows a reference trajectory. In the example control system 100, the controller 106 uses MPC logic to optimize the behavior of the turbine 102 such that a predicted process output or predicted setpoint output trajectory yp (e.g., speed or load) approaches the target setpoint yset. Further, the controller 106 of the example system 100 implements the MPC logic with respect to a current time k and for a forward simulation phase to predict the predicted setpoint yp over a prediction horizon.
In particular, a current or real-time state of the turbine is sampled at a sampling time k to obtain initial conditions for one or more state variables associated with the turbine 102. In general, a multi-input and multi-output plant can be described by the following state space equations:
x(k+1)=Ax(k)+Bu(k) (Eq. 1a); and
y(k)=Cx(k) (Eq. 1b);
where x is a state variable vector; u is a control input vector; y is a process output vector; and A, B, and C are constants.
An MPC optimization at time k can be performed based on the following conventions and expressions. A measured state variable of the turbine 102 at time k can be described by the expression x(k|k)=x(k) and an estimated state variable at time k can be described as {circumflex over (x)}(k|k). Also, a prediction horizon for the optimization can be represented by the variable Hp and a control horizon can be represented by the variable Hc. One or more predicted state variables at time k+i based on the measured state variable x(k) (or the estimated state variable {circumflex over (x)}(k|k)) can be described as xp(k+, where (i=1, . . . , Hp). Also, one or more predicted control input variables at time k+i can be described as up(k+i−1|k), where (i=1, . . . , Hp). Based on the foregoing conventions and expressions, the MPC logic can be implemented by the controller 106 as follows.
First, initial or estimated conditions for one or more state variables x at time k are obtained. The estimated state variable {circumflex over (x)}(k|k) at time k can be obtained using the following state estimation equation:
{circumflex over (x)}(k|k)=(A−KeCA)·{circumflex over (x)}(k−1|k−1)+(B−KeCB)·u(k−1)+Key(k) (Eq. 2),
where Ke is a predefined state estimator gain and y(k) is a real-time measurement of the output variable y(k).
To optimize the ramp rate behavior of the turbine 102 at the current sampling time k, a predicted state variable xp(k|k) is defined such that xp(k|k)={circumflex over (x)}(k|k), where {circumflex over (x)}(k|k) is the estimated state variable found using Equation 2 above. The following optimization is solved at the sample time k to minimize a difference between the predicted process output yp and the target setpoint yset and to determine a predicted control input or demand signal up that represents the turbine speed or load demands to be placed on the turbine 102:
where
The output equation is used to calculate the predicted process output yp or the load or speed response of the turbine 102. To minimize the difference between the predicted process output yp and the target setpoint yset. Equation 3 accounts for any error between the process output y(k) (e.g., the actual process output at time k) and the predicted output yp(k|k) at time k, as represented by output error equation err(k), above. Further, constraints on the predicted process output yp are accounted for in the optimization process of Equation 3. For example, the process output constraints Ymax define an expected boundary or range for the predicted process output yp. The process output constraints Ymax can be considered to be soft constraints in that the process output constraints Ymax represents performance of the turbine 102 in terms of process deviations from the expected range for the predicted process output yp. In some examples, the predicted process output yp can deviate from (e.g., exceed) the process output constraints Ymax if the optimization of Equation 3 encounters a feasibility problem with respect to minimizing the difference between the predicted process output yp and the target setpoint yset. In such examples, the process output constraints Ymax can be relaxed in an effort to increase a likelihood of finding a feasible solution for optimizing the setpoint.
The predicted process control input signal up is sent to the turbine controller 105 and represents a speed demand or load demand to which the turbine 102 responds (e.g., by generating or substantially generating the predicted process output yp). Upon receipt of the process control input signal up by the turbine controller 105, the process control input signal up is converted to one or more device control signals, such as a fuel input signal or a turbine governing valve position signal (e.g., for controlling a flow rate of the steam) based on the speed or load demands associated with the process input signal up. The optimization of Equation 3 constrains the predicted process control input signal up in view of physical or operational limitations of the turbine 102. For example, the control input constraints Umax represent physical or operational limitations (e.g., speed) of one or more components of the turbine 102, such as a turbine actuator. The control input constraints Umax limit the predicted process control input signal up in view of the physical or operational limitations of the turbine components with respect to moving the turbine 102 from a non-operating state to an operating state. In contrast to the process output constraints Ymax, the control input constraints Umax are hard constraints as they represent the physical or operational limitations of one or more components of the turbine 102 that cannot be deviated from without damage to the turbine 102.
In Equation 3, the parameters Q and R are weighting factors with respect to the predicted process output yp and the predicted control input signal up. For example, if the Q parameter has a large value relative to the R parameter, the predicted control input signal up results in more aggressive load or speed demands placed on the turbine 102 by the controller 106 (e.g., resulting in a faster ramp rate) as compared to when the R parameter has a larger value relative to the Q parameter (e.g., a slower ramp rate but, in some examples, a more stable response by the turbine 102). In some examples, the values of the parameters Q and R are set based on predetermined or empirical values. The values of the parameters Q and R can be adjusted in view of one or more of, for example, the target setpoint yset, the predicted process output yp, and/or the predicted control input signal up.
After completion of the optimization of Equation 3 at time k, the predicted control input variable up is set as the control input signal u(k) at time k such that u(k)=up(k|k). In setting the control input signal u(k) as the predicted control input variable up, a control signal representative of the predicted control input up at time k is sent to the turbine controller 105. Thus, in the above disclosed MPC logic, the predicted control input up is the actual control input signal sent to the turbine controller 105.
In known implementations of MPC logic, identifying the initial conditions for the state variables and performing the optimization of Equation 3 are repeated for a subsequent real-time (e.g., actual) sampling time k+1. A new predicted control input signal up(k+1) is determined and the control input signal u(k+1) is set as the predicted control input signal up(k+1). Thus, the predicted control input signal up at each sampling time k, k+1, k+n, etc. serves as the control input signal sent to the turbine controller 105.
In the disclosed examples, the controller 106 applies the MPC logic as disclosed above to optimize the predicted process output yp in view of the target setpoint yset. Further, the controller 106 introduces a forward simulation phase to predict the setpoint over an extended horizon period, thereby increasing the predictive capabilities of the controller 106. Implementation of the MPC logic as disclosed above generally uses a short control horizon Hc, which minimizes a number of optimization variables that are solved in real-time and limits the prediction range of the MPC logic to the horizon control period (e.g., up(k), up(k+1) . . . up(k+Hc). By including a forward simulation phase, the disclosed examples optimize the determination of the setpoint by enhancing the prediction component of the MPC logic.
As described above, known implementations of MPC logic provide for an iterative optimization in that after the optimization is generated at an actual time k, the state variables are sampled at time k+1 and the optimization is repeated at time k+1 to generate a new control input signal u(k+1). Rather than repeating the optimization for the sampling time k+1 to generate a new predicted control input signal up(k+1) that serves as the actual control input signal at time k+1, the example method 200 includes performing an optimization for a simulated sampling time period according to a simulation model (block 206). As will be disclosed below, the optimization is performed for simulated sampling steps (e.g., a simulated time k+1). The predicted or future process output yp from the forward simulation model is used by the example system 100 to evaluate the predicted setpoint in view of an allowable stress for the turbine 102.
For example, a prediction horizon Hp over which the control input signal up is predicted can include one or more time periods, for example, four discrete time periods (a first time period, a second time period, a third time period, and a fourth time period). In such examples, a simulated sampling time can be one time period. In the example simulation model, a forward simulation is performed over the prediction horizon Hp from the first time period to the fourth time period and, thus, includes four simulation steps. The forward simulation is moved forward to the second time period, such that when the simulation is run from the second time period to the fourth time period, the number of simulation steps equals three. Thus, each time the simulation step is advanced by the sampling time of one time period, the simulation steps increment or move forward by one time period. The prediction horizon remains four time periods and eventually the simulation steps are performed over the length of the prediction horizon Hp (e.g., four time periods).
Performing the optimization for the simulated sampling time according to the example simulation model disclosed herein includes setting the predicted state variable xp(k|k) at a simulated sampling time k as xp(k|k)=xp(k+1|k), where time k+1 represents a forward simulation phase. An optimization is performed at the simulated sampling time k such that:
where
Thus, the difference between the optimization performed using Equation 3 disclosed above and the optimization performed using Equation 4 is based on the definition of the predicted state variable xp(k|k). In Equation 3, the predicted state variable is set as the estimated state variable {circumflex over (x)}(k|k) at the current time k. In Equation 4 of the example simulation model, the predicted state variable {circumflex over (x)}(k|k) is set as the simulated state variable for a forward simulation period k+1, or xp(k+1|k).
The example method 200 continues with saving the predicted process control input up(k) and the resulting predicted process output yp(k) from the optimization of Equation 4 at the simulated time step k in a prediction profile data queue or database, such as the database 107 of the example controller 106 of
In particular, the predicted process output yp(k) for each simulated step saved in the prediction profile database 107 is indicative of a predicted load or speed response of the turbine 102 at a future time. The predicted process output yp(k) or setpoint is used by the other components of the example system 100, such as the metal temperature predictor 108 and the stress calculator 110 to calculate the predicted rotor stress, as will be disclosed below. Thus, the predicted process output yp(k) serves as an input to the other components of the example system 100. In some examples, rather than determining a setpoint, the disclosed MPC logic can output the predicted process output yp(k) in the form of a ramp setpoint bias, which can be applied to a fixed or predetermined ramp setpoint to adjust the ramp rate.
The predicted process input control input up(k) is representative of the future action by the controller 106 in controlling the ramping of the turbine 102 by placing speed or load demands on the turbine 102. The predicted process input control input up(k), or speed/load demand on the turbine 102 generates the predicted process output yp(k) or the predicted speed or load response. In some examples (e.g., steady state), the predicted process input control input up(k) or speed/load demand is substantially the same as the predicted process output yp(k) or the predicted speed or load. In other examples, such as during dynamic transitions of the turbine 102 in response to the predicted process input control input up(k), the predicted future output yp(k) lags behind the controller action up(k). Also, in an ideal example, the actual control input signal u(k) (e.g., representative of the speed or load demand) is the same or substantially the same as the predicted control input signals up(k) of each simulation step.
As part of advancement of the forward simulation phase, a comparison is performed between the simulation step and the MPC prediction horizon Hp (block 210) to determine whether the simulation step is equal to the length of the prediction horizon Hp. As disclosed above, the simulation steps increment by one (e.g., move forward a sampling time period at each step). At some time during implementation the simulation model, the number of simulation steps will reach the last time period or length of the prediction horizon Hp (e.g., following the illustrative example above, the fourth time period). If the incrementing simulation step is less than the length of the prediction horizon Hp, the simulation step is increased or advanced by another increment (e.g., another time period) such that the simulation step is defined to be the simulation step+1. The optimization of Equation 4 is performed using the increased simulation step (block 206). The predicted control input signal up and the resulting predicted process output yp is saved in the prediction profile data queue, and the comparison of the simulation step (e.g., the increased simulation step) to the prediction horizon Hp (block 208) is repeated until the simulation step reaches the length of the prediction horizon Hp (e.g., following the illustrative example above, the prediction horizon Hp corresponding to four time periods).
If the simulation step is equal to the MPC prediction horizon Hp, the example method 200 continues with setting the actual time increment (as compared to the simulated time) as k+1 (where k is a current time) and waiting for the actual time k+1 to arrive (block 214). The example method 200 includes repeating the identification of the state variables and the optimization based on the MPC logic at the current time k+1 and at a simulated sampling time (e.g., blocks 202-212).
Thus, the example method 200 predicts the process output yp(k) based on a forward simulation phase that simulates a future time period and predicts the process output yp(k) over the prediction horizon Hp. Using the predicted control input up(k), the example method 200 implements a simulation model that predicts the process output yp(k) for simulated time steps that advance over the prediction horizon Hp to build the load/speed profile. The predicted process output yp(k) is used by the other components of the example system 100 to evaluate the predicted setpoint in view of the allowable stress on the turbine 102.
In particular, the example system 100 of
To evaluate the effect of the predicted setpoint or process output yp, the example system 100 of
The temperature of the steam and the flow of the steam impact the speed of the rotor 104 (e.g., the speed of rotation of the blades) before the breaker associated with the generator of the turbine 102 is closed. The temperature of the steam and the flow of the steam also impact the load after the breaker is closed. Thus, the rotor speed and the load can be used as input variables to the metal temperature predictor 108 for predicting the rotor surface temperature. In some examples, one or more additional input variables other than the speed and load are used by the metal temperature predictor 108 to predict the surface temperature of the rotor.
The metal temperature predictor 108 predicts the surface temperature using a liner model that is based on empirical data. An example linear transfer model employed by the metal temperature predictor 108 can be expressed as:
where y is an output variable, u is an input variable, n is an order of the system, z is a time shift operator, and parameters a and b are constants.
Equation 5 can be expressed in the time domain as:
y(k)=−a1y(k−1)−a2y(k−2)− . . . −any(k−n)+b1u(k−1)+ . . . +bn-1u(k−n+1) (Eq.6),
where k represents a current time and u(k−1), u(k−2) . . . , u(k−n+1) are historical control input variables generated during the forward simulation phase of the example method 200 of
The parameters a, b, etc. for Equations 5 and 6 can be obtained from empirical data. In some examples, temperature data at different turbine loads is collected from turbine operating plants. For example, a signal (e.g., a step signal, a sinusoidal signal, etc.) can be injected into the turbine process at an input point. The process input data (e.g., speed or load) and the output data (e.g., metal temperature) can be recorded. The saved data can be used as the input data to a linear model identification program that generates a curve fitting with respect to the empirical data based on, for example, a least squares fit. Also, in some examples, a global optimization method is used to eliminate noise in the saved data as substantially described in U.S. Pat. No. 8,560,283, which is incorporated herein by reference. Alternatively, in some examples, the surface temperature can be predicted based on a nonlinear first principle model rather than an empirical data driven model.
The predicted metal surface temperature profile calculated by the metal temperature predictor 108 is provided to a stress calculator 110. The stress calculator 110 uses the predicted metal surface temperature profile to predict the stress on the rotor 104 for each predicted temperature in the profile over the prediction horizon Hp. Thus, the stress calculator 110 generates a stress profile. As the predicted metal surface temperature profile is based on the load/speed profile including the predicted process output yp(k), the stress calculator 110 accounts for the predicted setpoint generated by the controller 106 in the stress calculations. In some examples, the stress calculator 110 also calculates a current or real-time stress on the rotor 104 based on a current metal surface temperature of the rotor.
The stress calculator 110 determines or predicts the stress experienced by the rotor 104 (e.g., the stress at each temperature value in the predicted metal surface temperature profile) based on metal properties and thermal expansion characteristics of the material of the rotor 104. In some examples, the rotor surface stress is calculated for one or more sections of the rotor 104. As surface temperature of the rotor 104 increases while the turbine 102 transitions from the non-operating state to the operating state, this increased temperature is propagated throughout the rotor 104. The stress calculator 110 calculates the real-time stress at one more time intervals based on the current surface temperature for one or more sections of the rotor 104. The stress calculator 110 calculates the predicted stress based on the material properties (e.g., metal type) of the rotor 104 and the metal surface temperature profile for the prediction horizon Hp generated by the metal temperature predictor 108.
The example system 100 also includes an allowable stress calculator 112, which uses empirical data to construct an allowable stress curve for the turbine 102. The empirical data can include cyclic expenditure curves that are associated with starting and loading the turbine 102. In particular, the cyclic expenditure curves relate a rate of change of steam temperature (e.g., degree/hour) with a change in the rotor surface metal temperature. Using the empirical data, the allowable stress calculator 112 constructs an allowable stress curve for the turbine 102 from the cyclic expenditure curves.
To evaluate the stress on the rotor 114 in view of the predicted setpoint and/or the actual stress conditions relative to the allowable stress, the example system 100 includes a comparer 114. The comparer 114 compares the predicted stress values and the actual stress in the stress profile generated by the stress calculator 110 with the allowable stress curve constructed by the allowable stress calculator 112. The comparer 114 determines whether any of the predicted stress values and/or the actual stress exceeds the allowable stress based on the allowable stress curve. In some examples, the comparer 114 compares the predicted stress and the allowable stress for a time in the future. In other examples, the comparer 114 compares the predicted stress with the allowable stress over a time period corresponding to the prediction horizon Hp. For example, if the metal surface temperature profile includes ten predicted temperature values, the stress calculator 110 will calculate ten predicted stress values and the comparer 114 will determine if any of the ten predicted stress values or the actual stress exceeds the allowable stress.
The comparison of the predicted stress and/or the real-time stress with the allowable stress provides a relative stress value, or surface stress ratio (e.g., rotor surface stress over allowable stress). For example, if the surface stress ratio exceeds a value of 1 or approaches a value of 1 within a predefined threshold amount, the comparer 114 determines that allowable stress is violated. If the comparer 114 determines that either the predicted stress or the real-time stress is greater than the allowable stress, the comparer 114 flags the allowable stress as being violated. Thus, in the example system 100, the allowable stress curve generated by the allowable stress calculator 112 serves as a constraint with respect to the setpoint predicted by the controller 106 and the corresponding control input signals provided to the turbine 102.
In some examples, if the predicted stress (e.g., one or more predicted stress values in the stress profile) and/or the real-time stress is less than the allowable stress, the comparer 114 determines an amount by which the predicted stress and/or the real-time stress is less than the allowable stress (e.g., if the predicted stress and/or the real-time stress is a certain percentage or an amount below the allowable stress). The comparer 114 determines if the difference between the allowable stress and the predicted stress and/or the real-time stress falls within a threshold range relative to the allowable stress. If the comparer 114 determines that the predicted stress and/or the real-time stress is nearing the allowable stress, the comparer 114 can flag the predicted stress and/or the real-time stress as approaching a value that may result in a violation of the allowable stress.
The result of the comparison between the predicted stress and/or the real-time stress and the allowable stress as determined by the comparer 114 is provided to a decision support tuner 116 of the example system 100. If the predicted stress and/or the real-time stress violate the allowable stress, the decision support tuner 116 sends a command to the controller 106. In some examples, in response to the feedback from the decision support tuner 116, the controller 106 sends a command to the turbine controller 105 to stop or reduce ramping of the turbine 102 in view of the violation of the allowable stress. In such examples, the controller 106 can wait to receive another user input such as a speed setpoint before determining a different setpoint for the turbine 102. In other examples, the controller 104 automatically determines a different setpoint for the turbine 102 in view of the stress violation.
The decision support tuner 116 also uses the result of the comparison between the allowable stress and the predicted stress to dynamically tune the MPC logic and associated functions and parameters (e.g., the process output constraints) used by the controller 106 in predicting the setpoint. Based on the result of the comparison performed by the comparer 114 with respect to the predicted stress and the allowable stress, the decision support tuner 116 adjusts, updates, and/or revises the MPC logic used by the controller 106 to predict the setpoint, thereby affecting the speed or load demands sent to the turbine 102 and the resulting turbine response (e.g., via the turbine controller 105). In particular, the decision support tuner 116 adjusts an aggressiveness of the logic used by the controller 106 in optimizing the setpoint.
For example, if the comparer 114 determines that the predicted stress violates the allowable stress, the decision support tuner 116 reduces an aggressiveness of the logic used by the controller 106 such that the controller 106 sends a speed or load demand to the turbine 102 that results in a reduced rate of ramping the turbine 102 as compared to the ramping rate associated with the setpoint that resulted in the stress violation. If the decision support tuner 116 determines that the predicted stress does not violate the allowable stress within a threshold range (e.g., the predicted stress is a certain percentage or amount below the allowable stress), the decision support tuner 116 also can adjust the functions and parameters used by the controller 106. For example, the adjustments by the decision support tuner 116 can cause the controller 106 to send a control input signal that results in the turbine ramping to the fully operational state at a faster ramp rate than the turbine 102 would have based on an initially predicted setpoint.
The decision support tuner 116 uses fuzzy logic to dynamically tune the MPC logic employed by the controller 106 and, as a result, to adjust the response quickness of the turbine 102 in reaching a speed or a load in view of the control inputs sent by the controller 106. As disclosed above, the optimization executed using Equations 3 and 4 includes a weighting factor or tuning parameter R that affects an aggressiveness of the speed setpoint or the load setpoint of the turbine 102 as determined by the controller 106. For example, if the tuning parameter R has a small value relative to the tuning parameter Q, the load ramp or the speed ramp rate will be more aggressive. Thus, the tuning parameter R can be modified by the decision support tuner 116 based on the feedback from the comparer 114 to adjust the setpoint and, thus, the response of the turbine 102.
For example, the predicted allowable stress violation e(t) can be expressed as e(t)=actual stress−maximum allowable stress. A change in the predicted stress violation e(t) can be expressed as Δe(t)/Δt. Also, a change in the tuning parameter of the controller 106 can be expressed as Δw(t). The example method 300 can apply one or more rule sets based on known fuzzy logic principles to adjust the weighting parameter R in view of the allowable stress violation.
An example fuzzy logic system includes a Sugeno type of fuzzy logic system, where triangle/trapezoid, Gaussian, or bell shapes are used as membership functions of the inputs and singleton output values are used as membership functions of the output. Example rules that can be applied can be expressed as disclosed below in Table 1, according to the following nomenclature: NL: negative large; NS: negative small; ZE: zero; PS: positive small; and PL: positive large.
As an example implementation of the rules of Table 1, if the predicted allowable stress violation e(t) is NS (negative small) and the predicted change in the allowable stress violation Δe(t) is PL, the change in the controller tuning parameter Δw(t) is PS (positive small). A final output or tuning change implemented by the controller 106 in connection with the MPC logic is calculated as an aggregate of the outputs of all the active rules as part of a de-fuzzification process. Examples of known de-fuzzification methods that can be used to produce a quantifiable result from the fuzzy logic include Center of Gravity (COG) and Middle of Maximum (MOM).
For example, if the predicted allowable stress violation e(t) is 800 psi and the predicted stress violation change Δe(t) is 350 psi/min, fuzzy logic singleton values can be selected as:
NL: −5, NS: −1, ZE: 0, PS: 1, PL: 5.
Also, continuing with the above-disclosed example, the following rules can be applied:
Rule (1): If e(t) is PL and Δe(t)/Δt is PL, then the tuning change Δw(t) is PL; and
Rule (2): If e(t) is PS and Δe(t)/Δt is PL, then the tuning change Δw(t) is PL.
Rules (1) and (2) can be translated into the following example numeric logics:
Rule (1): If e(t) is 0.7 and Δe(t)/Δt is 0.6, then the tuning change Δw(t) is 5; and
Rule (2): If e(t) is 0.4 and Δe(t)/Δt is 0.6, then the tuning change Δw(t) is 5.
Rules (1) and (2) can be further reduced to:
Rule (1): If Δe(t)/Δt is 0.6, then the tuning change Δw(t) is 5; and
Rule (2): If e(t)/Δt is 0.4, then the tuning change Δw(t) is 5.
After de-fuzzification using one or more known methods, the final output for the above-disclosed example can be obtained as follows: (0.6*5+0.4*5)/(0.6+0.4)=5. Based on the final output of the above-disclosed example, the weighting parameter R is increased by 5, which reduces (e.g., slows down) the load or speed setpoint movement of the turbine 102.
In some examples, the weighting parameter R can be tuned or adjusted in real time. However, such real-time tuning can strain the example system 100 in implementing the MPC logic, calculating the predicted rotor stress, and providing real-time feedback to the controller 106. To reduce the real-time tuning efforts by the decision support tuner 116, an offline, automatic adaptive tuning method can be implemented by the decision support tuner 116.
The example method 300 begins with tuning of a controller (e.g., the model predictive controller 106) based on fuzzy logic in real-time (block 302). At the end of the real-time tuning (e.g., by the decision support tuner 116), the example method 300 includes determining whether the actual stress violated the allowable stress (e.g., as determined by the comparer 114) (block 304). If the allowable stress violated the actual stress, the example method 300 automatically decreases the fuzzy logic singleton values for NS (negative small) and NL (negative large) and increases the singleton values for PL (positive large) and PS (positive small) (block 306). In the example method 300, the adjustment to the singleton values due to the actual stress violating the allowable stress occurs before the next real-time implementation or run of the fuzzy logic tuning (block 308). The adjusted singleton values are used in the next real-time fuzzy logic run or implementation of the fuzzy logic to tune the controller (block 302).
If the actual stress does not violate the allowable stress, the example method 300 includes determining whether the actual stress is below the allowable stress by a predetermined threshold amount (block 310). In some examples, the threshold amount is representative of an amount by which the actual stress is considered to be below the allowable stress limit (e.g., the actual stress is significantly below the allowable stress limit). Thus, in such examples, the load or speed setpoint can be increased without a risk of violating the allowable stress. To tune or adjust the MPC logic used by the controller (e.g., the controller 106) such that a more aggressive load or speed setpoint is output, the example method 300 includes increasing singleton values for NS (negative small) and NL (negative large) and decreasing singleton values for PL (positive large) and PS (positive small) (block 312). In such examples, the adjustment to the singleton values based on the actual stress being below the allowable stress by a threshold amount occurs before the next real-time run of the fuzzy logic tuning (block 308) such that the adjusted singleton values are used in the next real-time fuzzy logic run to tune the controller (block 302).
If the actual stress is not below the allowable stress by the threshold amount, the example method 300 refrains from adjusting the singleton values (block 314). In such examples, although the actual stress does not violate the allowable stress, the actual stress is not below the allowable stress limit by an amount (e.g., the threshold amount) that would warrant an increase in the aggressiveness of the MPC logic in calculating the speed/load setpoint. Therefore, the example method 300 does not adjust the singleton values so as not to risk a violation of the actual stress in view of the allowable stress by adjusting the aggressiveness of the controller. Refraining from adjusting the singleton values also prevents the controller from taking a less aggressive approach that unnecessarily slows down the speed or load setpoint. In such examples, the singleton values are not changed between the real-time fuzzy logic tuning runs (blocks 302, 308).
Thus, the example method 300 provides for an efficient, offline means of providing for an evaluation of the actual stress in view of the allowable stress with respect to the dynamic tuning of the controller. Based on the comparison of the actual stress to the allowable stress, the example method 300 determines whether the singleton values should be revised or adjusted as part of the next implementation of the real-time fuzzy logic tuning of the MPC logic. Thus, between consecutive implementations of the real-time fuzzy logic tuning, the example method 300 provides for adjustments that can be implemented in future real-time tuning of the controller.
The example system 100 also includes a model adaptor 118. The model adaptor 118 collects the data generated by one or more of the controller 106 (e.g., the predicted setpoint), the metal temperature predictor 108 (e.g., the predicted metal temperature), the stress calculator 110 and the allowable stress calculator 112 (e.g., the actual stress, the predicted stress, and the allowable stress), the comparer 114 (e.g., allowable stress violations and/or thresholds), and the decision support tuner 116 (e.g., the adjustments to the weighting parameters). The model adaptor 118 can receive the data from the one or more other components of the example system 100 in substantially real-time, such as when the controller 106 determines a predicted setpoint and/or the comparer 114 determines if there is a stress violation. In other examples, the model adaptor 118 receives the data from the one or more other components after, for example, the decision support tuner 116 determines whether the MPC logic (e.g., one or more tuning parameters such as the tuning parameter R) used by the controller 106 should be adjusted.
Based on the data received from the one or more other components of the example system 100, the model adaptor 118 calibrates and/or re-calibrates the models used by the MPC controller 106 and/or the metal temperature predictor 108 In some examples, the data collected by the model adaptor 118 is used as a baseline or known values for calibrating the models or algorithms used by the one or more components of the example system 100 in determining and evaluating the predicted setpoint.
For example, the prediction model used by the controller 106 predicts the setpoint (e.g., a speed setpoint or a load setpoint) in view of the target setpoint and actual or real-time ramp speeds or loads. A difference between the predicted setpoint and the actual speed or load ramp values represents a prediction error of the prediction model used by the controller 106. If the prediction error is above a predetermined threshold (which can be indicative of a larger prediction error), the model adaptor 118 adapts or adjusts the prediction model based on, for example empirical data. As another example, if a difference between a predicted metal surface temperature calculated by the metal temperature predictor 108 and an actual surface temperature results in a prediction error above a threshold, then the model adaptor 118 revises the model used by the metal temperature calculator 108 to predict the temperature.
While an example manner of implementing the example system 100 is illustrated in
The example method 400 includes predicting a metal surface temperature of one or more components of the turbine, such as a rotor of the turbine (e.g., the rotor 104 of
The example method 400 includes calculating a stress on the turbine based on the predicted metal surface temperature (block 406). Calculating the stress can include predicting a stress based on the predicted metal surface temperature and one or more material properties of the turbine, such as a type of metal from which the rotor is constructed. In some examples, calculating the stress includes calculating an actual stress on the rotor in real-time based on a current surface temperature of the rotor. The stress calculations of the example method 400 can be performed by one or more calculators (e.g., the stress calculator 110 of
In the example method 400, the calculated stress (e.g., the predicted stress and/or the actual stress) is compared (e.g., via the comparer 114 of
If the calculated stress violates the allowable stress, the example method 400 includes adjusting the setpoint and/or stopping the ramping (block 412). For example, the controller (e.g., the controller 106) can revise or re-calculate the predicted setpoint to slow down the ramp rate of the turbine and, thus, reduce the stress on the rotor. The revised setpoint can be provided to the turbine (e.g., via instructions from the controller 106). In examples where the ramping is in progress, the ramping of the turbine may be automatically stopped or reduced based on the determination that the predicted setpoint violates the allowable stress (e.g., via instructions from the controller 106).
If the predicted stress does not violate the allowable stress, the example method 400 includes directing the turbine to ramp based on the predicted setpoint (block 414). Directing the turbine to ramp based on the predicted setpoint can be implemented via one or more commands by the controller (e.g., the controller 106) sent to the turbine (e.g., the turbine controller 105 of the turbine 102).
In the example method 400, the comparison of the calculated stress with the allowable stress also serves as feedback for tuning the MPC logic used to predict the setpoint. In particular, the example method 400 includes tuning the MPC logic based on the comparison of the calculated stress and the allowable stress (block 418). For example, if the calculated stress violates the allowable stress, one or more parameters and/or constraints of the MPC logic (e.g., the tuning parameter R) can be adjusted (e.g., via the decision support tuner 116 of
Thus, the example method 400 provides for predicting a setpoint for transitioning a turbine from a non-operating state to an operating state without violating an allowable stress limit that can be tolerated by the turbine. In particular, the example method 400 includes for an evaluation of the predicted setpoint based on a comparison of the predicted stress and/or the actual stress on the turbine resulting from the predicted setpoint with the allowable stress. If the predicted or actual stress violates the allowable stress, the example method 400 responds by dynamically adjusting and/or stopping ramping of the turbine to not place undue stress on the turbine, which can lead to damage to the turbine components. Further, based on the comparison, the example method 400 automatically tunes the logic or algorithms used to predict the setpoint, thereby providing a feedback-driven method for determining the setpoint.
The flowcharts of
As mentioned above, the example methods of
The processor platform 500 of the illustrated example includes a processor 512. The processor 512 of the illustrated example is hardware. For example, the processor 512 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
The processor 512 of the illustrated example includes a local memory 513 (e.g., a cache). The processor 512 of the illustrated example is in communication with a main memory including a volatile memory 514 and a non-volatile memory 516 via a bus 518. The volatile memory 514 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 516 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 514, 516 is controlled by a memory controller.
The processor platform 500 of the illustrated example also includes an interface circuit 520. The interface circuit 520 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
In the illustrated example, one or more input devices 522 are connected to the interface circuit 520. The input device(s) 522 permit(s) a user to enter data and commands into the processor 512. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
One or more output devices 524 are also connected to the interface circuit 520 of the illustrated example. The output devices 524 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit 520 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.
The interface circuit 520 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 526 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The processor platform 500 of the illustrated example also includes one or more mass storage devices 528 for storing software and/or data. Examples of such mass storage devices 528 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
Coded instructions 532 to implement the methods of
From the foregoing, it will be appreciated that the above-disclosed apparatus and methods determine a speed setpoint and/or a load setpoint for transitioning a steam turbine from a non-operating state to an operating state without violating a predetermined allowable stress limit of the turbine. The disclosed examples use MPC logic in connection with a forward simulation model to predict a setpoint over a prediction horizon. The forward simulation model provides for improved prediction of the turbine ramp rate over known MPC logic, which is limited with respect to prediction abilities. Further, the disclosed examples provide for control inputs to the turbine corresponding to speed or load demands on the turbine that generate the predicted setpoint.
The disclosed examples evaluate the predicted setpoint in view of the allowable stress on the turbine to reduce the risk of damage to the turbine from thermal stress during the transition of the turbine to a fully operational state. In the disclosed examples, the predicted setpoint is used to predict a metal surface temperature of a rotor of the turbine. Based on the predicted surface temperature, the disclosed examples predict a stress on the turbine and compare the predicted stress to the allowable stress. If the predicted stress violates the allowable stress, the disclosed examples automatically respond by adjusting the setpoint and/or instructing the turbine to stop ramping to prevent damage to the turbine in view of the allowable stress violation. Further, the disclosed examples dynamically adjust one or more parameters, functions, and/or constraints of the MPC logic in response to the comparison between the predicted and allowable stresses. In addition, such adjustments can be determined offline between iterative runs of the MPC logic and simulation model to increase the efficiency of the tuning of the MPC logic without overloading the disclosed control systems in real-time. Thus, the disclosed examples provide for predictive modeling of the turbine response in view of speed or load demands placed on the turbine in implementing the setpoint. Further, the disclosed examples evaluate the response of the turbine in view of, for example, a predicted metal surface temperature of the turbine rotor. Such an evaluation provides for a determination of whether the setpoint will cause undue stress on the rotor and can be used to provide feedback to the disclosed control systems for future predictions of the turbine ramp rate. By determining an optimal setpoint that can approach but not exceed an allowable stress limit, the disclosed examples provide for efficient start-up of the turbine with a reduced or substantially eliminated risk of damage to the turbine.
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.