A Model-Based Prediction-Based Fast and Stable Control Method for Hydropower Units with Multiple Constraints
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-24
- Publication Date
- 2026-08-14
AI Technical Summary
传统的水电机组控制方法在应对复杂多变的运行工况以及多约束条件时,存在诸多局限性
[0007]基于以上方面,通过获取水电机组在当前控制周期的机组实时状态信息,包括水轮机转速瞬时值和导叶开度瞬时值,以这些实时状态信息作为初始值,结合预设的多个差异化导叶调节策略集合,调用预构建的水电机组非线性动力学模型进行并行化的未来运行轨迹推演处理,能够全面且精准地模拟机组在不同导叶调节策略下的未来运行情况,生成多个预测运行轨迹,充分考虑了机组运行的多种可能性。识别出每一个预测运行轨迹中违反运行安全边界条件的违规时间片段,并针对包含违规时间片段的预测运行轨迹进行边界条件引导下的递归修正处理,生成满足全部运行安全边界条件的修正后运行轨迹,再与初始即满足条件的预测运行轨迹汇集构成候选安全轨迹集合,确保了所有候选轨迹都符合机组安全运行的要求,有效避免了因违反安全边界条件而导致的机组故障和安全事故,大大提高了机组运行的安全性。从候选安全轨迹集合中筛选出综合调控性能代价最小的一个运行轨迹作为最优控制轨迹,并基于该轨迹生成最终导叶开度控制指令,实现了对机组运行的多目标优化。既考虑了机组的安全运行,又兼顾了调控性能,使得机组在满足安全约束的前提下,能够以最优的方式运行,提高了机组的运行效率和稳定性。同时,根据水轮机转速瞬时值与最优控制轨迹中同一控制周期的水轮机转速预测值之间的偏差量,对导叶开度指令值进行闭环反馈校正处理,进一步提高了控制的精度和响应速度,能够快速适应机组运行过程中的各种变化,实现水电机组的多约束快速平稳控制。
Smart Images

