MMC dynamic variable frequency switching control method and system considering hardware time window constraint
Patent Information
- Application Number
- CN202610735757.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-26
- Publication Date
- 2026-08-18
AI Technical Summary
[0005]本发明提供一种考虑硬件时窗约束的MMC动态变频投切控制方法及系统,用于至少解决如何在MMC底层硬件动作时窗受限的条件下对一个控制周期内的子模块投切动作进行分散分配并生成触发脉冲序列的问题
通过调制参考波和上一周期末的起始投入子模块数共同确定台阶差值,实现了周期目标电平与实际起始状态之间的差分控制,使后续投切动作能够围绕实际需要跨越的台阶数量展开。
Smart Images

Figure CN122600645A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of power electronic control technology, and specifically to an MMC dynamic frequency conversion switching control method and system that considers hardware time window constraints. Background Technology
[0002] Modular multilevel converters are widely used in flexible DC transmission, DC grid integration, and high-capacity power conversion scenarios. Their arm output levels are typically adjusted by switching sub-modules on and off. Related control methods are usually based on a nearest-level approximation strategy, determining the number of sub-modules to be switched on within a control cycle based on the modulation reference wave, and then the valve control system executes the corresponding switching actions.
[0003] In practical engineering, the main control system has a fixed basic control cycle, and the underlying valve control system is limited by fiber optic communication, triggering logic, and hardware counting timing. Within a cycle, effective actions can usually only be performed within a few fixed hardware action windows. Existing methods tend to concentrate the switching of multiple sub-modules that need to be completed within a cycle into a single moment or a single control boundary, causing large instantaneous step jumps in the bridge arm level.
[0004] Because of stray inductance, parasitic capacitance, and switching edges within the converter valve, concentrated step surges increase high-frequency electromagnetic transients and subject locally insulated components to more concentrated voltage changes and current stresses. If an online distributed calculation method is used to generate the action schedule for each time window in real time within the main control system, timing allocation, direction determination, and action quantity breakdown must be performed within each cycle, easily consuming the main control system's real-time control resources. Furthermore, if the time window action schedule is not integrated with the capacitor voltage status of the underlying sub-modules, the selection of specific switching sub-modules cannot be consistent with the real-time voltage equalization requirements of the bridge arm, thus affecting the continuity between the actual operational state at the end of the cycle and the control calculation for the next cycle. Summary of the Invention
[0005] This invention provides a dynamic frequency conversion switching control method and system for MMC that considers hardware time window constraints, which is used to at least solve the problem of how to distribute and generate trigger pulse sequences for the switching actions of sub-modules within a control cycle under the condition that the time window of the underlying hardware action of MMC is limited.
[0006] In a first aspect, the present invention provides a dynamic frequency conversion switching control method for MMC considering hardware time window constraints, applied to an MMC control system, the method comprising: The main control system determines the target number of input sub-modules based on the modulation reference wave approximating the nearest level, and determines the step difference based on the target number of input sub-modules and the initial number of input sub-modules at the end of the previous cycle. The main control system determines the number of steps to be assigned and the direction of action based on the step difference, and generates an action mask by querying a static lookup table. The action mask indicates the direction of action and the number of actions in the hardware action window. The number of actions is determined by single-step allocation when there are remaining steps in the preceding hardware action window and allocation of the remaining steps in the last hardware action window. The underlying valve control system determines the switching sub-module based on the action mask and the sub-module capacitor voltage, and generates a trigger pulse sequence.
[0007] In one possible implementation, the method is executed separately for each arm of the MMC, with the target number of submodules to be engaged, the initial number of submodules to be engaged, the step difference, the action mask, the submodule capacitor voltage, the submodule to be engaged and the trigger pulse sequence all corresponding to the same arm.
[0008] In one possible implementation, determining the number of steps to be assigned and the direction of movement based on the step difference includes: determining the absolute value of the step difference as the number of steps to be assigned, and determining the sign of the step difference as the direction of movement.
[0009] In one possible implementation, the action direction includes an input direction and a cut-off direction. When the step difference is greater than zero, the action direction is the input direction; when the step difference is less than zero, the action direction is the cut-off direction; and when the step difference is equal to zero, the number of actions is zero.
[0010] In one possible implementation, the preceding hardware action window is a hardware action window located before the last hardware action window within the same cycle. The number of steps to be allocated is taken as the current remaining number of steps. The preceding hardware action window allocates a basic action step size and updates the current remaining number of steps in sequence when the current remaining number of steps is greater than zero. The last hardware action window allocates the current remaining number of steps updated by the preceding hardware action window.
[0011] In one possible implementation, the static lookup table includes entries that match the step difference. Each entry includes a hardware action window number, an action direction field, and an action quantity field. The main control system generates an action mask based on the entries.
[0012] In one possible implementation, the master control system sends the action mask to the underlying valve control system in one go. The underlying valve control system parses the action direction field and action quantity field based on the local hardware clock and hardware action time window sequence number.
[0013] In one possible implementation, the underlying valve control system determines the switching submodule based on the action mask and the submodule capacitor voltage, including: determining a set of candidate submodules based on the parsed action direction, action quantity, submodule capacitor voltage and submodule state, where the submodule state is used to indicate whether the submodule can participate in the switching; and performing voltage equalization sorting based on the submodule capacitor voltage of each candidate submodule in the candidate submodule set to obtain the switching submodule.
[0014] In one possible implementation, after generating the trigger pulse sequence, the underlying valve control system determines the actual number of sub-modules put into operation at the end of the current cycle, and uses the actual number of sub-modules put into operation at the end of the current cycle as the starting number of sub-modules put into operation for the main control system to obtain in the next cycle.
[0015] Secondly, the present invention provides an MMC dynamic frequency conversion switching control system considering hardware time window constraints, for implementing an MMC dynamic frequency conversion switching control method considering hardware time window constraints, the system comprising: The difference determination module is used to determine the target number of input sub-modules based on the modulation reference wave approximating the nearest level, and to determine the step difference based on the target number of input sub-modules and the initial number of input sub-modules at the end of the previous cycle. The mask generation module is used to determine the number of steps to be assigned and the direction of action based on the step difference, and to generate an action mask by querying a static lookup table. The action mask indicates the direction of action and the number of actions in the hardware action window. The number of actions is determined by single-step allocation when there are remaining steps in the preceding hardware action window and allocation of the remaining steps in the last hardware action window. The pulse generation module is used to determine the switching sub-module based on the action mask and the sub-module capacitor voltage, and generate a trigger pulse sequence.
[0016] Compared with the prior art, the advantages and beneficial effects of the present invention are as follows: By using the modulated reference wave and the number of initial input sub-modules at the end of the previous cycle to determine the step difference, differential control between the cycle target level and the actual starting state is achieved, enabling subsequent switching actions to proceed around the actual number of steps to be crossed.
[0017] By determining the number of steps to be assigned and the direction of action based on the step difference, the number of actions and the direction of switching can be expressed separately in the main control stage, enabling the underlying valve control system to clearly execute the input or cut-off action when parsing the action mask.
[0018] By generating action masks through static lookup tables, online time window allocation can be converted into lookup table mapping, enabling the main control system to obtain control data containing action direction and the number of hardware action time windows within a fixed control cycle.
[0019] By using the rule of allocating steps in a single step when there are remaining steps in the preceding hardware action window and allocating the remaining steps in the last hardware action window, it is possible to distribute the steps to be crossed within the limited hardware action window.
[0020] By combining the underlying valve control system with the action mask and the submodule capacitor voltage to determine the switching submodule, the time window level action plan can be connected with the voltage state of the bridge arm submodule, and a trigger pulse sequence that can directly drive the switching of the submodule can be generated. Attached Figure Description
[0021] Figure 1 This is a schematic flowchart of the method of the present invention; Figure 2 This is a schematic diagram of the overall control principle in an embodiment of the present invention; Figure 3 This is a step hash distribution diagram in an embodiment of the present invention; Figure 4 This is a comparison curve of the quadratic amplification effect of heat loss for different switching strategies in the embodiments of the present invention; Figure 5 This is a block diagram of the module composition of the system of the present invention. Detailed Implementation
[0022] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings of one or more embodiments. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of this invention.
[0023] The hardware time window constraint means that the underlying valve control system cannot receive and execute submodule switching actions at any time within the basic control cycle. Instead, it can only complete action parsing and triggering at several discrete time boundaries determined by the hardware counter, trigger link, and valve control execution timing. This constraint belongs to the underlying execution boundary of the converter valve control system, which determines that the switching plan generated by the main control system must be converted into a data form that adapts to the fixed hardware action time window, rather than using an ideal continuous time distribution as the control basis. Based on this constraint, this invention transforms the input or output demand within a basic control cycle into step difference, action direction, and the number of actions in each hardware action time window. By generating an action mask through a static lookup table, the underlying valve control system can sequentially parse the action plan within the existing hardware time window and determine the specific switching submodule by combining the submodule capacitor voltage, thereby forming an MMC dynamic frequency conversion switching control process adapted to the hardware execution boundary.
[0024] like Figure 1As shown, an MMC dynamic frequency switching control method considering hardware time window constraints includes the following processing steps.
[0025] At the start of a basic control cycle, the main control system reads the modulation reference wave of the current bridge arm from the converter modulation stage. This modulation reference wave characterizes the expected change in the bridge arm's output voltage within that cycle. The main control system sends the modulation reference wave to the nearest-level approximation processing stage, converting the continuous modulation amount into the target number of sub-modules to be engaged by the end of the cycle. The target number of engaged sub-modules only represents the target level for that bridge arm at the end of the cycle, without directly specifying a particular physical sub-module. Simultaneously, the main control system reads the initial number of engaged sub-modules confirmed at the end of the previous cycle, and performs difference processing between the target number and the initial number to form a step difference. This step difference is then used in the subsequent action allocation stage to generate the number of steps and switching direction to be processed in this cycle.
[0026] In one embodiment, each arm of the modular multilevel converter independently performs target level determination and state differential processing. Each arm has an independent modulation reference wave, submodule activation state, submodule capacitor voltage sampling value, and trigger pulse output channel. The main control system reads the modulation reference wave of each arm according to the arm number at the cycle boundary and establishes an arm-level processing record for each arm. The arm-level processing record stores at least the arm identifier, current cycle number, modulation reference wave sampling value, target number of activated submodules, initial number of activated submodules, and step difference. The arm identifier is used to confine the subsequently generated action mask, activated submodules, and trigger pulse sequence within the same arm, avoiding cross-referencing of level targets and submodule states between different arms.
[0027] The initial number of submodules to be engaged comes from the actual engagement status of the bridge arm confirmed by the underlying valve control system at the end of the previous cycle, or from the status record of the trigger result confirmed by the main control system in the previous cycle. When the underlying valve control system has returned the actual engagement status of the bridge arm, the main control system uses the return value as the initial number of submodules to be engaged in this cycle; when the return value is temporarily unavailable but the trigger pulse sequence of the previous cycle has been confirmed to be executed, the main control system uses the status record as the initial number of submodules to be engaged and marks the status source in the processing record of that bridge arm. If the return value of the same bridge arm is inconsistent with the status record, the main control system does not directly use the unverified status to generate a new action mask, but marks the bridge arm as a bridge arm with a status pending confirmation, and writes the confirmation time, return value and status record value at the end of the previous cycle into the operation record. The control and protection loop decides whether to maintain the output of the current cycle or reread the underlying status.
[0028] Independent execution of bridge arms is also reflected in the attribution relationship between submodule capacitor voltages and trigger pulse sequences. The sampled submodule capacitor voltage value of each bridge arm only participates in the voltage equalization sorting of that bridge arm and cannot be used for selecting switching submodules for other bridge arms. After the main control system generates the step difference, it transmits the bridge arm identifier to the action allocation stage, enabling the action mask output by the static lookup table to be bound to the bridge arm-level state. After receiving the action mask, the underlying valve control system also parses the action quantity and direction according to the bridge arm identifier and selects the switching target from the available submodule set of the corresponding bridge arm. After the trigger pulse sequence is generated, the underlying valve control system counts the actual number of submodules deployed at the end of the cycle on a bridge arm basis, using this as the source of the starting number of deployed submodules for the next cycle. Through this bridge arm-level closed loop, the target number of deployed submodules, the initial number of deployed submodules, the step difference, the action mask, the submodule capacitor voltage, the switching submodules, and the trigger pulse sequence are all transmitted and used within the same bridge arm.
[0029] In one embodiment, after the main control system reads the target number of input sub-modules and the initial number of input sub-modules, it determines the number of steps to be traversed in this cycle according to the relationship of the number of steps to be traversed:
[0030] in, The difference between the steps. The number of sub-modules to be allocated to the target This represents the initial number of submodules. This relationship characterizes the number of steps that need to be traversed from the start level of the cycle to the target level at the end of the cycle. During project execution, the main control system retains [the required parameters] while calculating the number of steps. and The size relationship allows the number of steps and the direction of the throw to enter the subsequent action allocation stage simultaneously. Greater than At this time, the bridge arm needs to be added to the input submodule, and the direction of movement is recorded as the input direction; Less than When the bridge arm needs to reduce the input sub-module, the action direction is recorded as the cutting direction; when the two are equal, the bridge arm does not generate any new input / cutting actions in this cycle, and the number of actions is recorded as zero.
[0031] The main control system uses the absolute value of the step difference as the number of steps to be allocated. The number of steps to be allocated represents the total number of steps that need to be allocated to various hardware action windows within the current cycle, without carrying any input or output meaning. The action direction indicates whether each hardware action window should add or remove a submodule when executing the action, without individually changing the number of steps to be allocated. With this processing, subsequent action allocation stages only need to break down the number of steps to be allocated and write the action direction as a unified direction field into the action mask. The underlying valve control system can then obtain the input / output type while parsing the action quantity.
[0032] After the step difference is generated, the main control system combines the number of steps to be assigned, the action direction, and the bridge arm identifier into periodic action description data and passes it to the static lookup table addressing stage. The periodic action description data is used to constrain the generation of subsequent action masks and does not directly specify physical submodules. If the number of steps to be assigned is zero, the main control system can still generate an empty action mask or keep the bridge arm inactive; the underlying valve control system will not output new trigger pulses within the corresponding hardware action window. If the number of steps to be assigned is not zero, the main control system determines the number of actions each hardware action window needs to handle according to the number of steps to be assigned, and keeps the action direction the same within the same cycle. The physical number of the switching submodule is not determined in this stage, but rather when the underlying valve control system performs voltage equalization sorting based on the submodule capacitor voltage and submodule status. This division of labor ensures that the step difference only performs the function of determining the quantity and direction, forming a continuous processing chain between target level calculation, action allocation, and physical submodule selection.
[0033] After obtaining the step difference, the main control system converts it into the number of steps to be allocated and the action direction. The number of steps to be allocated represents the total number of steps that need to be split and executed in the hardware action window within the current cycle, and the action direction represents the switching type. The main control system uses the preceding hardware action window to distribute the steps according to the order of available hardware action windows within the current cycle, and uses the last hardware action window to receive the remaining steps, ensuring that the end-of-cycle level returns to the target number of sub-modules. After determining the number of actions for each action window, the main control system reads a static lookup table using the step difference as an index, encapsulates the action direction and the number of actions for each hardware action window into an action mask, and passes the action mask to the time window parsing stage of the underlying valve control system.
[0034] In one embodiment, the action direction is determined by the sign of the step difference. When the step difference is greater than zero, it indicates that the target number of sub-modules to be deployed is higher than the number deployed at the beginning of the cycle, the bridge arm needs to add more sub-modules, and the main control system records the action direction of this cycle as the deployment direction. When the step difference is less than zero, it indicates that the target number of sub-modules to be deployed is lower than the number deployed at the beginning of the cycle, the bridge arm needs to remove the deployed sub-modules, and the main control system records the action direction of this cycle as the removal direction. When the step difference is equal to zero, it indicates that the target number of sub-modules to be deployed is the same as the number deployed at the beginning of the cycle, the current cycle does not need to add any new deployment actions, and the main control system records the number of actions in each hardware action window as zero. This processing ensures that the number of steps and deployment types are separated before the action mask is generated, and the subsequent allocation process only divides the quantity based on the number of steps to be allocated, without re-determining the deployment or removal type in each hardware action window.
[0035] Action direction records are stored on a periodic basis and, along with the bridge arm identifier, period number, and number of steps to be assigned, are entered into the static lookup table addressing stage. The bridge arm identifier defines the scope of the action direction, the period number distinguishes action plans for adjacent periods, and the number of steps to be assigned determines the total number of actions to be allocated within a time window. The action direction itself does not change the number of hardware action time windows or their opening times; it only serves as a control field for the underlying valve control system to select actions to initiate or deactivate. After receiving the action mask, the underlying valve control system interprets the number of actions in each time window according to the action direction recorded in the field. When the action direction is an initiation direction, it selects a physical submodule from the initiating submodules; when the action direction is a deactivation direction, it selects a physical submodule from the already initiating submodules.
[0036] When the step difference is zero, the main control system no longer allocates valid action quantities to the preceding hardware action window and the last hardware action window. This state can be represented by an empty action mask or by an action mask where all action quantity fields are zero. When the underlying valve control system resolves that the action quantity is zero, it does not generate new switching trigger pulses, but only maintains the existing bridge arm engagement state. This processing avoids erroneous switching when there is no level change requirement, and also ensures that the number of sub-modules to be engaged at the beginning of the next cycle can still be obtained from the actual engagement state at the end of the current cycle. Thus, a clear correspondence is formed between the action direction, the number of steps to be allocated, and the action quantity. Subsequent static lookup tables only need to output action masks in a fixed format around the step difference, avoiding repeated multi-branch direction judgments during the online phase.
[0037] In one embodiment, the preceding hardware action window is the hardware action window located before the last hardware action window within the same basic control cycle. For a scenario with four hardware action windows within a basic control cycle, the three hardware action windows at the beginning of the cycle are designated as preceding hardware action windows, and the one hardware action window at the end of the cycle is designated as the last hardware action window. The number and boundaries of the hardware action windows are determined by the fixed timing resources of the underlying valve control system. The main control system does not change the opening time of the hardware action windows; it only determines the number of actions in the current cycle within the available windows. The main control system writes the number of steps to be allocated into the current remaining step count, which is used to record the number of steps that have not yet been allocated to a hardware action window.
[0038] The main control system processes the preceding hardware action windows sequentially according to the time sequence. When processing a certain preceding hardware action window, if the current remaining number of steps is greater than zero, the main control system allocates a basic action step size to that hardware action window and records the number of actions in that hardware action window as follows:
[0039] in, For the first The number of actions per hardware action window This is the sequence number of the hardware action window. This expression represents the basic action step size undertaken by the preceding hardware action window when there are steps to be assigned. After completing one assignment, the main control system updates the current number of remaining steps, so that subsequent hardware action windows continue to perform judgments based on the updated remaining step status. If the current number of remaining steps is zero, the main control system does not assign a valid action to this hardware action window, and the number of actions is recorded as:
[0040] in, For the first The number of actions per hardware action window This is the sequence number of the hardware action window. This expression indicates that the preceding hardware action window does not undertake the switching action when there are no remaining steps. Both of the above expressions are derived from the definition of the preceding distributed stage and are used to limit the number of actions of the preceding hardware action window to single-step actions or no actions.
[0041] After all the preceding hardware action windows have been processed, the main control system allocates the updated number of remaining steps to the last hardware action window. The last hardware action window is responsible for the end-of-cycle level approximation task, ensuring that the number of bridge arms deployed at the end of the current cycle reaches the target number of deployed submodules. Taking a cycle with six steps to be allocated as an example, after the first three preceding hardware action windows are allocated one basic action step size in sequence, the number of remaining steps becomes three. The last hardware action window allocates the remaining three steps, forming the action allocation sequence [1,1,1,3]. After this sequence enters the action mask generation stage, it only indicates the arrangement of the number of actions within the hardware action window. The specific physical submodules are still determined by the underlying valve control system in combination with the submodule capacitor voltage and submodule state.
[0042] In one embodiment, the static lookup table is pre-stored in a non-volatile memory area or controller memory accessible to the main control system. The static lookup table is indexed according to step difference values, with each index entry matching the allowable step difference range of the control system. Each entry records at least the hardware action window number, action direction field, and action quantity field. The hardware action window number identifies the window position corresponding to the action quantity, the action direction field records whether the current cycle is in the input or output direction, and the action quantity field records the number of inputs and outputs required for that hardware action window. The static lookup table can be permanently stored during the equipment commissioning phase according to the number of hardware action windows, the basic control cycle length, and the allowable step difference range; the main control system does not need to reconstruct the entries during the operation phase.
[0043] When the main control system generates the action mask, it uses the step difference as the lookup entry to read the matching entries in the static lookup table. After the entries are read, the main control system encapsulates the hardware action window sequence number, action direction field, and action quantity field according to the instruction format that the underlying valve control system can parse. The action mask does not contain specific physical submodule numbers to avoid overlap in responsibilities between the main control system and the underlying voltage equalization sorting system. The action mask only expresses the action plan for each hardware action window in the current cycle; the specific switching target is still determined by the underlying valve control system based on the submodule capacitor voltage and submodule status when the hardware action window arrives. This data structure allows the main control system to perform only one lookup and encapsulation operation during the online phase, with complex window allocation results provided by pre-defined entries.
[0044] The entries in the static lookup table need to match the actual number of hardware action windows. When the underlying valve control system provides four hardware action windows within a basic control cycle, each entry contains four sets of window records. Each set of window records includes a hardware action window sequence number and an action quantity field. The action direction field can be a common field for each entry or can be repeatedly written with each set of window records. When using a common field, the underlying valve control system reads the action direction once before parsing the action quantity for each hardware action window. When using a repeated field, the underlying valve control system reads the action direction for each hardware action window independently. Neither storage method changes the technical content of the action mask representation, and both require the action direction to match the action quantity of each hardware action window within the same cycle.
[0045] After the table entry is read, the main control system sends the action mask, along with the bridge arm identifier and cycle number, to the underlying valve control system. The bridge arm identifier is used to limit the target of the action mask, and the cycle number is used to prevent the underlying valve control system from misusing the action plan of the previous cycle. After receiving the action mask, the underlying valve control system reads the action quantity field when the local hardware clock reaches the boundary of the corresponding time window according to the hardware action time window sequence number, and enters the switching submodule selection stage in combination with the action direction field. If the action quantity field is zero, no new switching action is triggered for that hardware action time window; if the action quantity field is greater than zero, the underlying valve control system selects the switching object from the candidate submodule set according to the quantity. Thus, a complete data flow relationship is formed between the static lookup table, the action mask, and the underlying time window parsing.
[0046] After receiving the action mask from the main control system, the underlying valve control system caches and parses the action mask according to the current bridge arm and the current cycle. The action mask carries the hardware action time window number, action direction, and action quantity. The underlying valve control system uses the local hardware clock to read the action field at the corresponding time window boundary and, in conjunction with the real-time acquired submodule capacitor voltage and submodule status, determines the candidate submodules that can participate in the switching. After the candidate submodules complete the voltage equalization sorting, the underlying valve control system selects the physical submodules that need to be put into or removed in this cycle and generates a trigger pulse sequence according to the hardware action time window. At the end of the current cycle, the underlying valve control system counts the actual number of submodules put into operation and uses this value as the status source for the main control system to calculate the step difference in the next cycle.
[0047] In one embodiment, the master control system sends the action mask to the underlying valve control system all at once at the beginning of the current basic control cycle. This one-time sending means that the master control system does not repeatedly send time-sharing action commands in each hardware action window, but instead transmits the action plans for all hardware action windows within the current cycle to the underlying valve control system at the beginning of the cycle. After receiving the action mask, the underlying valve control system verifies the bridge arm identifier, cycle number, and verification information. The bridge arm identifier determines the range of bridge arms to which the action mask applies, the cycle number prevents misuse of the action plan from the previous cycle, and the verification information determines whether any field errors occurred during transmission. After successful verification, the underlying valve control system writes the action mask into its local time window execution buffer and waits for the local hardware clock to reach the boundaries of each hardware action window.
[0048] The local hardware clock in the underlying valve control system counts according to a fixed timing sequence and establishes a correspondence with the hardware action window sequence number. Whenever the local hardware clock reaches the boundary of a hardware action window, the underlying valve control system reads the action direction field and action quantity field from the window execution cache that match the hardware action window sequence number. The action direction field is used to determine whether to perform an activation action or a deactivation action within the current window, and the action quantity field is used to determine the number of submodules that need to be processed in this window. When the action quantity field is zero, the underlying valve control system does not enter the submodule selection stage, nor does it generate any new activation / deactivation trigger pulses. When the action quantity field is greater than zero, the underlying valve control system passes the action direction and action quantity to the candidate submodule determination stage, which combines the submodule capacitor voltage and the submodule state to generate a set of candidate submodules.
[0049] The parsing process of the action mask is completed locally in the underlying valve control system. After the main control system completes its distribution, it does not participate in the repetitive judgment within each hardware action window. This approach ensures that the online calculation of the main control system remains within the scope of periodic table lookups and distribution, and that the underlying valve control system performs window-level parsing according to a fixed hardware clock. If the underlying valve control system finds that the action mask is earlier or later than the current period during the period number verification process, the current action mask is not entered into the time window execution buffer, and the abnormal period number is fed back to the main control system. If the verification information does not meet the preset verification rules, the underlying valve control system maintains the current bridge arm confirmed state and does not generate a trigger pulse based on the action mask. The above abnormal handling only affects the execution of abnormal periods and does not change the processing flow of parsing the action mask window by window by the local hardware clock within normal periods.
[0050] In one embodiment, the underlying valve control system determines a candidate submodule set based on the parsed action direction and action quantity when each hardware action window arrives. The candidate submodule set is the set of submodules in the current bridge arm that meet the requirements of the action direction, action quantity, and switchable state for this action. The submodule state is used to indicate whether the submodule can participate in the switching process, and the state content can be formed by bypass state, lockout state, communication state, fault flag, and current engagement state. Submodules in fault, lockout, communication abnormal, or non-switchable states do not enter the candidate submodule set; when the action direction is the engagement direction, the candidate submodules are determined from the currently not engaged but engageable submodules; when the action direction is the disengagement direction, the candidate submodules are determined from the currently engaged and disengageable submodules. The action quantity is used to limit the number of submodules that need to be selected from the candidate submodule set within the current time window to prevent the actual triggering number from being inconsistent with the time window plan recorded by the action mask.
[0051] After the candidate submodule set is formed, the underlying valve control system reads the submodule capacitor voltage of each candidate submodule within the set, and uses the submodule capacitor voltage as the primary basis for voltage equalization sorting. The submodule capacitor voltage reflects the voltage state of the submodule during charging and discharging, and its change relationship is expressed by the following formula:
[0052] In the formula, This represents the change in capacitor voltage of the submodule. For the capacitor capacity of the submodule, The current flowing through the capacitor branch of the submodule. This represents the charging / discharging duration. This relationship illustrates the correlation between submodule capacitor voltage changes and current integration time. When the underlying valve control system triggers actions in multiple hardware action windows, it can reread the submodule capacitor voltage and perform voltage equalization sorting in each window, enabling the physical submodule selection to be updated according to real-time voltage status.
[0053] Voltage equalization sorting employs different sorting orientations based on the direction of action. When the action direction is the activation direction, the underlying valve control system selects the sub-modules to be activated based on the current current direction of the bridge arm and the capacitor voltage of the candidate sub-modules, avoiding the continuous selection of high-voltage or low-voltage sub-modules under unsuitable current directions. When the action direction is the deactivation direction, the underlying valve control system selects the sub-modules to be deactivated from the already activated candidate sub-modules, ensuring that the deactivated sub-modules are consistent with the current capacitor voltage distribution. If the number of candidate sub-modules is greater than the number of actions, the underlying valve control system selects candidate sub-modules equal to the number of actions as the activation / deactivation sub-modules according to the sorting results; if the number of candidate sub-modules is less than the number of actions, the underlying valve control system only generates trigger pulses for available candidate sub-modules and records the number of incomplete actions for use in the end-of-cycle status feedback. After the activation / deactivation sub-modules are determined, the candidate sub-module set is no longer transmitted to the main control system; only the actual triggering results and the actual number of activated sub-modules at the end of the cycle are used as status data feedback.
[0054] In one embodiment, the trigger pulse sequence is generated by the underlying valve control system based on the switching submodule, the action direction, and the hardware action time window boundary. Each switching submodule corresponds to a controlled switching unit. The underlying valve control system selects the activation trigger mode or the deactivation trigger mode based on the action direction and writes the corresponding pulse into the pulse output buffer of the hardware action time window. The trigger pulse sequence is organized by bridge arm, and each pulse in the sequence records the submodule number, trigger direction, and trigger time window. The submodule number comes from the switching submodule after voltage equalization sorting, the trigger direction comes from the action direction obtained from the action mask parsing, and the trigger time window comes from the current hardware action time window sequence number. The underlying valve control system outputs pulses to the corresponding submodule driver at the hardware action time window boundary, causing the submodule to complete the activation or deactivation according to the timing specified in the action mask.
[0055] During the generation of the trigger pulse sequence, the underlying valve control system simultaneously maintains the actual engagement status of the bridge arm. Upon completion of each hardware action window's trigger output, the underlying valve control system updates the local bridge arm status record based on the confirmed trigger direction and submodule number. The engagement direction corresponds to marking the triggered submodule as engaged, while the disengagement direction corresponds to marking the triggered submodule as disengaged. If a trigger pulse is not confirmed due to abnormal drive feedback, submodule locking, or communication status changes, the underlying valve control system does not directly update the submodule's status to the target state. Instead, it retains the abnormal flag and records the action in the unconfirmed action record. The unconfirmed action record is used to distinguish between planned and actual actions during end-of-cycle statistics, preventing the use of the theoretical state after incomplete engagement / disengagement as the starting state for the next cycle.
[0056] At the end of the current basic control cycle, the underlying valve control system summarizes the bridge arm status records to obtain the actual number of submodules engaged at the end of the current cycle. This value is based on the submodule status confirmed by the underlying system and is not replaced by the action plan value of the main control system. After the actual number of engaged submodules is generated, the underlying valve control system feeds it back to the main control system along with the bridge arm identifier, cycle number, and anomaly flag. When the next cycle arrives, the main control system reads this value and uses it as the starting number of engaged submodules for the next cycle to recalculate the step difference. If there are unconfirmed action records at the end of the cycle, the underlying valve control system synchronously feeds back the anomaly flag. The main control system can choose to maintain the previous confirmed status, reread the underlying status, or enter the protection control process based on the anomaly flag. Through this status feedback mechanism, the execution result of the trigger pulse sequence can return to the step difference calculation stage of the next cycle, forming a cross-cycle closed loop.
[0057] In one embodiment, such as Figure 2 As shown, the MMC control system includes a main control system and a lower-level valve control system. The main control system operates on a basic control cycle basis. At the arrival of each basic control cycle, it reads the modulation reference wave and obtains the target number of sub-modules to be engaged at the end of that cycle through nearest-nearest-level approximation processing. The main control system reads the number of initial input sub-modules confirmed at the end of the previous cycle. ,according to This indicates the number of steps to be crossed in the direction of deployment. When the target number of deployed submodules is less than the initial number of deployed submodules, the main control system records the cutting direction and uses the absolute value of the difference as the number of steps to be allocated. The difference between the steps. The number of sub-modules to be allocated to the target This represents the initial number of submodules to be deployed. During project execution, the main control system, while obtaining the number of steps to be crossed, retains the relationship between the target number of deployed submodules and the initial number of deployed submodules. This relationship is used to determine whether the current cycle is for deployment or retraction. When the target number of deployed submodules is greater than the initial number of deployed submodules, the action direction is deployment; when the target number of deployed submodules is less than the initial number of deployed submodules, the action direction is retraction; when the two are equal, no new deployment or retraction action is generated in this cycle.
[0058] like Figure 2 As shown, the main control system sends the step difference value to the step hash allocation stage, using the number of hardware action windows as the allocation boundary. The underlying valve control system provides a fixed hardware action window within a basic control cycle. The hardware action window is determined by the hardware timing resources of the underlying valve control system, and the main control system does not change the opening time of the hardware action window. Figure 2In this embodiment, "CPU" refers to the main control processor, and "FPGA" refers to the underlying valve control hardware. The main control system converts the step difference into a number of steps to be allocated and an action direction, and uses the number of steps to be allocated as the current remaining number of steps. For a preceding hardware action window located before the hardware action window at the end of the same cycle, the main control system sequentially judges the current remaining number of steps according to the time order of the hardware action windows. When the current remaining number of steps is greater than zero, a basic action step size is allocated to the current preceding hardware action window, and the current remaining number of steps is reduced by one step; when the current remaining number of steps is zero, no valid action is allocated to the current preceding hardware action window. The number of actions in the preceding hardware action window can be represented as follows: when there are unallocated steps, When there are no unassigned steps, .in, For the first The number of actions per hardware action window This refers to the sequence number of the hardware action window. After the preceding hardware action window completes its processing, the main control system allocates the updated current remaining step count to the last hardware action window to ensure that the target number of sub-modules is reached at the end of the cycle.
[0059] like Figure 3 As shown, when the number of steps traversed within a basic control cycle is 6, the first three preceding hardware action windows are each allocated a basic action step size, and the last hardware action window is allocated the remaining 3 steps, forming an action allocation sequence [1,1,1,3]. This action allocation sequence indicates that the underlying valve control system executes 1, 1, 1, and 3 sub-module switching actions sequentially within the corresponding hardware action window. This action allocation sequence only indicates the number of actions in each hardware action window and does not directly specify the specific physical sub-module. The specific physical sub-module is determined by the underlying valve control system when the corresponding hardware action window arrives, based on the sub-module capacitor voltage and sub-module state. This process enables the main control system to be responsible for generating cycle-level action plans, while the underlying valve control system is responsible for executing window-level actions, thereby avoiding the main control system repeatedly performing online cyclic allocation within each hardware action window.
[0060] The master control system pre-stores a static lookup table, indexed by step difference values. Each entry records the hardware action window number, action direction field, and action quantity field. The master control system reads the matching entry based on the step difference value of the current cycle and encapsulates the read hardware action window number, action direction field, and action quantity field into an action mask. The action mask can also carry a bridge arm identifier and a cycle number. The bridge arm identifier specifies which bridge arm the action mask applies to, and the cycle number prevents the underlying valve control system from misusing action plans from other cycles. The action mask does not record specific physical submodule numbers to avoid the master control system prematurely replacing the underlying valve control system's voltage equalization sorting. At the beginning of the cycle, the master control system sends the action mask to the underlying valve control system all at once. The underlying valve control system writes the action mask into its local time window execution cache and parses the corresponding action direction and action quantity fields at the boundaries of each hardware action window based on its local hardware clock.
[0061] When each hardware action window arrives, the underlying valve control system reads the action direction and number of actions corresponding to that window. If the number of actions is zero, the underlying valve control system does not generate any new trigger pulses; if the number of actions is greater than zero, the underlying valve control system determines a candidate submodule set based on the action direction, number of actions, submodule capacitor voltage, and submodule status. The submodule status indicates whether a submodule can participate in switching; submodules in fault, locked, communication abnormal, or non-switchable states are not included in the candidate submodule set. When the action direction is the activation direction, candidate submodules are determined from those currently not activated but available for activation; when the action direction is the deactivation direction, candidate submodules are determined from those currently activated and available for deactivation. After the candidate submodule set is determined, the underlying valve control system reads the submodule capacitor voltage of each candidate submodule in the set and performs voltage equalization sorting based on the submodule capacitor voltage to select the submodules whose number meets the required number of actions for switching.
[0062] The change in the capacitor voltage of the submodule can be represented by the following relationship:
[0063] in, This represents the change in capacitor voltage of the submodule. For the capacitor capacity of the submodule, The current flowing through the capacitor branch of the submodule. This represents the duration of the submodule's charging / discharging state. This relationship illustrates the correlation between the submodule's capacitor voltage and the current integration time. When the underlying valve control system triggers switching actions in multiple hardware action windows, it can reread the submodule's capacitor voltage and perform voltage equalization sorting in each hardware action window, ensuring that the selected switching submodule is consistent with the current capacitor voltage state. After the switching submodule is determined, the underlying valve control system generates a corresponding trigger pulse sequence based on the action direction and outputs it to the corresponding submodule driver at the boundary of the hardware action window.
[0064] like Figure 4 As shown, in the centralized switching method, when it is necessary to cross 6 steps within a single cycle, the following can be used: A relative evaluation of heat loss is conducted, in which... This is a relative evaluation metric for heat loss. This represents the number of steps in a single jump. The relative evaluation value corresponding to the concentrated drop is 6. 2 =36. In the step hash distribution method of this embodiment, the number of actions is distributed according to [1,1,1,3], and the relative evaluation value is 1. 2 +1 2 +1 2 +3 2 =12. This evaluation is used to illustrate that, with the same total number of steps, the step concentration of a single action decreases after splitting concentrated step jumps into multiple hardware action windows. Figure 4 The curves in the figure are used to show the heat loss variation trend of traditional centralized switching and decentralized switching under the same operating conditions. The traditional nearest level approximation strategy corresponds to the centralized action curve, while this embodiment corresponds to the decentralized action curve.
[0065] At the end of the current basic control cycle, the underlying valve control system summarizes the actual operational status of each submodule within the bridge arm and determines the actual number of operational submodules at the end of the current cycle. This value is based on the submodule status confirmed by the underlying system and is not replaced by the planned action number generated by the main control system. The underlying valve control system feeds back the actual number of operational submodules, along with the bridge arm identifier, cycle number, and anomaly flag, to the main control system. When the next cycle arrives, the main control system reads this value and uses it as the starting number of operational submodules for the next cycle, to form a step difference with the new target number of operational submodules. If there is insufficient candidate submodules, trigger feedback anomalies, or a sudden change in submodule status within a certain hardware action window, the underlying valve control system records the number of unconfirmed actions and feeds back the anomaly flag along with the actual number of operational submodules to the main control system, which then redetermines the step difference based on the actual status in the next cycle. In this way, modulation quantization, action mask generation, underlying time window parsing, voltage equalization sorting, and cross-cycle status feedback form a continuous closed loop.
[0066] like Figure 5As shown, an MMC dynamic frequency conversion switching control system considering hardware time window constraints includes the following modules.
[0067] The difference determination module consists of a modulation reference wave input interface, a nearest-level approximation calculation unit, a period status register, and a difference calculation unit. The modulation reference wave input interface is used to receive the modulation reference wave of the current period. The nearest-level approximation calculation unit is used to convert the modulation reference wave into the target number of input sub-modules. The period status register is used to store the initial number of input sub-modules at the end of the previous period. The difference calculation unit is used to perform difference calculation between the target number of input sub-modules and the initial number of input sub-modules, and outputs the step difference value.
[0068] The mask generation module consists of a step number conversion unit, a direction determination unit, a static lookup table memory, and a mask encapsulation unit. The step number conversion unit determines the number of steps to be assigned based on the step difference. The direction determination unit determines the input or cut-off direction based on the step difference. The static lookup table memory stores the mapping entries between the step difference and the number of actions in the hardware action window. The mask encapsulation unit encapsulates the action direction, hardware action window number, and action number into an action mask and outputs it to the underlying valve control system.
[0069] The pulse generation module consists of an action mask receiving buffer, a local hardware clock counter, a time window parsing unit, a capacitor voltage sampling interface, a submodule status register, a voltage equalization sorting unit, and a trigger pulse output unit. The action mask receiving buffer temporarily stores the action mask issued by the main control system; the local hardware clock counter provides the hardware action time window boundaries; the time window parsing unit parses the action direction and number of actions within the corresponding hardware action time window; the capacitor voltage sampling interface and submodule status register provide the criteria for selecting candidate submodules; the voltage equalization sorting unit determines the submodule to be switched; and the trigger pulse output unit generates and outputs the trigger pulse sequence.
[0070] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0071] The various embodiments in this invention are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
Claims
1. A dynamic frequency conversion switching control method for MMC considering hardware time window constraints, characterized in that, Applied to an MMC control system, the method includes: The main control system determines the target number of input sub-modules based on the modulation reference wave approximating the nearest level, and determines the step difference based on the target number of input sub-modules and the initial number of input sub-modules at the end of the previous cycle. The main control system determines the number of steps to be allocated and the direction of action based on the step difference, and generates an action mask by querying a static lookup table. The action mask indicates the direction of action and the number of actions in the hardware action window. The number of actions is determined by single-step allocation when there are remaining steps in the preceding hardware action window and allocation of the remaining steps in the last hardware action window. The underlying valve control system determines the switching sub-module based on the action mask and the sub-module capacitor voltage, and generates a trigger pulse sequence.
2. The method according to claim 1, characterized in that, The method is executed separately for each arm of the MMC. The target number of input sub-modules, the initial number of input sub-modules, the step difference, the action mask, the sub-module capacitor voltage, the input / output sub-module, and the trigger pulse sequence all correspond to the same arm.
3. The method according to claim 1, characterized in that, The step of determining the number of steps to be assigned and the direction of movement based on the step difference includes: The absolute value of the step difference is determined as the number of steps to be assigned, and the sign of the step difference is determined as the direction of the action.
4. The method according to claim 3, characterized in that, The direction of action includes the direction of input and the direction of cut-off. When the step difference is greater than zero, the direction of action is the direction of input. When the step difference is less than zero, the direction of action is the cutting direction; When the step difference is zero, the number of actions is zero.
5. The method according to claim 3, characterized in that, The preceding hardware action window is a hardware action window located before the last hardware action window within the same cycle. The number of steps to be allocated is taken as the current remaining number of steps. The preceding hardware action window allocates a basic action step size and updates the current remaining number of steps in sequence when the current remaining number of steps is greater than zero. The last hardware action window allocates the current remaining number of steps updated by the preceding hardware action window.
6. The method according to claim 1, characterized in that, The static lookup table includes entries that match the step difference. Each entry includes a hardware action window number, an action direction field, and an action quantity field. The main control system generates the action mask based on the entries.
7. The method according to claim 6, characterized in that, The main control system sends the action mask to the underlying valve control system in one go. The underlying valve control system parses the action direction field and the action quantity field based on the local hardware clock and the hardware action time window sequence number.
8. The method according to claim 7, characterized in that, The underlying valve control system determines the switching sub-module based on the action mask and the sub-module capacitor voltage, including: Based on the action direction, the number of actions, the submodule capacitor voltage, and the submodule status obtained from the analysis, a set of candidate submodules is determined, and the submodule status is used to indicate whether the submodule can participate in the switching. The switching submodule is obtained by performing voltage equalization sorting on the submodule capacitor voltage of each candidate submodule in the candidate submodule set.
9. The method according to claim 1, characterized in that, After generating the trigger pulse sequence, the underlying valve control system determines the actual number of sub-modules put into operation at the end of the current cycle, and uses the actual number of sub-modules put into operation at the end of the current cycle as the starting number of sub-modules put into operation for the main control system to obtain in the next cycle.
10. A dynamic frequency conversion switching control system for MMC considering hardware time window constraints, used to implement the dynamic frequency conversion switching control method for MMC considering hardware time window constraints as described in any one of claims 1 to 9, characterized in that, The system includes: The difference determination module is used to determine the target number of input sub-modules based on the modulation reference wave approximating the nearest level, and to determine the step difference based on the target number of input sub-modules and the initial number of input sub-modules at the end of the previous cycle. The mask generation module is used to determine the number of steps to be assigned and the direction of action based on the step difference, and to generate an action mask by querying a static lookup table. The action mask indicates the direction of action and the number of actions in the hardware action window. The number of actions is determined by single-step allocation when there are remaining steps in the preceding hardware action window and allocation of the remaining steps in the last hardware action window. The pulse generation module is used to determine the switching sub-module based on the action mask and the sub-module capacitor voltage, and generate a trigger pulse sequence.