Figure CN122565636A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of hydropower unit control technology, and more specifically, to a multi-constraint fast and stable control method for hydropower units based on model prediction. Background Technology
[0002] In the field of hydropower unit operation and control, ensuring the safe, stable, and efficient operation of the unit is a crucial objective. Traditional hydropower unit control methods have many limitations when dealing with complex and ever-changing operating conditions and multiple constraints.
[0003] On the one hand, most existing control methods are based on simplified linear models. However, the actual operation of hydropower units has highly nonlinear characteristics. The simplified models mentioned above cannot accurately describe the dynamic behavior of the unit under different operating conditions, resulting in insufficient control accuracy and an inability to effectively cope with various emergencies and complex constraints during the operation of the unit.
[0004] On the other hand, when faced with multiple constraints, traditional methods often adopt a step-by-step approach, lacking comprehensive consideration and coordinated optimization of multiple constraints. For example, when considering multiple safety boundary conditions such as spiral casing pressure, turbine speed, and vibration speed, traditional methods struggle to satisfy all constraints simultaneously, easily leading to situations where one aspect is overlooked while another is addressed, thus increasing the safety risks of unit operation.
[0005] Furthermore, traditional control methods often generate control commands through open-loop control or simple closed-loop feedback control, lacking the ability to predict and plan future operating trajectories. This makes it difficult to detect potential safety issues in advance and make proactive adjustments, thus failing to achieve rapid and stable control and affecting the operating efficiency and stability of hydropower units. Summary of the Invention
[0006] In view of the aforementioned problems, and in conjunction with the first aspect of the present invention, embodiments of the present invention provide a model-predictive-based multi-constraint fast and stable control method for hydropower units, the method comprising: The real-time status information of the hydropower unit in the current control cycle is obtained, and the real-time status information of the unit includes the instantaneous value of the turbine speed and the instantaneous value of the guide vane opening. Using the instantaneous value of the turbine speed as the initial state value and the instantaneous value of the guide vane opening as the initial control value, and combining multiple preset sets of differentiated guide vane adjustment strategies, a pre-constructed nonlinear dynamic model of the hydropower unit is called to perform parallel future operation trajectory extrapolation processing, generating multiple predicted operation trajectories corresponding to the multiple differentiated guide vane adjustment strategies. Each predicted operation trajectory includes a guide vane opening prediction sequence arranged according to the control cycle time sequence and a turbine speed prediction sequence that corresponds one-to-one with each opening value in the guide vane opening prediction sequence. Identify each time segment in the predicted operating trajectory that violates the operating safety boundary conditions, which include the upper limit boundary of the spiral casing pressure, the upper limit boundary of the turbine speed, and the vibration speed restriction zone boundary. For each predicted operating trajectory identified as containing the violation time segment, based on the specified operating safety boundary conditions it violates, a recursive correction process guided by boundary conditions is performed on the guide vane opening prediction sequence corresponding to the violation time segment in the predicted operating trajectory to generate a corrected operating trajectory that satisfies all the operating safety boundary conditions. All the corrected operating trajectories are then combined with the predicted operating trajectories that initially satisfy all the operating safety boundary conditions to form a candidate safe trajectory set. The optimal control trajectory is selected from the candidate safe trajectory set, which has the lowest overall control performance cost. The guide vane opening command value corresponding to the next control cycle is extracted from the guide vane opening prediction sequence of the optimal control trajectory. Based on the deviation between the instantaneous value of the turbine speed and the predicted value of the turbine speed in the same control cycle of the optimal control trajectory, the guide vane opening command value is subjected to closed-loop feedback correction processing to generate the final guide vane opening control command. The final guide vane opening control command is sent to the guide vane hydraulic actuator of the hydroelectric unit to complete the control operation of the current control cycle.
[0007] Based on the above, by acquiring the real-time status information of the hydropower unit during the current control cycle, including the instantaneous values of turbine speed and guide vane opening, and using this real-time status information as initial values, combined with a pre-set set of multiple differentiated guide vane adjustment strategies, and calling a pre-constructed nonlinear dynamics model of the hydropower unit for parallel future operation trajectory extrapolation, it is possible to comprehensively and accurately simulate the future operation of the unit under different guide vane adjustment strategies, generating multiple predicted operating trajectories that fully consider various possibilities for unit operation. Violation time segments that violate the operational safety boundary conditions are identified in each predicted operating trajectory, and recursive correction processing guided by boundary conditions is performed on the predicted operating trajectories containing violation time segments to generate corrected operating trajectories that satisfy all operational safety boundary conditions. These corrected trajectories are then combined with the initially predicted operating trajectories that already meet the conditions to form a candidate safe trajectory set, ensuring that all candidate trajectories meet the requirements for safe unit operation, effectively avoiding unit failures and safety accidents caused by violations of safety boundary conditions, and greatly improving the safety of unit operation. The optimal control trajectory is selected from the candidate safe trajectory set, choosing the one with the lowest overall control performance cost. Based on this trajectory, the final guide vane opening control command is generated, achieving multi-objective optimization of the unit's operation. This approach considers both safe operation and control performance, enabling the unit to operate optimally while meeting safety constraints, thus improving operational efficiency and stability. Furthermore, closed-loop feedback correction is applied to the guide vane opening command value based on the deviation between the instantaneous turbine speed and the predicted turbine speed in the same control cycle of the optimal control trajectory. This further improves control accuracy and response speed, allowing for rapid adaptation to various changes during unit operation and achieving fast and stable multi-constraint control of the hydropower unit. Attached Figure Description
[0008] Figure 1 This is a schematic diagram of the execution flow of the multi-constraint fast and stable control method for hydropower units based on model prediction provided in an embodiment of the present invention.
[0009] Figure 2 This is a schematic diagram of exemplary hardware and software components of a model-predictive multi-constraint fast and stable control system for hydropower units provided in an embodiment of the present invention. Detailed Implementation
[0010] Figure 1 This is a flowchart illustrating a model-predictive multi-constraint fast and stable control method for hydropower units, provided in one embodiment of the present invention. A detailed description follows.
[0011] Step S110: Obtain the real-time status information of the hydropower unit in the current control cycle. The real-time status information of the unit includes the instantaneous value of the turbine speed and the instantaneous value of the guide vane opening.
[0012] In a specific implementation scenario, the hydropower unit control system continuously reads data from the field sensor network via a high-speed data bus at a fixed sampling period (e.g., 0.1 seconds). This raw data, after being filtered and denoised by a signal processing module, is packaged and written into a circular data buffer. Step S110 is triggered by the controller's core scheduling program. At the beginning of each control cycle, the program reads the latest data packet belonging to that cycle from a specific position in the circular buffer. This data packet is a structure whose member variables include turbine speed n_t, guide vane opening g_t, operating head H, and active power P. Step S110 specifically involves parsing this structure and extracting the two key scalar values: turbine speed n_t and guide vane opening g_t. The turbine speed n_t is measured by a phase difference speed sensor mounted on the shaft and provided as a digital signal after conversion by a transmitter. Its value represents the actual rotational speed of the hydropower unit at the current moment, in revolutions per minute (rpm). The guide vane opening g_t is measured by a magnetostrictive linear displacement sensor connected to the piston rod of the guide vane servo actuator. After calibration, its output signal is mapped to a relative opening value from 0% to 100%, characterizing the actual opening area of the water flow channel. After extraction, this pair of values (n_t, g_t) is encapsulated and passed to the subsequent predictive control algorithm module as the initial state for the entire prediction and simulation.
[0013] Step S120: Using the instantaneous value of the turbine speed as the initial state value and the instantaneous value of the guide vane opening as the initial control value, and combining a set of multiple pre-set differentiated guide vane adjustment strategies, the pre-constructed nonlinear dynamic model of the hydropower unit is called to perform parallel future operation trajectory extrapolation processing, generating multiple predicted operation trajectories corresponding to the multiple differentiated guide vane adjustment strategies. Each predicted operation trajectory includes a guide vane opening prediction sequence arranged according to the control cycle time sequence and a turbine speed prediction sequence corresponding one-to-one with each opening value in the guide vane opening prediction sequence.
[0014] The purpose of this step is to evaluate the potential system behavior among several alternative future control action schemes. First, a configuration file named "Guide Vane Strategy Library" is loaded from non-volatile memory. This configuration file defines M different guide vane opening change scenarios in JSON format. Each scenario, i.e., a "differentiated guide vane adjustment strategy," is identified by a unique ID and contains the following specific parameters describing the expected opening change pattern over the next N control cycles: initial opening change rate v_init (in percentage of opening per control cycle); number of acceleration phase cycles N_acc; steady-state change rate v_steady after the acceleration phase ends; deceleration phase start cycle number N_dec_start; deceleration phase change rate v_dec; and a shape factor α that defines the smoothness of the opening change curve. The value of α ranges from 0.1 to 1.0; a larger α value indicates a steeper opening change curve. The above parameters together constitute a parameter vector P_k=[v_init, N_acc, v_steady, N_dec_start, v_dec, α]_k, where k=1, 2, ..., M represents the strategy number.
[0015] The multiple sets of differentiated guide vane adjustment strategies are generated as follows: Each parameter in the parameter vector is orthogonally combined or sampled using Latin hypercube sampling within its preset reasonable value range to generate M sets of parameter combinations covering both aggressive and conservative adjustment styles. Specifically, the parameters corresponding to the aggressive adjustment style are: a larger v_init value (e.g., 2% to 5% opening per cycle), a smaller N_acc value (e.g., 1 to 3 cycles), and a larger v_steady value (e.g., 1% to 2% opening per cycle). The parameters corresponding to the conservative adjustment style are: a smaller v_init value (e.g., 0.2% to 0.5% opening per cycle), a larger N_acc value (e.g., 5 to 8 cycles), and a smaller v_steady value (e.g., 0.1% to 0.3% opening per cycle). These M sets of parameter combinations are then encapsulated into M independent differentiated guide vane adjustment strategy objects. Each strategy object contains its corresponding parameter vector and strategy ID, collectively forming the preset multiple sets of differentiated guide vane adjustment strategies.
[0016] In subsequent parallel simulation processing, for the k-th strategy in the strategy set, based on its parameter vector P_k, a sequence of guide vane opening change rates for the next N control cycles is generated according to the following rules: for cycle numbers i=1 to N_acc, the change rate Δg_i=v_init; for cycle numbers i=N_acc+1 to N_dec_start-1, the change rate Δg_i=v_steady; for cycle numbers i=N_dec_start to N, the change rate Δg_i=v_dec. Simultaneously, the change direction sequence is determined based on the sign of the change rate: a positive change rate corresponds to the direction of opening increase, and a negative change rate corresponds to the direction of opening decrease. The above change rate sequence and change direction sequence completely define the guide vane opening change result of this strategy over the next N control cycles.
[0017] After obtaining the initial state (n_t, g_t) and the policy set, a parallel computation task can be started. Specifically, for the k-th policy in the policy library (k ranges from 1 to M), the following serialization operation is performed to generate a predicted trajectory: Step S121: Read the preset set of multiple differentiated guide vane adjustment strategies from the strategy storage unit connected to the hydropower unit control system. The set of multiple differentiated guide vane adjustment strategies contains multiple guide vane opening change mode description files that are different from each other in terms of adjustment rate and adjustment curve.
[0018] The strategy storage unit is typically a solid-state storage chip, which internally stores multiple strategy files tuned through offline simulation and expert experience. Step S121 is executed once during system initialization or condition switching. The controller reads these files through the file system interface and parses them into data structures in memory. Each strategy object contains not only an ID, but more importantly, a description of an "action sequence generator." This description is not a simple list of opening angles, but a set of rules. For example, it may contain: an initial action offset Δg_init, acceleration parameters a_phase1 and a_phase2 for different time periods, and a shape parameter beta (used to define the smoothness of the S-curve). By combining these parameters, a continuous or discrete opening angle command curve can be generated online. This step loads the above parameterized strategy description into the strategy list in memory.
[0019] Step S122: Sequentially traverse the multiple sets of differentiated guide vane adjustment strategies, select the first differentiated guide vane adjustment strategy to be processed as the current inference strategy, and obtain the rate of change sequence and direction of change sequence of the guide vane opening that the current inference strategy should follow in multiple consecutive control cycles in the future.
[0020] Within the parallel inference framework, the inference of each strategy is performed by an independent thread or process. Taking the thread processing the first strategy as an example, it retrieves the description object of strategy A from the strategy list. Then, based on the current control cycle duration Δt, the thread discretizes the action curve described in strategy A. Specifically, based on the function and parameters in the strategy description, it calculates the expected change in guide vane opening Δg_i within each future control cycle i (i=1, 2, ..., N). This change Δg_i can be positive or negative, representing an increase or decrease in opening. Simultaneously, based on the sign of Δg_i, a direction flag sequence d_i of the same length is generated, for example, +1 represents an increase and -1 represents a decrease. Finally, the thread obtains two core sequences, each of length N: the rate of change sequence ΔG_seq_A=[Δg_1, Δg_2, ..., Δg_N] and the direction of change sequence D_seq_A. These two sequences completely encode the "blueprint" of future opening changes specified by strategy A, starting from the current moment.
[0021] Step S123: Using the instantaneous value of the guide vane opening obtained from the actual measurement in the current control cycle as the baseline, the guide vane opening prediction value for each future control cycle is calculated step by step according to the change rate sequence and change direction sequence. All the guide vane opening prediction values are arranged in chronological order to generate a guide vane opening prediction sequence corresponding to the current deduction strategy.
[0022] After obtaining the rate of change sequence, the thread begins constructing the aperture prediction sequence, starting with the measured instantaneous value of the guide vane aperture g_t, i.e., g_pred_0 = g_t. Then, iterative calculations are performed: g_pred_1 = g_pred_0 + Δg_1, obtaining the aperture value for the first prediction period; g_pred_2 = g_pred_1 + Δg_2, obtaining the aperture value for the second prediction period; and so on, until g_pred_N = g_pred_{N-1} + Δg_N. This recursive process is equivalent to accumulating the rate of change sequence. After the calculation is complete, the thread stores all obtained g_pred_i sequentially in an array G_pred_seq_A, where G_pred_seq_A = [g_pred_1, g_pred_2, ..., g_pred_N]. This array represents the predicted trend of the guide vane aperture for the next N periods if strategy A is strictly followed.
[0023] Step S124: Take the instantaneous value of the turbine speed obtained by actual measurement in the current control cycle as the initial value of the state, and input the guide vane opening prediction sequence corresponding to the current deduction strategy into the pre-constructed nonlinear dynamic model of the hydropower unit. Based on the instantaneous value of the turbine speed in the current control cycle and the guide vane opening prediction value in the first future control cycle, combined with the flow-speed-torque characteristic surface of the turbine, calculate the turbine speed prediction value in the first future control cycle.
[0024] After generating the opening prediction sequence, the thread needs to predict the corresponding unit state changes, which is accomplished by calling a pre-set hydro-generator nonlinear dynamics model. This hydro-generator nonlinear dynamics model is a parameterized numerical simulation model, the core of which is the turbine's comprehensive characteristic curve (model comprehensive characteristic curve) and the motion equations of the rotating components. The thread first inputs the current rotational speed n_t and the first predicted opening g_pred_1 into the model. The internal processing flow of the model is as follows: First, based on the current head H (obtained from the unit state information) and g_pred_1, two-dimensional interpolation is performed in the pre-stored turbine flow characteristic matrix to obtain the predicted flow rate Q_1 under this operating condition. The flow characteristic matrix is a data table obtained in advance through model experiments; the row index is the head, the column index is the opening, and the matrix elements are the flow rates. Next, based on the head H and the flow rate Q_1, two-dimensional interpolation is performed in the pre-stored turbine torque characteristic matrix to obtain the predicted turbine torque M_h1. Then, the model solves the discretized rotor motion equation: n_1=n_t+(Δt / (2πJ))(M_h1-M_e1-M_f)60, where J is the unit's moment of inertia, M_e1 is the estimated electromagnetic torque for the first prediction cycle (which can be estimated based on the current active power and speed, or assumed to be a constant value), and M_f is the loss torque due to mechanical friction, etc. The predicted turbine speed n_1 for the first future control cycle is calculated using this equation.
[0025] Step S125: Take the calculated turbine speed estimate for the first future control cycle as the new state input, and combine it with the guide vane opening estimate for the second future control cycle to perform recursive calculation again to obtain the turbine speed estimate for the second future control cycle.
[0026] After completing the first prediction step, the model enters the iterative state. The thread takes the rotational speed n_1 calculated in the previous step as the new "current state" and inputs it into the dynamic model again along with the second value g_pred_2 in the opening prediction sequence. The model repeats the same calculation process as in step S124: the flow rate Q_2 is interpolated based on the head H and g_pred_2, the torque M_h2 is interpolated based on H and Q_2, and then the rotational speed n_2 for the second prediction cycle is calculated using the equation of motion n_2=n_1+(Δt / (2πJ))(M_h2-M_e2-M_f)60. Here, the electromagnetic torque M_e2 can be estimated based on n_1 and the preset active power change curve to reflect the influence of the generator load.
[0027] Step S126: Repeat the recursive calculation based on the previous cycle speed estimate and the current cycle guide vane opening estimate until the turbine speed estimate for all future control cycles corresponding to each opening value in the guide vane opening prediction sequence is calculated.
[0028] Step S125 constitutes a loop. The thread iterates from 2 to N using a loop variable i. In each loop, the input is the rotational speed n_{i-1} calculated in the previous loop and the opening degree g_pred_i corresponding to the current loop. The model uses the same interpolation method and equations of motion to calculate the rotational speed n_i for the i-th prediction cycle. This loop process simulates the dynamic response of the unit under a given opening degree change strategy over a future period. When the loop ends, the thread will obtain a set of rotational speed prediction sequences N_pred_seq_A=[n_1, n_2, ..., n_N] that completely correspond to the opening degree prediction sequence G_pred_seq_A. The entire deduction process strictly follows physical laws, and its accuracy depends on the accuracy of the turbine characteristic curves and model parameters.
[0029] Step S127: Arrange all the predicted turbine speed values obtained by recursion calculation in the order of control cycles to generate a turbine speed prediction sequence corresponding to the current simulation strategy.
[0030] In fact, during the iterative calculation in step S126, each calculated n_i is sequentially added to an array. When the loop ends, this array is naturally the turbine speed prediction sequence N_pred_seq_A arranged in chronological order. The thread encapsulates this array to ensure that its timestamps are strictly synchronized with the opening degree prediction sequence.
[0031] Step S128: Align and combine the guide vane opening prediction sequence and the turbine speed prediction sequence on the time axis to generate a complete predicted operating trajectory corresponding to the current simulation strategy, and summarize all the complete predicted operating trajectories generated during the traversal process that correspond one-to-one with each differentiated guide vane adjustment strategy to generate the multiple predicted operating trajectories.
[0032] For strategy A, the thread now has two key sequences of equal length: the opening sequence G_pred_seq_A and the rotational speed sequence N_pred_seq_A. The thread creates a trajectory object Traj_A, using these two sequences as its core attributes. Additionally, other derived sequences, such as power prediction sequences, can be computed. Then, the thread places Traj_A into a shared result set. Simultaneously, parallel threads processing other strategies (such as strategy B, strategy C, etc.) are executing the exact same steps S122 to S127, generating Traj_B, Traj_C, ... respectively. After all parallel threads have completed their computations, a main thread collects all trajectory objects, ultimately forming a set containing M predicted running trajectories. Each trajectory represents a possible future control path and its corresponding system state evolution.
[0033] Step S130: Identify each violation time segment in the predicted operating trajectory that violates the operating safety boundary conditions, including the upper limit boundary of the spiral casing pressure, the upper limit boundary of the turbine speed, and the vibration speed forbidden zone stagnation boundary.
[0034] After obtaining multiple possible future trajectories, their safety must be assessed. This embodiment predefines several operational safety boundaries that cannot be violated, including that the volute pressure cannot exceed the design upper limit P_max, the turbine speed cannot exceed the runaway speed n_max, and that prolonged stays within a speed range [n_zone_low, n_zone_high] that is prone to strong vibrations must be avoided for an extended period of time T_zone_max. Step S130 acts like a rigorous "safety auditor," examining each predicted trajectory one by one to identify all periods that violate the aforementioned boundaries.
[0035] Step S131: Read the pre-set and persistently stored operating safety boundary condition parameters from the hydropower unit's safe operation parameter database. The operating safety boundary condition parameters include the maximum allowable pressure value corresponding to the upper limit boundary of the spiral casing pressure, the maximum allowable speed value corresponding to the upper limit boundary of the turbine speed, the lower limit speed value and the upper limit speed value corresponding to the vibration speed restriction zone boundary, and the longest allowable continuous residence time value within the interval formed by the lower limit speed value and the upper limit speed value of the restriction zone.
[0036] During the initialization phase, the control system loads all necessary boundary values from a safety parameter database. This database may be an XML configuration file or an SQLite database. Step S131 involves querying this database, retrieving the five key parameters P_max, n_max, n_zone_low, n_zone_high, and T_zone_max, and storing them in global variables for use by all safety review logic. These parameters are typically fixed, but can be fine-tuned based on the unit's operating years or overhaul records.
[0037] Step S132: Take the first predicted operating trajectory to be reviewed from the multiple predicted operating trajectories as the current review trajectory, extract the guide vane opening prediction sequence from the current review trajectory, and calculate the volute pressure prediction for each future control cycle corresponding to each opening prediction in the guide vane opening prediction sequence, based on the guide vane opening prediction value for each control cycle in the current control cycle and the actual working head value of the hydropower unit, using a pre-established functional relationship model between volute pressure, head, and opening, thereby generating a volute pressure prediction sequence.
[0038] The review begins with the first trajectory, Traj_A. The review module extracts the opening prediction sequence G_pred_seq_A from Traj_A. However, the upper limit of the spiral casing pressure in the safety boundary is for the water pressure inside the spiral casing, while the trajectory only contains the opening and rotational speed. Therefore, it is necessary to estimate the spiral casing pressure based on the change in opening. This embodiment incorporates a spiral casing pressure estimation model, which uses hydraulic principles to map the opening and head to spiral casing pressure. The calculation process is described below.
[0039] Step S1321: Obtain the upstream and downstream water level values measured by the water level sensor in the current control cycle from the hydropower unit field data acquisition system, calculate the difference between the upstream and downstream water level values, and determine the difference as the actual working head value of the hydropower unit in the current control cycle.
[0040] The starting point for spiral casing pressure estimation is determining the current operating head H. The controller reads the latest measurements Z_up and Z_down from the upstream and downstream level gauges. Subtracting these two values yields the net head H = Z_up - Z_down. Within the prediction time domain, it is typically assumed that the head H remains constant because reservoir water levels change relatively slowly. H is the basis for calculating hydrostatic pressure.
[0041] Step S1322: Query and read the pre-stored spiral casing geometric parameters from the hydropower unit design data database. The spiral casing geometric parameters include at least the inlet cross-sectional area of the spiral casing, the average flow velocity coefficient of each cross-section of the spiral casing, and the equivalent friction coefficient of the spiral casing.
[0042] Pressure estimation also requires the inherent geometric and flow characteristic parameters of the volute. These parameters are fixed and can be read from the design database, including: the volute inlet cross-sectional area A_c, the average velocity coefficient C_v inside the volute (used to correct the cross-sectional average velocity to the actual effective velocity), and an equivalent friction coefficient f_eq that comprehensively reflects the roughness of the volute inner wall and the form resistance.
[0043] Step S1323: Extract the estimated value of the guide vane opening for the first future control cycle from the guide vane opening prediction sequence of the current review trajectory.
[0044] The review module retrieves the first opening prediction value, g_pred_1, from G_pred_seq_A. This is one of the inputs for estimating the volute pressure in the first prediction cycle.
[0045] Step S1324: Based on the flow characteristic curve of the turbine, query the predicted flow rate of the turbine under the combined effect of the current actual working head value and the estimated guide vane opening value of the first future control cycle.
[0046] The spiral casing pressure is strongly correlated with the flow rate through the turbine. In this embodiment, based on the head H and the turbine opening g_pred_1, the turbine flow rate characteristic curve (usually a two-dimensional interpolation table) stored in memory is queried. The predicted flow rate Q_pred_1 under this operating condition is obtained using a bilinear interpolation algorithm. The interpolation process is as follows: four points enclosing (H, g_pred_1) in the head and opening grid are found. First, two intermediate flow rates are obtained through linear interpolation in the head direction. Then, these two intermediate flow rates are linearly interpolated in the opening direction to obtain the final Q_pred_1.
[0047] Step S1325: Input the predicted flow rate value, the cross-sectional area of the volute inlet, and the average velocity coefficient of each cross section of the volute into the volute flow velocity calculation model constructed based on the fluid continuity equation and the energy equation to calculate the estimated average flow velocity of the water inside the volute.
[0048] According to the continuity equation, flow rate divided by the flow area equals velocity. However, the volute shape is unique, resulting in uneven velocity distribution. Therefore, we first calculate the theoretical average velocity v_theory_1 = Q_pred_1 / A_c, and then multiply it by the velocity coefficient C_v to obtain the effective average velocity estimate for loss calculation: v_eff_1 = v_theory_1 * C_v. C_v is an empirical coefficient less than 1, obtained from fluid simulation or field measurements.
[0049] Step S1326: Input the calculated average flow velocity estimate, the equivalent friction coefficient of the volute, and the characteristic length parameter characterizing the geometry of the volute into the friction head loss calculation model constructed based on the Darcy-Weisbach formula to calculate the estimated pressure loss generated by the water flow through the volute.
[0050] Water flow within a spiral casing incurs frictional losses. These losses are estimated using the classic Darcy-Weisbach formula in hydraulics. The formula is: Head loss h_f = f_eq(L_eq / D_eq)(v_eff^2 / (2g)). Here, L_eq is the equivalent flow path length of the spiral casing, D_eq is the equivalent diameter, and g is the acceleration due to gravity. L_eq / D_eq can be combined into a characteristic coefficient K_geo related to the geometry of the spiral casing. Therefore, the head loss corresponding to the pressure loss can be calculated as h_f1 = f_eqK_geo(v_eff_1^2) / (2g). The head loss is then converted to pressure loss ΔP_loss1 = ρgh_f1, where ρ is the density of water.
[0051] Step S1327: Obtain the theoretical static pressure value at the volute inlet corresponding to the current actual working head value, and perform an algebraic subtraction operation between the theoretical static pressure value and the calculated pressure loss estimate to obtain the volute pressure estimate for the first future control cycle.
[0052] The theoretical static pressure at the inlet of the volute (ignoring velocity head) is P_static = ρgH. This is the potential energy provided by the water head H. The water flow within the volute consumes some energy (i.e., pressure loss ΔP_loss1), therefore the actual pressure prediction inside the volute is P_pred_1 = P_static - ΔP_loss1. This yields the predicted volute pressure at the end of the first future control cycle.
[0053] Step S1328: Extract the guide vane opening estimate for each subsequent future control cycle from the guide vane opening prediction sequence in sequence, and for each extracted opening estimate, repeat the steps of querying the predicted flow rate, calculating the average flow velocity, calculating the pressure loss, and subtracting the pressure loss from the theoretical static pressure until the volute pressure estimate for all future control cycles that correspond one-to-one with all the opening estimates in the guide vane opening prediction sequence is calculated.
[0054] Steps S1323 to S1327 above constitute a calculation unit for a single aperture value. The review module encapsulates this as a function. Then, iterates through each value g_pred_i (i from 2 to N) in the aperture prediction sequence G_pred_seq_A. For each g_pred_i, the function is called: input (H, g_pred_i, A_c, C_v, f_eq, K_geo), the function performs interpolation to Q_pred_i, calculates v_eff_i, calculates h_fi and ΔP_losss_i, and finally calculates P_pred_i = ρgH - ΔP_losss_i. After the loop completes, a volute pressure prediction sequence P_pred_seq_A = [P_pred_1, P_pred_2, ..., P_pred_N] of the same length as the aperture sequence is obtained.
[0055] Step S1329: Arrange the calculated volute pressure prediction values for all future control cycles in chronological order to generate a volute pressure prediction sequence that is perfectly aligned with the guide vane opening prediction sequence of the current review trajectory on the time axis. Associate the generated volute pressure prediction sequence with the identification information of the current review trajectory and store it in a temporary data buffer.
[0056] The iterative calculations naturally generate a pressure sequence P_pred_seq_A arranged in chronological order. The inspection module binds this sequence to the ID of the trajectory Traj_A and caches it in a hash table in memory, with the trajectory ID as the key and the pressure sequence as the value. Thus, trajectory Traj_A possesses three core sequences: aperture, rotational speed, and volute pressure. Subsequent boundary checks can directly use these sequences.
[0057] Step S133: Compare each volute pressure prediction value in the volute pressure prediction sequence with the maximum allowable pressure value corresponding to the upper limit boundary of the volute pressure, record the control cycle number of all volute pressure prediction values that are greater than the maximum allowable pressure value, and collect them into the first potential violation time set.
[0058] The review module retrieves the pressure sequence P_pred_seq_A and boundary value P_max calculated for Traj_A. It then performs an element-wise comparison, initializing an empty list `violation_times_pressure`. From i=1 to N, it checks if the condition P_pred_i>P_max holds. If true, the period number i is added to the `violation_times_pressure` list. For example, if the comparison finds that the pressure predictions for periods 3, 7, and 8 exceed P_max, then `violation_times_pressure` = [3, 7, 8]. This list records all potential violations of Traj_A regarding volute pressure.
[0059] Step S134: Compare each predicted turbine speed value in the turbine speed prediction sequence in the current review trajectory with the maximum allowable speed value corresponding to the upper limit boundary of the turbine speed, record the control cycle number of all predicted turbine speed values that are greater than the maximum allowable speed value, and collect them into the second potential violation time set.
[0060] Similarly, the review module extracts the rotational speed sequence N_pred_seq_A and the boundary value n_max from Traj_A. It performs element-by-element comparisons and initializes the list violation_times_speed. For i ranging from 1 to N, if n_pred_i > n_max, then the index i is added to violation_times_speed. For example, if the comparison finds that the rotational speed exceeds the limit in cycles 5 and 6, then violation_times_speed = [5, 6]. This list records potential violation points where the rotational speed exceeds the limit.
[0061] Step S135: Perform vibration exclusion zone retention analysis on the turbine speed prediction sequence to identify violation periods related to the vibration exclusion zone, and then generate a comprehensive violation report containing all violation information.
[0062] For vibration exclusion zones, the focus is not on whether the instantaneous value exceeds the limit, but on whether the continuous residence time within the exclusion zone is too long. This requires analyzing the trend of the rotational speed sequence.
[0063] Step S1351: Starting from the first speed prediction value of the turbine speed prediction sequence in the current review trajectory, sequentially check whether each speed prediction value is within the vibration speed range defined by the lower limit speed value and the upper limit speed value of the restricted area. When the turbine speed prediction values of multiple control cycles are continuously detected to be within the vibration speed range, mark the corresponding consecutive control cycles as a potential stagnation segment, and record the starting control cycle number and ending control cycle number of the potential stagnation segment.
[0064] When the review module performs vibration exclusion zone analysis on a predicted trajectory, its input is a turbine speed prediction sequence of length N, N_pred_seq=[n_1, n_2, ..., n_N], and the lower limit n_zone_low and upper limit n_zone_high of the vibration exclusion zone read from the safety parameters. The processing is a sequential scanning algorithm aimed at finding consecutive time intervals where all speed values fall within the exclusion zone (i.e., n_zone_low ≤ speed value ≤ n_zone_high).
[0065] Step S1351-1: Obtain the lower limit speed threshold value and upper limit speed threshold value of the vibration speed restriction zone from the parameters of the running safety boundary conditions.
[0066] The review module reads two key values from the variables or data structures storing global safety parameters: the lower limit of the vibration exclusion zone, n_zone_low, and the upper limit of the vibration exclusion zone, n_zone_high. These two values define the range of rotational speeds that require caution.
[0067] Step S1351-2: Locate the turbine speed prediction sequence of the current review trajectory, and obtain all turbine speed prediction values contained in the turbine speed prediction sequence arranged in the order of control cycle.
[0068] The review module accesses the currently reviewed trajectory object, such as Traj_A, and extracts its turbine speed prediction sequence attribute from it. This attribute is an array that stores N prediction values from n_1 to n_N.
[0069] Step S1351-3: Set a loop counter and initialize it to the first speed prediction value of the turbine speed prediction sequence.
[0070] To achieve sequential scanning, the module initializes an index variable i with a value of 1, indicating that the check starts from the first element of the sequence (corresponding to the first prediction period).
[0071] Step S1351-4: Read the estimated rotational speed currently pointed to by the loop counter, and compare its value with the lower limit rotational speed threshold value and the upper limit rotational speed threshold value; determine whether the current estimated rotational speed value simultaneously meets the two conditions of being greater than or equal to the lower limit rotational speed threshold value and less than or equal to the upper limit rotational speed threshold value.
[0072] In each step of the loop, the module retrieves the value n_i of the i-th element in the sequence. Then, it performs a logical check: verifying whether the conditions (n_i ≥ n_zone_low) and (n_i ≤ n_zone_high) are true. This check determines whether the rotational speed n_i is within the vibration exclusion zone.
[0073] Step S1351-5: If the current rotational speed prediction value simultaneously satisfies the conditions of being greater than or equal to the lower rotational speed threshold and less than or equal to the upper rotational speed threshold, mark the current control period where this rotational speed prediction value is located as the internal state of the vibration forbidden zone; if the value of the current rotational speed prediction value is less than the value of the lower rotational speed threshold or greater than the value of the upper rotational speed threshold, mark the current control period where this rotational speed prediction value is located as the external state of the vibration forbidden zone.
[0074] According to the judgment result of step S1351-4, the module assigns a state label to the current period i. If the condition holds, it is marked as "IN_ZONE" (internal state). If the condition does not hold (i.e., n_i < n_zone_low or n_i > n_zone_high), it is marked as "OUT_ZONE" (external state). This state label can be stored in a state label array with the same length as the rotational speed sequence.
[0075] Step S1351-6: After completing the state marking of the current control period, increment the value of the loop counter by one unit so that it points to the next rotational speed prediction value in the turbine rotational speed prediction sequence, and repeat the steps of reading the rotational speed prediction value, comparing it with the upper and lower threshold values, and performing state marking according to the comparison result until the serial number pointed to by the loop counter exceeds the last rotational speed prediction value in the turbine rotational speed prediction sequence, thereby completing the state determination for each control period in the entire turbine rotational speed prediction sequence.
[0076] After completing the marking of period i, the index i is incremented by 1 (i = i + 1) to point to the next period. Then repeat steps S1351-4 and S1351-5: Read n_i, determine whether it is within the forbidden zone, and mark the state. This loop continues until the value of i is greater than N, which means that all N predicted values in the rotational speed sequence have been processed. When the loop ends, the module has generated a complete state label sequence State_seq = [state_1, state_2,..., state_N], where each state_i is either "IN_ZONE" or "OUT_ZONE", accurately describing the position of the rotational speed in each prediction period relative to the vibration forbidden zone.
[0077] Step S1351-7: After traversing the entire turbine rotational speed prediction sequence, obtain a time-series state label sequence composed of internal state labels or external state labels of the vibration forbidden zone corresponding to each control period, and identify continuous retention segments according to the time-series state label sequence to generate a list of potential retention segments.
[0078] After obtaining the state tag sequence State_seq, the next step is to identify consecutive "IN_ZONE" segments from it. This is done by scanning State_seq and recording the boundaries of state changes.
[0079] For example, step S1351-7-1: Starting from the first state mark of the time-series state mark sequence, search for segments in which state marks inside the vibration restricted area appear consecutively.
[0080] The module initializes a scan index j=1 and prepares an empty list zone_segments to store the identified segments. The scanning process involves finding the positions where the state changes from "OUT_ZONE" to "IN_ZONE" and the positions where it changes back from "IN_ZONE" to "OUT_ZONE".
[0081] Step S1351-7-2: When the first vibration exclusion zone internal state marker is detected, record the control cycle number corresponding to the first vibration exclusion zone internal state marker as the starting number of the current potential segment, and continue scanning backward.
[0082] The module sequentially checks each state_j in State_seq. When it encounters a state_j that is "IN_ZONE" and its previous state (state_{j-1}) is "OUT_ZONE" or the start of the sequence (j=1), it means that it is entering a new consecutive restricted zone segment. The module records the starting index start=j.
[0083] Step S1351-7-3: Continue scanning until the first vibration exclusion zone external state marker is encountered, and record the previous control cycle number of the vibration exclusion zone external state marker as the end number of the current potential segment.
[0084] After recording the starting sequence number, the module continues scanning. As long as the subsequent states {j+1}, {j+2}, ... are still "IN_ZONE", it continues to move forward. This continues until a state_k is encountered that is "OUT_ZONE", which means that the continuous forbidden zone segment ends at time k-1. Therefore, the module records the end sequence number end=k-1.
[0085] Step S1351-7-4: Based on the recorded start and end numbers, determine a potential lingering segment consisting of control cycles that are continuously in the state inside the vibration exclusion zone.
[0086] With start and end, a continuous restricted zone segment is defined. The module creates a tuple (start, end) to represent this segment. This segment contains all cycles from the start-th cycle to the end-th cycle (inclusive), and the predicted rotational speeds for these cycles are all within the vibration restricted zone.
[0087] Step S1351-7-5: Repeat the steps of finding the next vibration exclusion zone internal state marker from the time-series state marker sequence and determining the start and end numbers of its continuous segments until the entire time-series state marker sequence has been scanned and all potential lingering segments have been identified.
[0088] After recording a segment, the scan continues from k (i.e., the position of "OUT_ZONE") to find the next state transition from "OUT_ZONE" to "IN_ZONE", and steps S1351-7-2 to S1351-7-4 are repeated to identify the next consecutive restricted zone segment. This process continues until the entire State_seq (j>N) has been scanned. Finally, the zone_segments list will contain all the identified potential lingering segments, such as [(2, 5), (10, 15)].
[0089] Step S1351-7-6: Describe each identified potential stuck segment using its start control cycle number and end control cycle number to generate a list of potential stuck segments.
[0090] The `zone_segments` list itself is a list of potential loitering segments. Each element in the list is a (start, end) pair, clearly indicating which consecutive time segments in the predicted trajectory enter the vibration rotational speed restriction zone. This list is the direct input for subsequent calculations of loitering duration and violation determination.
[0091] Step S1352: Calculate the total number of control cycles contained in each marked potential retention segment, and multiply the total number of control cycles by the time length of a single control cycle to obtain the continuous retention time length value corresponding to the potential retention segment.
[0092] For each segment in `zone_segments`, such as (2, 4), calculate the number of cycles it contains: 4 - 2 + 1 = 3. Assuming the control cycle Δt = 0.1 seconds, the continuous residence time of this segment is T_segment = 3 * 0.1 = 0.3 seconds. Perform this calculation for each segment to obtain the predicted residence time for each segment.
[0093] Step S1353: Compare the continuous stay time length value corresponding to each potential stay segment with the maximum allowed continuous stay time value, record all potential stay segments with continuous stay time length values greater than the maximum allowed continuous stay time value, and group the potential stay segments into a third potential violation period set.
[0094] The T_segment of each segment is compared with the maximum allowed dwell time T_zone_max (e.g., 0.2 seconds). If T_segment > T_zone_max, the segment is considered a violation. The review module creates a list `violation_segments_zone` to which all violating segments (indicated by their start and end numbers) are added. For example, segment (2, 4) has a duration of 0.3 seconds, which is greater than 0.2 seconds, so it is a violation; segment (9, 12) has a duration of 0.4 seconds, which is greater than 0.2 seconds, so it is also a violation. Therefore, `violation_segments_zone = [(2, 4), (9, 12)]`.
[0095] Step S1354: Merge the first set of potential violation times, the second set of potential violation times, and the third set of potential violation periods to obtain comprehensive violation information describing all violations of operational safety boundary conditions in the current review trajectory.
[0096] Now, the review module has three types of violation information for Traj_A: a list of pressure violations (violation_times_pressure), a list of speed violations (violation_times_speed), and a list of restricted zone violation periods (violation_segments_zone). The module integrates this information into a single data structure, such as a violation report object ViolationReport_A. This object contains three fields, storing the three lists respectively.
[0097] Step S1355: Based on the comprehensive violation information, generate a violation report specific to the current review trajectory. The violation report shall include at least a description of the time and location of the violation and an identifier of the type of boundary condition violated.
[0098] ViolationReport_A is a violation report for the current trajectory Traj_A. It can be serialized into a string or JSON format for easy recording and transmission. The core content of the report is to clearly indicate where Traj_A violated which safety rules.
[0099] After reviewing Traj_A, the review module then performs the exact same steps S132 to S1355 on the next trajectory Traj_B in the set, generating ViolationReport_B, and so on, until all M trajectories have been reviewed. Finally, a list of violation reports is obtained, where each report may display "No violation" or detail various violations.
[0100] Step S140: For each predicted operating trajectory identified as containing the violation time segment, based on the specified operating safety boundary conditions it violates, perform a recursive correction process guided by boundary conditions on the guide vane opening prediction sequence corresponding to the violation time segment in the predicted operating trajectory to generate a corrected operating trajectory that satisfies all the operating safety boundary conditions. Then, combine all the corrected operating trajectories with the predicted operating trajectories that initially satisfy all the operating safety boundary conditions to form a candidate safe trajectory set.
[0101] The goal of this step is to "fix" predicted trajectories that pose safety risks. In this embodiment, all violation reports are traversed, and for any report indicating a violation in the trajectory, a correction process is initiated. This process is essentially an iterative optimization process, which fine-tunes the opening value corresponding to the violation period in the trajectory so that the newly predicted state satisfies all safety constraints.
[0102] Step S141: Obtain the set of violation reports associated with all predicted operating trajectories generated after the operation safety boundary condition compliance review process.
[0103] The correction module receives the entire list of violation reports passed from step S130.
[0104] Step S142: From the set of violation reports, filter out violation reports that indicate that their corresponding predicted running trajectory contains a violation time segment, and mark the predicted running trajectory associated with the violation report as a trajectory to be corrected.
[0105] The correction module sequentially checks each report. If the violation information in the report (whether it's a pressure point, speed point, or prohibited segment) is not empty, the original trajectory corresponding to that report is marked as "to be corrected" and added to a pending queue. Trajectories corresponding to reports with empty violation information are considered initially safe and are directly placed into a "safe trajectory pool" awaiting final evaluation.
[0106] Step S143: Select the first trajectory to be corrected from the trajectories to be corrected as the current correction object, and read the violation report corresponding to the current correction object, and extract the specific violation time segment description information and the type of specified operational safety boundary condition violated from it.
[0107] The correction module retrieves the first task from the queue of tasks to be processed, for example, to correct Traj_A. It reads the ViolationReport_A corresponding to Traj_A and parses out all violation details from it: the pressure violation occurred in the period [3, 7, 8]; the speed violation occurred in the period [5, 6]; the restricted area lingering violation occurred in the time period [(2, 4), (9, 12)]. The above information clearly indicates the time and location and reason for the need to "operate".
[0108] Step S144: Based on the description information of the violation time segment, locate and extract the portion of the opening value subsequence corresponding to the violation time segment from the guide vane opening prediction sequence of the current correction object, and define it as the opening subsequence to be adjusted.
[0109] To correct this, the original aperture value corresponding to the violation period needs to be found first. The correction module retrieves the aperture prediction sequence G_pred_seq_A from Traj_A. Then, it merges all the time points / segments involved in the violation. All violation cycles (points 3, 7, 8, 5, 6, and all cycles contained in segments 2-4 and 9-12) are merged into a deduplicated set of cycles, such as {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}. These cycles are arranged sequentially, and consecutive parts are identified, potentially forming several consecutive intervals, such as (2, 8) and (9, 12) (because 2 to 8 are consecutive). These two intervals cover most of the violations. The correction module extracts the opening subsequence Subseq_1=[g_2, g_3, g_4, g_5, g_6, g_7, g_8] for the corresponding interval (2, 8) and the subsequence Subseq_2=[g_9, g_10, g_11, g_12] for the corresponding interval (9, 12) from G_pred_seq_A. The above subsequences are the "target area" to be adjusted later.
[0110] Step S145: Based on the type of specified operational safety boundary condition violated, obtain the corresponding boundary constraint target value from the operational safety boundary condition. The boundary constraint target value includes the maximum allowable pressure value that the volute pressure must not exceed when violating the upper limit boundary of volute pressure, the maximum allowable speed value that the turbine speed must not exceed when violating the upper limit boundary of turbine speed, the lower limit speed value and upper limit speed value of the restricted area that the turbine speed must leave when violating the restricted area speed restriction boundary, and the maximum allowable continuous residence time value that the residence time must not exceed.
[0111] The goal of the correction is to ensure that the corrected trajectory satisfies all boundary conditions. Therefore, the correction module retrieves the constraint values P_max, n_max, n_zone_low, n_zone_high, and T_zone_max from the global parameters again, which constitute the goal that the correction algorithm strives to achieve.
[0112] Step S146: Using the obtained boundary constraint target value as the correction guidance target, set an initial opening adjustment step size parameter and an initial adjustment direction parameter. The adjustment direction parameter is initially set to reduce the opening value to reduce the turbine speed and volute pressure.
[0113] When initiating the correction process for a violation trajectory, the correction module needs to initialize key adjustment parameters, which determine the magnitude and direction of the first tentative adjustment.
[0114] For example, step S146-1: Parse the specific violation type that caused the current trajectory to be corrected to be marked as to be corrected from the violation report. The violation type includes volute pressure exceeding limit violation, turbine speed exceeding limit violation, and vibration restricted area stay exceeding time limit violation.
[0115] The correction module reads the violation report for the current trajectory (e.g., Traj_A). The report clearly indicates the type of violation. The module parses the report and extracts a list of violation types. For example, the report might show that both "volute pressure exceeding limits" and "vibration exclusion zone dwell timeout" violations exist simultaneously.
[0116] Step S146-2: Based on the specific violation type parsed out, retrieve the corresponding boundary constraint target value from the operational safety boundary conditions. The boundary constraint target value includes the maximum allowable pressure value corresponding to the pressure over-limit violation, the maximum allowable speed value corresponding to the speed over-limit violation, the lower limit speed value and the upper limit speed value of the restricted area corresponding to the vibration restricted area stay timeout violation.
[0117] Regardless of the number of violations, the correction module needs to know all relevant boundary values. Therefore, it obtains P_max, n_max, n_zone_low, n_zone_high, and T_zone_max from global safety parameters. These values represent the absolute constraints that the correction algorithm must strive to satisfy.
[0118] Step S146-3: Set a basic adjustment step size parameter for the adjustment operation of the guide vane opening. The basic adjustment step size parameter represents the change in the guide vane opening value during each iteration of adjustment. Its initial value is set according to the minimum resolvable opening of the hydroelectric generator guide vane.
[0119] The adjustment step size cannot be set arbitrarily. This embodiment has a preset base step size Δg_base, the value of which is usually related to the resolution and control accuracy of the guide vane actuator. For example, if the minimum opening change that the guide vane servo system can stably execute is 0.1%, then Δg_base can be set to 0.2% or 0.5% to ensure that the adjustment is effective and not too coarse. This base step size is a reference unit for the adjustment range.
[0120] Step S146-4: Combining the basic adjustment step size parameter and the violation type, generate an initial opening adjustment step size parameter that is related to the severity of the violation. For cases with more severe violations, the initial opening adjustment step size parameter is multiplied by a preset coefficient greater than one based on the basic adjustment step size parameter.
[0121] The initial step size can be fine-tuned based on the severity of the violation. The correction module can assess the severity of the violation. A simple assessment method is to look at the number of time points / segments involved in the violation. For example, if the violation report shows that there are more than 3 different cycles with pressure or speed exceeding limits, or more than 2 restricted areas with lingering segments, the violation can be considered relatively serious. For serious violations, the initial step size can be set larger to speed up convergence. The module calculates the initial opening adjustment step size parameter Δg_step_init = Δg_base * S, where S is the severity coefficient. If the violation is not serious, S = 1; if it is serious, S may be equal to 1.5 or 2. This ensures that the initial adjustment is matched to the size of the problem.
[0122] Step S146-5: Initially determine the adjustment direction parameter as the direction of reducing the guide vane opening; combine the initial opening adjustment step size parameter and the initially determined direction parameter of reducing the guide vane opening to generate a complete instruction set for the first adjustment operation.
[0123] Given that the most common violations are excessive speed or pressure, and that reducing the opening helps to move the speed away from the vibration limit, the initial adjustment direction is uniformly set to "decrease" (i.e., the negative direction). Thus, the correction module has determined the two core parameters for the initial adjustment: amplitude Δg_step_init and direction "decrease". These two parameters constitute the instruction for the initial adjustment.
[0124] Step S146-6: Locate the starting position of the subsequence of the opening to be adjusted on the time axis; according to the direction of reducing the guide vane opening, starting from the first opening value of the subsequence of the opening to be adjusted, subtract the initial opening adjustment step size parameter from each opening value in turn to obtain the opening value after the first adjustment.
[0125] The module obtains the subsequence of opening to be adjusted extracted from step S144, for example, Subseq_1=[g_2, g_3, g_4, g_5, g_6, g_7, g_8]. Then, it performs the operation g_i_adjusted=g_i-Δg_step_init on each element g_i in the subsequence. This subtraction operation iterates through all elements in the subsequence to generate the adjusted value.
[0126] Step S146-7: After completing the first subtraction operation of all opening values in the opening subsequence to be adjusted, a first adjusted opening subsequence with all values reduced is generated. The first adjusted opening subsequence is then spliced with the opening prediction sequence of the opening before and after the opening subsequence to be adjusted, where no violations have occurred, to generate a first corrected complete guide vane opening prediction sequence.
[0127] After performing subtraction on all subsequences to be adjusted, the first adjusted set of subsequences is obtained, such as Subseq_1_adj and Subseq_2_adj. The module replaces these new subsequences back to their original positions in the complete aperture sequence. Specifically, in the complete original aperture sequence G_pred_seq_A, elements at indices 2 to 8 are replaced with Subseq_1_adj, and elements at indices 9 to 12 are replaced with Subseq_2_adj. The rest of the sequence (indices 1, and 13 to N, etc.) remain unchanged. After this concatenation, the first corrected complete aperture prediction sequence G_pred_seq_A_corr1 is obtained.
[0128] Step S146-8: Using the first corrected complete guide vane opening prediction sequence as input, restart the nonlinear dynamic model of the hydropower unit for deduction, recalculate the spiral casing pressure prediction sequence, generate the first deduction verification result, and determine the updated adjustment step size parameter and the updated adjustment direction parameter for the next iteration based on the first deduction verification result.
[0129] After obtaining G_pred_seq_A_corr1, the correction module feeds it into the nonlinear dynamics model of the hydropower unit for simulation, obtaining a new speed sequence N_pred_seq_A_corr1. Simultaneously, based on G_pred_seq_A_corr1, the volute pressure sequence P_pred_seq_A_corr1 is recalculated. Then, the module performs a safety review (i.e., step S1411) on (N_pred_seq_A_corr1, P_pred_seq_A_corr1), obtaining the initial simulation verification result. This result will be used to guide the next iteration, specifically proceeding to step S1412-1, where the step size and direction parameters are updated and adjusted based on this result, and then the iterative cycle continues.
[0130] Step S147: According to the initial adjustment direction parameter and the initial opening adjustment step size parameter, perform the first adjustment operation on each opening value in the opening subsequence to be adjusted to generate the opening subsequence after the first adjustment.
[0131] The correction module performs a "decrease" operation on the opening value in each subsequence to be adjusted. For each g_i in Subseq_1, calculate g_i_new = g_i - Δg_step. Similarly, for each g_j in Subseq_2, calculate g_j_new = g_j - Δg_step. This yields two adjusted subsequences, Subseq_1_adj and Subseq_2_adj. Note that if the calculated result is less than the minimum opening limit (e.g., 0%), it is clamped to the minimum opening.
[0132] Step S148: Replace the first adjusted aperture subsequence with the corresponding position in the guide vane aperture prediction sequence of the current correction object to generate the first corrected complete guide vane aperture prediction sequence.
[0133] The correction module replaces elements 2 through 8 of G_pred_seq_A with Subseq_1_adj and elements 9 through 12 with Subseq_2_adj, thereby generating a new, complete openness prediction sequence G_pred_seq_A_corr1. The rest of the sequence remains unchanged.
[0134] Step S149: Re-input the first corrected complete guide vane opening prediction sequence into the nonlinear dynamic model of the hydropower unit, re-execute the future operating trajectory extrapolation process, and generate the first corrected turbine speed prediction sequence corresponding to the first corrected guide vane opening prediction sequence.
[0135] Whether the correction is effective needs to be verified by re-predicting. The correction module inputs the new opening sequence G_pred_seq_A_corr1 and the initial state (n_t, g_t) into the same dynamic model as in step S124, and re-executes the state deduction for the next N cycles (repeating a process similar to steps S124-S126), resulting in a new rotational speed prediction sequence N_pred_seq_A_corr1. Simultaneously, since the opening has changed, the volute pressure also needs to be re-estimated.
[0136] Step S1410: Combine the current working head value with the first corrected complete guide vane opening prediction sequence to recalculate the first corrected volute pressure prediction sequence.
[0137] The correction module uses the same volute pressure estimation model as in step S132, and recalculates a volute pressure prediction sequence P_pred_seq_A_corr1 with the new opening sequence G_pred_seq_A_corr1 and the head H as input. The calculation process also involves repeatedly calling the functions described in steps S1324 to S1327.
[0138] Step S1411: Compare the first corrected spiral casing pressure prediction sequence with the maximum allowable pressure value of the spiral casing pressure upper limit boundary, compare the first corrected turbine speed prediction sequence with the maximum allowable speed value of the turbine speed upper limit boundary, and check whether the continuous residence time of the first corrected turbine speed prediction sequence in the vibration speed range exceeds the maximum allowable continuous residence time value, and generate the first comparison result.
[0139] Now that the correction module has the corrected state sequence, it needs to check whether these new sequences satisfy the safety constraints. This is equivalent to performing a simplified version of steps S133-S135 on the corrected "virtual trajectory". Specifically: • Compare each value of P_pred_seq_A_corr1 with P_max to see if there are any overpressure points.
[0140] • Compare each value of N_pred_seq_A_corr1 with n_max to see if there are any overspeed points.
[0141] • Analyze steps S1351-S1353 of N_pred_seq_A_corr1 to see if there are any segments that time out and remain in the restricted area.
[0142] The results of these three checks are combined to generate the "Initial Comparison Result". This result will clearly indicate whether any violations still exist after the first adjustment, and the extent of the violations (e.g., the number of overpressure points has been reduced from 3 to 1).
[0143] Step S1412: Based on the initial comparison results, iteratively correct the trajectory to be corrected until all safety boundary conditions are met, and generate the corrected running trajectories of all trajectories to be corrected to form a set of candidate safe trajectories.
[0144] After obtaining the initial adjusted opening sequence and its corresponding security review results (initial comparison results), the correction module determines whether further iteration is needed. This iterative process is a closed-loop search and verification cycle, aiming to gradually approach a correction scheme that satisfies all security constraints while preserving the original policy intent as much as possible.
[0145] Step S1412-1: Based on the initial comparison result, determine the updated values of the opening adjustment step size parameter and the adjustment direction parameter, and generate the updated adjustment step size parameter and the updated adjustment direction parameter.
[0146] The correction module analyzes the initial comparison results. These results contain at least the following information: whether violations still exist, the type of violation (pressure, speed, restricted area), and the severity of the violation (e.g., the number of overpressure points, the number of overspeed points, and the duration of restricted area dwell timeouts). Based on this information, the module uses a simple heuristic to update the adjustment parameters. For example, if the initial comparison results show that violations still exist and their severity has not significantly decreased compared to before (e.g., the number of overpressure points decreased from 3 to 2), it may be considered that the current adjustment step size is too small, requiring an increase in adjustment intensity. In this case, the updated adjustment step size parameter Δg_step_new can be set to the original step size Δg_step multiplied by a coefficient α_up greater than 1, for example, α_up=1.5, i.e., Δg_step_new=1.5*Δg_step. If the initial comparison results show that violations have been significantly reduced but minor violations still exist (e.g., only 1 minor overpressure point remains), it may be necessary to reduce the step size for fine-tuning. In this case, Δg_step_new=Δg_step multiplied by a coefficient α_down less than 1, for example, α_down=0.5. Regarding the adjustment direction, if the initial comparison results show that the rotational speed or pressure is lower than the target, but the restricted area stagnation problem still exists, it may be necessary to consider changing the direction (e.g., slightly increasing the opening during a specific period to allow the rotational speed to pass through the restricted area faster). However, the initial direction of decreasing the opening is usually dominant. In this embodiment, assuming that the violation is reduced but not completely eliminated after the initial adjustment, and there is no need for a reverse adjustment, the adjustment direction is kept as "decreasing", but the step size is increased to Δg_step_new.
[0147] Step S1412-2: Using the updated adjustment step size parameter and the updated adjustment direction parameter, perform the adjustment operation again on the previously adjusted opening subsequence to generate a new round of adjusted opening subsequence.
[0148] At this point, the adjusted openness subsequences from the previous round are Subseq_1_adj and Subseq_2_adj. The correction module uses a new step size Δg_step_new and a "decreasing" direction to perform a subtraction operation on each openness value in these two subsequences again. That is, for each element g_i_adj in Subseq_1_adj, calculate g_i_adj_new = g_i_adj - Δg_step_new. Subseq_2_adj is processed similarly. This yields the adjusted openness subsequences Subseq_1_adj2 and Subseq_2_adj2. Again, it is necessary to ensure that the result is not less than the minimum openness limit.
[0149] Step S1412-3: Replace the newly adjusted aperture subsequence with the corresponding position in the guide vane aperture prediction sequence of the current correction object to generate a new round of corrected complete guide vane aperture prediction sequence.
[0150] The correction module replaces elements 2 through 8 of G_pred_seq_A_corr1 with Subseq_1_adj2 and elements 9 through 12 with Subseq_2_adj2, thus generating a second corrected complete aperture prediction sequence G_pred_seq_A_corr2. The rest of the sequence is the same as G_pred_seq_A_corr1.
[0151] Step S1412-4: Re-input the new round of corrected complete guide vane opening prediction sequence into the nonlinear dynamic model of the hydropower unit, re-execute the future operating trajectory extrapolation process, generate a new round of corrected turbine speed prediction sequence, and recalculate the new round of corrected spiral casing pressure prediction sequence based on the new round of corrected complete guide vane opening prediction sequence.
[0152] Similar to steps S149 and S1410, the correction module, using G_pred_seq_A_corr2 as input, re-invokes the nonlinear dynamics model of the hydroelectric generator unit to derive a new turbine speed prediction sequence N_pred_seq_A_corr2. Simultaneously, it re-invokes the volute pressure estimation model to calculate a new volute pressure prediction sequence P_pred_seq_A_corr2.
[0153] Step S1412-5: Compare the newly revised spiral casing pressure prediction sequence with the maximum allowable pressure value of the spiral casing pressure upper limit boundary, compare the newly revised turbine speed prediction sequence with the maximum allowable speed value of the turbine speed upper limit boundary, and check whether the continuous residence time of the newly revised turbine speed prediction sequence in the vibration speed range exceeds the maximum allowable continuous residence time value, and generate a new round of comparison results.
[0154] Perform the same security check as step S1411 on the new state sequence (N_pred_seq_A_corr2, P_pred_seq_A_corr2). That is: Iterate through P_pred_seq_A_corr2, check if each value is greater than P_max, and record the violation point.
[0155] Iterate through N_pred_seq_A_corr2, check if each value is greater than n_max, and record the violation point.
[0156] Analyze N_pred_seq_A_corr2 to identify all segments that are consecutively in the interval [n_zone_low, n_zone_high], calculate the duration of each segment, check if it exceeds T_zone_max, and record the violation segment.
[0157] These three results are combined to form a "new round of comparison results".
[0158] Step S1412-6: Repeat the steps of determining the updated adjustment step size parameter and the updated adjustment direction parameter based on the previous round of comparison results, and generating another round of adjusted opening subsequence, another round of corrected complete guide vane opening prediction sequence, another round of corrected turbine speed prediction sequence, another round of corrected spiral casing pressure prediction sequence, and another round of comparison results based on the updated parameters, until the latest round of comparison results indicates that all operating safety boundary conditions are met. The opening subsequence after the latest round of adjustment that satisfies all operating safety boundary conditions is determined as the final corrected opening subsequence.
[0159] Steps S1412-1 to S1412-5 constitute an iterative loop. The correction module continuously repeats this loop. In each round (round r), the input is the alignment result of the previous round (round r-1) and the adjusted aperture subsequence. The module updates the adjustment parameters (step size and direction) based on the alignment result of round (r-1), then performs new adjustments on the adjusted subsequence of round (r-1), generating the adjusted subsequence of round r. This is followed by replacement, re-prediction, and re-review to obtain the alignment result of round r. The loop terminates when the alignment result of round r clearly shows that no point in the pressure sequence exceeds P_max, no point in the rotational speed sequence exceeds n_max, and the rotational speed sequence's continuous dwell time within the vibration exclusion zone does not exceed T_zone_max. When this condition is met, the loop stops. At this point, the aperture subsequences used in round r to generate the final safety sequence (i.e., Subseq_1_adjr and Subseq_2_adjr) are determined as the "final corrected aperture subsequences".
[0160] Step S1412-7: Concatenate the final corrected aperture subsequence with the aperture prediction sequence of the non-violation part in the current correction object to generate the final corrected complete guide vane aperture prediction sequence of the trajectory to be corrected.
[0161] After obtaining the final corrected aperture subsequence, the correction module concatenates it with the aperture values corresponding to the periods in the original aperture prediction sequence G_pred_seq_A that were never marked as violations. Specifically, the aperture values at all positions in the original sequence except for intervals (2, 8) and (9, 12) remain unchanged. The final corrected subsequences Subseq_1_adj_final and Subseq_2_adj_final are precisely placed at the positions of intervals (2, 8) and (9, 12), and sequentially connected with the other unchanged parts to form a complete, corrected guide vane aperture prediction sequence G_pred_seq_A_final. This sequence has been modified during the violation periods, while maintaining the original strategy settings during the non-violation periods.
[0162] Step S1412-8: Based on the corrected complete guide vane opening prediction sequence, the nonlinear dynamic model of the hydropower unit is called again to perform the final state deduction, and the corrected complete turbine speed prediction sequence corresponding to the corrected complete guide vane opening prediction sequence is obtained. The corrected complete guide vane opening prediction sequence and the corrected complete turbine speed prediction sequence are combined to generate the corrected running trajectory of the current correction object.
[0163] To obtain a state trajectory that perfectly matches the corrected turbine opening sequence, a final complete model simulation is required. The correction module inputs G_pred_seq_A_final and the initial state (n_t, g_t) into the dynamic model and runs a complete simulation from period 1 to N, obtaining the final turbine speed prediction sequence N_pred_seq_A_final. Then, a new trajectory object Traj_A_corrected is created, with its opening sequence attribute set to G_pred_seq_A_final and its speed sequence attribute set to N_pred_seq_A_final. If needed, the corresponding spiral casing pressure sequence can also be calculated and stored. At this point, the correction work for the current correction object (Traj_A) is complete, generating its corrected safe trajectory Traj_A_corrected.
[0164] Step S1412-9: Determine if there are any unprocessed tracks to be corrected. If so, select the next track to be corrected as the new current correction target and repeat all steps from reading the violation report to generating the corrected running track.
[0165] The correction module checks the queue of tracks to be processed. If the queue is not empty, it means there are other violation tracks that need to be corrected. The module retrieves the next track (e.g., Traj_B) from the queue as the new current correction target. Then, for Traj_B, the entire process from step S143 (reading the violation report of Traj_B) to steps S1412-8 (generating Traj_B_corrected) is completely repeated. This process is independent, performing personalized iterative corrections based on the violation characteristics of each track.
[0166] Step S1412-10: Collect all the generated corrected running trajectories, together with the initial violation report indicating that the predicted running trajectory does not contain any violation time segment, to form the candidate safe trajectory set.
[0167] When the queue to be processed is empty, all trajectories to be corrected have been processed. At this point, the correction module has two types of trajectories: one is the corrected trajectories it generates itself (such as Traj_A_corrected, Traj_B_corrected, ...), and the other is those trajectories that were initially without violations and were directly put into the "safe trajectory pool" in step S142. The correction module adds both types of trajectories to a general list or set. This set, which includes the original safe trajectories and the manually corrected safe trajectories, is the final "candidate safe trajectory set". Each trajectory in this set has been verified to ensure that it meets all safety constraints under the prediction model, thus qualifying it as a suitable candidate for subsequent performance evaluation.
[0168] Step S150: Select the operating trajectory with the lowest comprehensive control performance cost from the candidate safety trajectory set as the optimal control trajectory. Extract the guide vane opening command value corresponding to the next control cycle from the guide vane opening prediction sequence of the optimal control trajectory. Based on the deviation between the instantaneous value of the turbine speed and the predicted value of the turbine speed in the same control cycle of the optimal control trajectory, perform closed-loop feedback correction processing on the guide vane opening command value to generate the final guide vane opening control command. Send the final guide vane opening control command to the guide vane hydraulic actuator of the hydropower unit to complete the control operation of the current control cycle.
[0169] After obtaining a series of safe trajectories, the "best" one needs to be selected for execution. The criterion for "best" is a balance between rapid adjustment and smooth operation. This step first calculates a comprehensive cost for each safe trajectory; the lower the cost, the better the performance. Then, the trajectory with the lowest cost is selected as the optimal control trajectory, and the final execution instructions are generated based on it.
[0170] Step S151: Receive the set of candidate safe trajectories, which consists of the corrected running trajectory and the predicted running trajectory that initially satisfies the boundary conditions.
[0171] The selection module receives the set of candidate safe trajectories passed from step S140, assuming that it contains L trajectories.
[0172] Step S152: Construct a comprehensive cost evaluation function for each safe operating trajectory in the candidate safe trajectory set. The comprehensive cost evaluation function includes at least a sub-item for calculating the cost of adjusting speed and a sub-item for calculating the cost of operating stability.
[0173] After obtaining the set of candidate safe trajectories, the optimization module needs to calculate a quantified performance evaluation value for each trajectory. This evaluation value is implemented through a comprehensive cost evaluation function J. This comprehensive cost evaluation function is designed as a weighted sum of two sub-costs, which respectively measure the speed and stability of the trajectory.
[0174] For example, step S152-1: Select the first safe operating trajectory from the candidate safe trajectory set as the current trajectory to be evaluated.
[0175] The optimization module traverses the candidate safe trajectory set. It first selects the first trajectory in the candidate safe trajectory set, such as Cand_1, as the current object to be evaluated.
[0176] Step S152-2: Obtain the turbine speed prediction sequence of the current trajectory to be evaluated. This turbine speed prediction sequence contains all speed prediction values from the start of the next control cycle to the end of the prediction time domain.
[0177] Extract the turbine speed prediction sequence attribute from the trajectory object Cand_1, denoted as N_seq_1=[n_1, n_2, ..., n_N].
[0178] Step S152-3: Read the target speed setpoint required under the current load conditions and the allowable speed deviation band width around the target speed setpoint from the main controller of the hydropower unit control system.
[0179] The control system sets a target speed n_target based on the operating conditions. Simultaneously, it defines an acceptable stability range, typically represented by the deviation band width Δn_tol. This means that the speed is considered stable within the interval [n_target - Δn_tol, n_target + Δn_tol]. The optimization module reads n_target and Δn_tol from the setpoint storage unit.
[0180] Step S152-4: In the turbine speed prediction sequence of the current trajectory to be evaluated, starting from the first speed prediction value of the turbine speed prediction sequence, check one by one whether each speed prediction value falls within the target speed range formed by the target speed setpoint minus the speed tolerance band width value and the target speed setpoint plus the speed tolerance band width value.
[0181] To assess the speed of adjustment, it is necessary to determine the time required for the trajectory to enter and remain within the stable band from the initial state. The module calculates the lower bound L = n_target - Δn_tol and the upper bound U = n_target + Δn_tol for the target interval. Then, starting from i=1, it checks whether each n_i in N_seq_1 satisfies L ≤ n_i ≤ U.
[0182] Step S152-5: When the first consecutive occurrence of the starting cycle is detected and all subsequent speed estimates remain within the target speed range, the time corresponding to the starting cycle is determined as the end time of the adjustment process of the current trajectory to be evaluated.
[0183] The module needs to find an index k such that from the k-th cycle to the N-th cycle at the end of the sequence, all rotational speed values n_k, n_{k+1}, ..., n_N fall within the interval [L, U]. Furthermore, k is the smallest index that satisfies this condition. In other words, before the k-th cycle, the rotational speed may still be fluctuating outside the stable band, but it stabilizes from k onwards. This k is the cycle number at which the adjustment process ends.
[0184] Step S152-6: Calculate the time elapsed from the end of the current control cycle to the end of the adjustment process, and define this time elapsed as the total time consumed by the adjustment process of the current trajectory to be evaluated.
[0185] Assuming the control period is Δt and the current period is 0, then the time elapsed from the end of period 0 to the start of period k is k*Δt. This time, T_settle = k*Δt, is the prediction settling time for the trajectory. If the aforementioned k cannot be found (i.e., the sequence never fully stabilizes within the band), T_settle can be set to a large number (such as N*Δt), or a very high cost can be assigned.
[0186] Step S152-7: Read a preset adjustment time reference value and a preset speed fluctuation reference value from the parameter configuration area of the control system, and use the ratio of the total adjustment time to the adjustment time reference value as the output value of the adjustment speed cost calculation sub-item.
[0187] To ensure a fair comparison of settling times for different trajectories, normalization is necessary. This embodiment predefines a reasonable settling time reference value T_ref (e.g., set based on experience with similar units). The speed-of-motion cost sub-item C_fast is calculated as: C_fast = T_settle / T_ref. This is a dimensionless number. If the settling time of a trajectory equals the reference value, the cost is 1; if it is faster than the reference value, the cost is less than 1; if it is slower than the reference value, the cost is greater than 1.
[0188] Step S152-8: Process the turbine speed prediction sequence of the current trajectory to be evaluated, calculate the difference between the speed prediction values of two adjacent control cycles in the sequence, and take the absolute value of the difference to obtain multiple absolute values of speed difference.
[0189] Stability is measured by the drasticness of changes in rotational speed. The module calculates the absolute value of the first-order difference of the rotational speed sequence. For i from 1 to N-1, the fluctuation amount d_i = |n{i+1} - n_i| is calculated. This yields a fluctuation amplitude sequence D_seq = [d_1, d_2, ..., d{N-1}] containing N-1 values.
[0190] Step S152-9: Sum all the values of the absolute values of the multiple speed difference values to obtain the cumulative sum of the speed fluctuation amplitude in the entire prediction time domain; use the ratio of the cumulative sum of the speed fluctuation amplitude to the speed fluctuation reference value as the output value of the operation stability cost calculation sub-item.
[0191] Adding all the fluctuation amplitudes together, we get the total fluctuation amount V_total = d_1 + d_2 + ... + d_{N-1}. The larger V_total is, the less smooth the predicted speed curve is. Similarly, for normalization, a preset speed fluctuation baseline value V_ref can be used, representing an acceptable level of total fluctuation. The stationarity cost sub-item C_smooth is calculated as: C_smooth = V_total / V_ref. This is also a dimensionless number; the smaller the value, the better the stationarity.
[0192] Step S152-10: Read the speed weighting factor and stability weighting factor from the parameter storage area of the control system; multiply the output value of the speed cost calculation sub-item by the speed weighting factor to obtain the weighted speed cost component; multiply the output value of the stability cost calculation sub-item by the stability weighting factor to obtain the weighted stability cost component; perform an algebraic summation operation on the weighted speed cost component and the weighted stability cost component to obtain the comprehensive control performance cost value of the current trajectory to be evaluated.
[0193] The final comprehensive cost is a weighted sum of speed and smoothness. This embodiment predetermines two weighting coefficients, w_fast and w_smooth, which typically satisfy w_fast + w_smooth = 1. These coefficients reflect the operator's preference for speed and smoothness. For example, during startup and grid connection, speed may be prioritized (larger w_fast); during load fine-tuning, smoothness may be prioritized (larger w_smooth). For the current trajectory Cand_1, its comprehensive cost J_1 = w_fast * C_fast + w_smooth * C_smooth. After calculating J_1, the optimization module continues to perform the exact same steps S152-1 to S152-10 on the next trajectory Cand_2 in the candidate set to calculate J_2, and so on, until the comprehensive cost J_1, J_2, ..., J_L for all L trajectories in the set are calculated. Finally, by comparing these costs, the trajectory with the smallest value is selected as the optimal control trajectory.
[0194] Step S153: For the specified safe operating trajectory currently being evaluated, extract the speed prediction values for all control cycles from its turbine speed prediction sequence.
[0195] Taking the evaluation of the first candidate trajectory Cand_1 as an example, the optimization module extracts the turbine speed prediction sequence N_pred_seq_1=[n_1, n_2, ..., n_N] from its trajectory object.
[0196] Step S154: Read the target stable speed value expected to be achieved under the current operating conditions from the main control unit of the hydropower unit control system.
[0197] The control system sets a target speed n_target based on grid dispatch instructions or the plant's economic operation program. For example, during grid-connected operation, the target speed is the synchronous speed (e.g., 50Hz corresponds to 3000rpm for a two-pole motor). During startup, the target speed may also be the synchronous speed. The optimization module reads this n_target.
[0198] Step S155: In the turbine speed prediction sequence of the specified safe operating trajectory, search point by point from the start time to locate the control cycle in which the predicted speed value first enters and remains near the target stable speed value in all subsequent cycles. The time length from the start time to the control cycle is determined as the adjustment process time length of the specified safe operating trajectory.
[0199] Speed is measured by settling time. The module defines a tolerance band around the target rotational speed, for example, [n_target - Δn, n_target + Δn], where Δn is a small value. Then, starting from the first value n_1 of N_pred_seq_1, it checks backwards, searching for the first index k such that from the k-th cycle to the N-th cycle at the end of the sequence, all predicted rotational speed values n_k, n_{k+1}, ..., n_N fall within the aforementioned tolerance band. This means the predicted trajectory has reached a steady state at time k. Therefore, the time from the current time (cycle 0) to the start of the k-th cycle is the predicted settling time T_settle = kΔt. If this condition cannot be met until the end of the sequence, NΔt may be used as the settling time, or the trajectory's settling performance may be considered poor. The smaller T_settle is, the faster the trajectory approaches the target, and the better the speed.
[0200] Step S156: Read a preset adjustment time reference value and a preset speed fluctuation reference value from the parameter configuration area of the control system, and use the ratio of the adjustment process time length value to the adjustment time reference value as the output value of the adjustment speed cost calculation sub-item.
[0201] For normalization, the module reads a reference regulation time T_ref (e.g., an empirically better regulation time) and a reference rotational speed fluctuation amount V_ref from the parameter library. Then it calculates the rapidity cost sub-term: C_fast = T_settle / T_ref. This is a dimensionless value. If T_settle equals T_ref, then C_fast = 1; if it is faster (T_settle < T_ref), then C_fast < 1 and the cost is smaller; if it is slower, then C_fast > 1 and the cost is larger.
[0202] Step S157: Calculate the absolute value of the difference between the rotational speed prediction values in two adjacent control cycles in the turbine rotational speed prediction sequence of the specified safe operating trajectory, to obtain the rotational speed fluctuation amplitude values between multiple cycles.
[0203] The smoothness is measured by the severity of the rotational speed fluctuation. The module calculates the absolute value of the difference of the rotational speed sequence. That is, for i from 1 to N - 1, calculate Δn_i = n_{i + 1}-n_i . In this way, a fluctuation amplitude sequence with a length of N - 1 is obtained.
[0204] Step S158: Perform an accumulative summation operation on the rotational speed fluctuation amplitude values of all future control cycles covered by the turbine rotational speed prediction sequence, to obtain the total cumulative rotational speed fluctuation of the specified safe operating trajectory within the entire prediction time domain.
[0205] Add all elements of the above fluctuation amplitude sequence to get the total fluctuation amount V_total = Σ(Δn_i) (i from 1 to N - 1). The larger V_total is, the more剧烈 the predicted rotational speed change is and the worse the smoothness is.
[0206] Step S159: Take the ratio of the total cumulative rotational speed fluctuation value to the rotational speed fluctuation reference value as the output value of the operating smoothness cost calculation sub-term.
[0207] Similarly for normalization, calculate the smoothness cost sub-term: C_smooth = V_total / V_ref. V_ref is a reference total fluctuation amount. C_smooth is also a dimensionless value, and the smaller it is, the better the smoothness.
[0208] Step S1510: Read the pre-tuned adjustment speed weight coefficient and operation stability weight coefficient from the parameter configuration area of the control system; multiply the output value of the adjustment speed cost calculation sub-item by the adjustment speed weight coefficient to obtain the weighted speed cost of the specified safe operation trajectory; multiply the output value of the operation stability cost calculation sub-item by the operation stability weight coefficient to obtain the weighted stability cost of the specified safe operation trajectory; perform algebraic summation of the weighted speed cost and the weighted stability cost to obtain the comprehensive control performance cost of the specified safe operation trajectory.
[0209] Now, given C_fast and C_smooth, and weights w_fast and w_smooth (satisfying w_fast + w_smooth = 1), the overall cost of trajectory Cand_1 is J_1 = w_fastC_fast + w_smoothC_smooth. J_1 is a scalar that comprehensively reflects the trade-off between speed and stability of the trajectory; a smaller value is better.
[0210] Step S1511: Iterate through and compare the comprehensive control performance value of all safe operating trajectories in the candidate safe trajectory set, identify and mark the safe operating trajectory with the smallest value, and determine it as the optimal control trajectory.
[0211] For each of the L candidate trajectories, steps S153 to S1510 are executed to calculate their respective comprehensive cost values J_1, J_2, ..., J_L. Then, the minimum value among these values is found, assuming J_2 is the minimum. The corresponding trajectory Cand_2 is then determined as the "optimal control trajectory" Traj_optimal for the current control cycle. This trajectory is evaluated as having the best overall performance while ensuring safety.
[0212] Step S1512: Generate the final guide vane opening control command after feedback correction based on the optimal control trajectory and issue it for execution.
[0213] After selecting the optimal trajectory, it needs to be translated into actual control actions. Due to errors between the model and reality, feedback correction is required.
[0214] Step S1512-1: Extract the guide vane opening prediction value corresponding to the next control cycle immediately following the current control cycle from the guide vane opening prediction sequence of the optimal control trajectory, and use the guide vane opening prediction value as the initial guide vane opening command value.
[0215] The characteristic of model predictive control is that it only executes the first step of the prediction sequence. From the opening sequence of Traj_optimal, the first value is taken, which is the predicted opening g_opt_1 for the next control cycle (cycle 1). This value serves as the initial instruction g_cmd_raw.
[0216] Step S1512-2: Extract the turbine speed prediction value corresponding to the next control cycle from the turbine speed prediction sequence of the optimal control trajectory, and use it as the reference speed prediction value.
[0217] Simultaneously, the first predicted rotational speed value n_opt_1 is extracted from the rotational speed sequence of Traj_optimal. This is the rotational speed expected to be reached in the next cycle after executing g_cmd_raw under the ideal model.
[0218] Step S1512-3: Obtain the instantaneous value of the turbine speed measured by the speed sensor at the end of the current control cycle, and calculate the speed deviation value between the instantaneous value of the turbine speed and the predicted value of the reference speed.
[0219] At the end of the current control cycle, the latest measured rotational speed n_t_actual can be obtained (this may be slightly different from n_t in step S110, as it is a value at the end of a cycle). The deviation e = n_opt_1 - n_t_actual is calculated. This deviation reflects the error between the model prediction and the actual dynamics.
[0220] Step S1512-4: Input the speed deviation value into a proportional-integral controller with pre-configured proportional and integral coefficients. Through the calculation of the proportional-integral controller, output a correction value for correcting the guide vane opening.
[0221] To overcome model mismatch and disturbances, the deviation *e* is fed into a PI (proportional-integral) controller. The output of the PI controller is Δg_fb = Kpe + KiΣ(e*Δt), where Kp is the proportional coefficient, Ki is the integral coefficient, and Σ represents the integral (discrete summation) over the historical deviation. Δg_fb is the feedback-based correction.
[0222] Step S1512-5: Add the initial guide vane opening command value and the correction value algebraically to obtain the final guide vane opening control command value after feedback correction processing; encapsulate the final guide vane opening control command value according to the electrical signal format required by the hydro-generator guide vane hydraulic actuator.
[0223] The initial feedforward command is combined with the feedback correction: g_cmd_final = g_cmd_raw + Δg_fb. g_cmd_final is the final opening command value to be sent to the actuator. Then, the controller converts this percentage opening value into a corresponding analog voltage signal (e.g., 4-20mA) or digital pulse signal, according to the actuator's (usually an electro-hydraulic converter or servo motor) interface requirements.
[0224] Step S1512-6: The packaged final guide vane opening control command value is sent to the guide vane hydraulic actuator in real time through the input / output channel of the hydro-generator control system.
[0225] The control program sends out the encapsulated command signal through a digital output module or an analog output module. The guide vane hydraulic actuator receives this signal and drives the guide vane relay to move, causing the actual opening of the guide vane to tend towards g_cmd_final. At this point, the entire decision-making and execution process for the current control cycle is complete. In the next control cycle, it can restart from step S110, obtain the latest state, and perform a new round of prediction, evaluation, optimization, and correction to achieve rolling optimization control.
[0226] In one exemplary embodiment, a model-predictive multi-constraint fast and stable control system for hydropower units is provided. This model-predictive multi-constraint fast and stable control system can be a terminal, server, etc., and its internal structure diagram can be as follows: Figure 2As shown, the model-predictive multi-constraint fast and stable control system for hydropower units includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computational and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides the environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, near-field communication, or other technologies. When the computer program is executed by the processor, it implements a model-predictive multi-constraint fast and stable control method for hydropower units. The display unit is used to generate a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device can be a touch layer covering the display screen, or a button, trackball, or touchpad set on the housing of the multi-constraint fast and stable control system for hydropower units based on model prediction, or an external keyboard, touchpad, or mouse, etc.
[0227] It should be noted that, in order to simplify the description of the present invention and thus help to understand one or more embodiments of the invention, multiple features may sometimes be grouped into one embodiment, drawing or description thereof in the foregoing description of the embodiments of the present invention.
Claims
1. A fast and stable multi-constraint control method for hydropower units based on model prediction, characterized in that, The method includes: The real-time status information of the hydropower unit in the current control cycle is obtained, and the real-time status information of the unit includes the instantaneous value of the turbine speed and the instantaneous value of the guide vane opening. Using the instantaneous value of the turbine speed as the initial state value and the instantaneous value of the guide vane opening as the initial control value, and combining multiple preset sets of differentiated guide vane adjustment strategies, a pre-constructed nonlinear dynamic model of the hydropower unit is called to perform parallel future operation trajectory extrapolation processing, generating multiple predicted operation trajectories corresponding to the multiple differentiated guide vane adjustment strategies. Each predicted operation trajectory includes a guide vane opening prediction sequence arranged according to the control cycle time sequence and a turbine speed prediction sequence that corresponds one-to-one with each opening value in the guide vane opening prediction sequence. Identify each time segment in the predicted operating trajectory that violates the operating safety boundary conditions, which include the upper limit boundary of the spiral casing pressure, the upper limit boundary of the turbine speed, and the vibration speed restriction zone boundary. For each predicted operating trajectory identified as containing the violation time segment, based on the specified operating safety boundary conditions it violates, a recursive correction process guided by boundary conditions is performed on the guide vane opening prediction sequence corresponding to the violation time segment in the predicted operating trajectory to generate a corrected operating trajectory that satisfies all the operating safety boundary conditions. All the corrected operating trajectories are then combined with the predicted operating trajectories that initially satisfy all the operating safety boundary conditions to form a candidate safe trajectory set. The optimal control trajectory is selected from the candidate safe trajectory set, which has the lowest overall control performance cost. The guide vane opening command value corresponding to the next control cycle is extracted from the guide vane opening prediction sequence of the optimal control trajectory. Based on the deviation between the instantaneous value of the turbine speed and the predicted value of the turbine speed in the same control cycle of the optimal control trajectory, the guide vane opening command value is subjected to closed-loop feedback correction processing to generate the final guide vane opening control command. The final guide vane opening control command is sent to the guide vane hydraulic actuator of the hydroelectric unit to complete the control operation of the current control cycle.
2. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 1, characterized in that, The process involves using the instantaneous value of the turbine speed as the initial state value and the instantaneous value of the guide vane opening as the initial control value. Combined with a pre-set set of multiple differentiated guide vane adjustment strategies, a pre-constructed nonlinear dynamics model of the hydroelectric unit is invoked to perform parallel future trajectory extrapolation, generating multiple predicted operating trajectories corresponding to the multiple differentiated guide vane adjustment strategies, including: The preset set of multiple differentiated guide vane adjustment strategies is read from the strategy storage unit connected to the hydropower unit control system. The set of multiple differentiated guide vane adjustment strategies contains multiple guide vane opening change mode description files that are different from each other in terms of adjustment rate and adjustment curve. The set of multiple differentiated guide vane adjustment strategies is sequentially traversed, and the first differentiated guide vane adjustment strategy to be processed is selected as the current inference strategy. The rate of change sequence and direction of change sequence of the guide vane opening should be followed in multiple consecutive control cycles in the future as defined by the current inference strategy are obtained. Using the instantaneous value of the guide vane opening obtained from the actual measurement in the current control cycle as the baseline, the estimated value of the guide vane opening for each future control cycle is calculated step by step according to the change rate sequence and change direction sequence. All the estimated values of the guide vane opening are arranged in chronological order to generate a guide vane opening prediction sequence corresponding to the current deduction strategy. The instantaneous value of the turbine speed obtained by actual measurement in the current control cycle is used as the initial value of the state, and the guide vane opening prediction sequence corresponding to the current deduction strategy is input into the pre-constructed nonlinear dynamic model of the hydropower unit. Based on the instantaneous value of the turbine speed in the current control cycle and the guide vane opening prediction value in the first future control cycle, combined with the flow rate, speed and torque characteristic surface of the turbine, the turbine speed prediction value in the first future control cycle is calculated. The calculated turbine speed estimate for the first future control cycle is used as the new state input, and combined with the guide vane opening estimate for the second future control cycle, the recursive calculation is performed again to obtain the turbine speed estimate for the second future control cycle. Repeat the recursive calculation based on the previous cycle speed estimate and the current cycle guide vane opening estimate until the turbine speed estimate for all future control cycles corresponding to each opening value in the guide vane opening prediction sequence is calculated. All the turbine speed predictions obtained by recursion are arranged in the order of the control cycle to generate a turbine speed prediction sequence corresponding to the current simulation strategy. The guide vane opening prediction sequence and the turbine speed prediction sequence are aligned and combined on the time axis to generate a complete predicted operating trajectory corresponding to the current simulation strategy. All complete predicted operating trajectories generated during the traversal process that correspond one-to-one with each differentiated guide vane adjustment strategy are summarized to generate the multiple predicted operating trajectories.
3. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 1, characterized in that, The identification of violation time segments in each of the predicted operating trajectories that violate the operational safety boundary conditions includes: Read the pre-set and persistently stored operation safety boundary condition parameters from the hydropower unit's safety operation parameter database. The operation safety boundary condition parameters include the maximum allowable pressure value corresponding to the upper limit boundary of the spiral casing pressure, the maximum allowable speed value corresponding to the upper limit boundary of the turbine speed, the lower limit speed value and the upper limit speed value corresponding to the vibration speed restriction zone boundary, and the longest allowable continuous residence time value within the interval formed by the lower limit speed value and the upper limit speed value of the restriction zone. The first predicted operating trajectory to be reviewed is selected from the multiple predicted operating trajectories as the current review trajectory. The guide vane opening prediction sequence is extracted from the current review trajectory. Based on the guide vane opening prediction value of each control cycle in the guide vane opening prediction sequence, combined with the actual working head value of the hydropower unit in the current control cycle, the spiral casing pressure prediction value for each future control cycle corresponding to each opening prediction value in the guide vane opening prediction sequence is calculated through a pre-established functional relationship model between spiral casing pressure, head, and opening. This generates a spiral casing pressure prediction sequence. Each volute pressure prediction value in the volute pressure prediction sequence is compared with the maximum allowable pressure value corresponding to the upper limit boundary of the volute pressure. The control cycle number of all volute pressure prediction values that are greater than the maximum allowable pressure value is recorded and collected into the first potential violation time set. Each predicted turbine speed in the turbine speed prediction sequence in the current review trajectory is compared with the maximum allowable speed value corresponding to the upper limit boundary of the turbine speed. The control cycle number of all predicted turbine speed values that are greater than the maximum allowable speed value is recorded and collected into the second potential violation time set. Vibration exclusion zone retention analysis is performed on the turbine speed prediction sequence to identify violation periods related to vibration exclusion zones, and then a comprehensive violation report containing all violation information is generated.
4. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 3, characterized in that, The vibration exclusion zone dwell analysis is performed on the turbine speed prediction sequence to identify violation periods related to the vibration exclusion zone, thereby generating a comprehensive violation report containing all violation information, including: Starting from the first speed prediction value of the turbine speed prediction sequence in the current review trajectory, each speed prediction value is sequentially checked to see if it is within the vibration speed range defined by the lower limit speed value and the upper limit speed value of the restricted area. When the turbine speed prediction values of multiple control cycles are detected to be within the vibration speed range, the corresponding consecutive control cycles are marked as a potential stagnation segment, and the start control cycle number and end control cycle number of the potential stagnation segment are recorded. Calculate the total number of control cycles contained in each marked potential retention segment, and multiply the total number of control cycles by the time length of a single control cycle to obtain the value of the continuous retention time length corresponding to the potential retention segment; The continuous stay time length value corresponding to each potential stay segment is compared with the maximum allowed continuous stay time value. All potential stay segments with continuous stay time length values greater than the maximum allowed continuous stay time value are recorded, and the potential stay segments are grouped into a third potential violation period set. The first set of potential violation times, the second set of potential violation times, and the third set of potential violation periods are merged to obtain comprehensive violation information describing all violations of operational safety boundary conditions in the current review trajectory; Based on the comprehensive violation information, a violation report specific to the current review trajectory is generated. The violation report includes at least a description of the time and location of the violation and an identifier of the type of boundary condition violated.
5. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 3, characterized in that, For each predicted operating trajectory identified as containing the violation time segment, based on the specified operational safety boundary conditions violated, a recursive correction process guided by boundary conditions is performed on the guide vane opening prediction sequence corresponding to the violation time segment in the predicted operating trajectory to generate a corrected operating trajectory that satisfies all the operational safety boundary conditions, including: Obtain a set of violation reports associated with all predicted operational trajectories, generated after the operational safety boundary condition compliance review process. From the set of violation reports, filter out violation reports that indicate that their corresponding predicted running trajectory contains a violation time segment, and mark the predicted running trajectory associated with the violation report as a trajectory to be corrected; Select the first trajectory to be corrected from the trajectories to be corrected as the current correction object, and read the violation report corresponding to the current correction object, extract the specific violation time segment description information and the type of specified operational safety boundary condition violated from it; Based on the description information of the violation time segment, locate and extract the portion of the opening value subsequence corresponding to the violation time segment from the guide vane opening prediction sequence of the current correction object, and define it as the opening subsequence to be adjusted; Based on the type of specified operational safety boundary condition violated, the corresponding boundary constraint target values are obtained from the operational safety boundary conditions. The boundary constraint target values include the maximum allowable pressure value that the spiral casing pressure must not exceed when violating the upper limit boundary of spiral casing pressure, the maximum allowable speed value that the turbine speed must not exceed when violating the upper limit boundary of turbine speed, the lower limit speed value and the upper limit speed value of the restricted area that the turbine speed must leave when violating the restricted area speed restriction boundary, and the maximum allowable continuous retention time value that the retention time must not exceed. The obtained boundary constraint target value is used as the correction guidance target. An initial opening adjustment step size parameter and an initial adjustment direction parameter are set. The adjustment direction parameter is initially set to reduce the opening value to reduce the turbine speed and volute pressure. According to the initial adjustment direction parameters and the initial opening adjustment step size parameters, perform the first adjustment operation on each opening value in the opening subsequence to be adjusted to generate the opening subsequence after the first adjustment; Replace the first adjusted aperture subsequence with the corresponding position in the guide vane aperture prediction sequence of the current correction object to generate the first corrected complete guide vane aperture prediction sequence; The first corrected complete guide vane opening prediction sequence is re-input into the hydropower unit nonlinear dynamics model, and the future operating trajectory extrapolation process is re-executed to generate the first corrected turbine speed prediction sequence corresponding to the first corrected guide vane opening prediction sequence. Based on the current operating head value, the first corrected volute pressure prediction sequence is recalculated according to the first corrected complete guide vane opening prediction sequence. The first-corrected spiral casing pressure prediction sequence is compared with the maximum allowable pressure value of the spiral casing pressure upper limit boundary. The first-corrected turbine speed prediction sequence is compared with the maximum allowable speed value of the turbine speed upper limit boundary. The continuous residence time of the first-corrected turbine speed prediction sequence in the vibration speed range is checked to see if it exceeds the maximum allowable continuous residence time value, and the first comparison result is generated. Based on the initial comparison results, the trajectory to be corrected is iteratively corrected until all safety boundary conditions are met, and the corrected running trajectories of all trajectories to be corrected are generated to form a set of candidate safe trajectories.
6. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 5, characterized in that, The step of iteratively correcting the trajectory to be corrected based on the initial comparison results until all safety boundary conditions are met, and generating corrected running trajectories for all trajectories to be corrected to form a candidate safe trajectory set, includes: Based on the initial comparison results, the updated values of the opening adjustment step size parameter and the adjustment direction parameter are determined, and the updated adjustment step size parameter and the updated adjustment direction parameter are generated. Using the updated adjustment step size parameter and the updated adjustment direction parameter, the opening subsequence adjusted in the previous round is adjusted again to generate a new opening subsequence adjusted in the next round. Replace the newly adjusted aperture subsequence with the corresponding position in the current correction object's guide vane aperture prediction sequence to generate a new round of corrected complete guide vane aperture prediction sequence; The newly revised complete guide vane opening prediction sequence is re-input into the hydropower unit's nonlinear dynamics model, and the future operating trajectory extrapolation process is re-executed to generate a new revised turbine speed prediction sequence. Based on the newly revised complete guide vane opening prediction sequence, the new revised volute pressure prediction sequence is recalculated. The new round of revised spiral casing pressure prediction sequence is compared with the maximum allowable pressure value of the spiral casing pressure upper limit boundary. The new round of revised turbine speed prediction sequence is compared with the maximum allowable speed value of the turbine speed upper limit boundary. The continuous residence time of the new round of revised turbine speed prediction sequence in the vibration speed range is checked to see if it exceeds the maximum allowable continuous residence time value, and a new round of comparison results are generated. Repeat the steps of determining the updated adjustment step size parameters and the updated adjustment direction parameters based on the previous round of comparison results, and generating another round of adjusted opening subsequence, another round of corrected complete guide vane opening prediction sequence, another round of corrected turbine speed prediction sequence, another round of corrected spiral casing pressure prediction sequence, and another round of comparison results based on the updated parameters, until the latest round of comparison results indicates that all operational safety boundary conditions are met. The opening subsequence after the latest round of adjustment that satisfies all operational safety boundary conditions is determined as the final corrected opening subsequence. The final corrected aperture subsequence is concatenated with the aperture prediction sequence of the non-violation portion of the current correction object to generate the final corrected complete guide vane aperture prediction sequence of the trajectory to be corrected. Based on the corrected complete guide vane opening prediction sequence, the hydropower unit nonlinear dynamic model is called again to perform the final state deduction, and a corrected complete turbine speed prediction sequence corresponding to the corrected complete guide vane opening prediction sequence is obtained. The corrected complete guide vane opening prediction sequence and the corrected complete turbine speed prediction sequence are combined to generate the corrected running trajectory of the current correction object. Determine if there are any unprocessed tracks to be corrected. If so, select the next track to be corrected as the new current correction target and repeat all steps from reading the violation report to generating the corrected running track. All the generated corrected running trajectories, together with the initial violation report indicating that the predicted running trajectory does not contain any violation time segments, are collected to form the candidate safe trajectory set.
7. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 1, characterized in that, The optimal control trajectory is selected from the candidate safe trajectory set, choosing the operating trajectory with the lowest overall control performance cost. The guide vane opening command value corresponding to the next control cycle is extracted from the guide vane opening prediction sequence of the optimal control trajectory. Based on the deviation between the instantaneous turbine speed value and the predicted turbine speed value for the same control cycle in the optimal control trajectory, closed-loop feedback correction processing is performed on the guide vane opening command value to generate the final guide vane opening control command, including: Receive the set of candidate safe trajectories, which consists of the corrected running trajectory and the predicted running trajectory that initially meets the boundary conditions; For each safe operating trajectory in the candidate safe trajectory set, a comprehensive cost evaluation function is constructed. The comprehensive cost evaluation function includes at least a sub-item for calculating the cost of adjusting speed and a sub-item for calculating the cost of operating stability. For the specified safe operating trajectory currently being evaluated, extract the speed prediction values for all control cycles from its turbine speed prediction sequence; Read the target stable speed value expected to be achieved under the current operating conditions from the main control unit of the hydropower unit control system; In the turbine speed prediction sequence of the specified safe operating trajectory, starting from the initial time, search point by point to locate the control cycle in which the predicted speed value first enters and remains near the target stable speed value in all subsequent cycles. The length of time from the initial time to the control cycle is determined as the adjustment process length of the specified safe operating trajectory. A preset adjustment time reference value and a preset speed fluctuation reference value are read from the parameter configuration area of the control system. The ratio of the adjustment process time length value to the adjustment time reference value is used as the output value of the adjustment speed cost calculation sub-item. Calculate the absolute value of the difference between the predicted speed values of two adjacent control cycles in the turbine speed prediction sequence of the specified safe operating trajectory to obtain the speed fluctuation amplitude value between multiple cycles; The speed fluctuation amplitude values of all future control cycles covered by the turbine speed prediction sequence are summed to obtain the total cumulative speed fluctuation of the specified safe operating trajectory in the entire prediction time domain. The ratio of the total cumulative value of the speed fluctuation to the reference value of the speed fluctuation is used as the output value of the sub-item for calculating the running stability cost; The system reads the pre-tuned adjustment speed weight coefficient and operation stability weight coefficient from the parameter configuration area of the control system; multiplies the output value of the adjustment speed cost calculation sub-item by the adjustment speed weight coefficient to obtain the weighted speed cost of the specified safe operation trajectory; multiplies the output value of the operation stability cost calculation sub-item by the operation stability weight coefficient to obtain the weighted stability cost of the specified safe operation trajectory; and performs algebraic summation of the weighted speed cost and the weighted stability cost to obtain the comprehensive control performance cost of the specified safe operation trajectory. The comprehensive control performance cost of all safe operating trajectories in the candidate safe trajectory set is compared and identified. The safe operating trajectory with the smallest value is then identified and marked as the optimal control trajectory. Based on the optimal control trajectory, a final guide vane opening control command with feedback correction is generated and issued for execution.
8. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 7, characterized in that, The step of generating and issuing a final guide vane opening control command after feedback correction based on the optimal control trajectory includes: From the guide vane opening prediction sequence of the optimal control trajectory, extract the guide vane opening estimate corresponding to the next control cycle immediately following the current control cycle, and use the guide vane opening estimate as the initial guide vane opening command value. From the turbine speed prediction sequence of the optimal control trajectory, extract the turbine speed prediction value corresponding to the next control cycle, and use it as the benchmark speed prediction value; Obtain the instantaneous value of the turbine speed measured by the speed sensor at the end of the current control cycle, and calculate the speed deviation value between the instantaneous value of the turbine speed and the reference speed prediction value; The speed deviation value is input into a proportional-integral controller with pre-configured proportional and integral coefficients. Through the calculation of the proportional-integral controller, a correction value for correcting the guide vane opening is output. The initial guide vane opening command value and the correction value are algebraically added to obtain the final guide vane opening control command value after feedback correction processing; the final guide vane opening control command value is encapsulated according to the electrical signal format required by the hydroelectric generator guide vane hydraulic actuator. The final guide vane opening control command value, packaged in real time, is sent to the guide vane hydraulic actuator through the input / output channel of the hydropower unit control system.
9. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 3, characterized in that, The step involves extracting the guide vane opening prediction sequence from the current review trajectory, and based on the guide vane opening prediction value for each control cycle in the prediction sequence, combined with the actual operating head value of the hydropower unit in the current control cycle, calculating the spiral casing pressure prediction value for each future control cycle corresponding to each guide vane opening prediction value in the prediction sequence using a pre-established functional relationship model between spiral casing pressure, head, and opening, thereby generating a spiral casing pressure prediction sequence, including: The upstream and downstream water levels measured by the water level sensor during the current control cycle are obtained from the hydropower unit's on-site data acquisition system. The difference between the upstream and downstream water levels is calculated and determined as the actual working head value of the hydropower unit during the current control cycle. The pre-stored spiral casing geometric parameters are retrieved from the hydropower unit design data database. The spiral casing geometric parameters include at least the inlet cross-sectional area of the spiral casing, the average flow velocity coefficient of each cross section of the spiral casing, and the equivalent friction coefficient of the spiral casing. Extract the estimated guide vane opening value for the first future control cycle from the guide vane opening prediction sequence of the current review trajectory; Based on the turbine's flow characteristic curve, the predicted flow rate of the turbine is obtained by querying the combined effect of the current actual working head value and the estimated guide vane opening value of the first future control cycle. The predicted flow rate, the cross-sectional area of the volute inlet, and the average velocity coefficient of each cross section of the volute are input into the volute flow velocity calculation model based on the fluid continuity equation and the energy equation to calculate the average flow velocity prediction of the water flow inside the volute. The calculated average flow velocity estimate, the equivalent friction coefficient of the volute, and the characteristic length parameter characterizing the geometry of the volute are input into the friction head loss calculation model based on the Darcy-Weisbach formula to calculate the estimated pressure loss generated by the water flowing through the volute. Obtain the theoretical static pressure value at the volute inlet corresponding to the current actual working head value, and perform an algebraic subtraction operation between the theoretical static pressure value and the calculated pressure loss estimate to obtain the volute pressure estimate for the first future control cycle. The guide vane opening prediction value for each subsequent future control cycle is extracted sequentially from the guide vane opening prediction sequence. For each extracted opening prediction value, the steps of querying the predicted flow rate, calculating the average flow velocity, calculating the pressure loss, and subtracting the pressure loss from the theoretical static pressure are repeated until the volute pressure prediction value for all future control cycles that correspond one-to-one with all the opening prediction values in the guide vane opening prediction sequence is calculated. The calculated spiral casing pressure estimates for all future control cycles are arranged in chronological order to generate a spiral casing pressure estimate sequence that is perfectly aligned with the guide vane opening prediction sequence of the current review trajectory on the time axis. The generated spiral casing pressure estimate sequence is then associated with the identification information of the current review trajectory and stored in a temporary data buffer.
10. The multi-constraint fast and stable control method for hydropower units based on model prediction according to claim 4, characterized in that, The step of sequentially checking whether each predicted speed value falls within the vibration speed range defined by the lower and upper limits of the restricted area, starting from the first predicted speed value in the turbine speed prediction sequence of the current review trajectory, includes: Obtain the lower and upper speed threshold values of the vibration speed limit zone from the parameters of the operating safety boundary conditions. Locate the turbine speed prediction sequence of the current review trajectory, and obtain all turbine speed prediction values contained in the turbine speed prediction sequence arranged in the order of control cycle; Set up a loop counter and initialize it to the first speed prediction value in the turbine speed prediction sequence; Read the estimated rotational speed currently pointed to by the loop counter, and compare its value with the lower limit speed threshold value and the upper limit speed threshold value; determine whether the current estimated rotational speed value simultaneously satisfies the two conditions of being greater than or equal to the lower limit speed threshold value and less than or equal to the upper limit speed threshold value. If the current speed estimate simultaneously meets the conditions of being greater than or equal to the lower speed threshold and less than or equal to the upper speed threshold, then the current control cycle in which the speed estimate is located is marked as the state inside the vibration exclusion zone; if the value of the current speed estimate is less than the value of the lower speed threshold or greater than the value of the upper speed threshold, then the current control cycle in which the speed estimate is located is marked as the state outside the vibration exclusion zone. After marking the status of the current control cycle, the value of the loop counter is incremented by one unit to point to the next speed prediction value in the turbine speed prediction sequence. The steps of reading the speed prediction value, comparing it with the upper and lower limit thresholds, and marking the status based on the comparison results are repeated until the sequence number pointed to by the loop counter exceeds the last speed prediction value in the turbine speed prediction sequence, thereby completing the status determination for each control cycle in the entire turbine speed prediction sequence. After traversing the entire turbine speed prediction sequence, a time-series state marker sequence is obtained, consisting of state markers inside or outside the vibration exclusion zone corresponding to each control cycle. Based on the time-series state marker sequence, continuous lingering segments are identified to generate a list of potential lingering segments.