blockStageCompletion
Information
Block that detects a stage change and evaluates whether the stage transition is completed.
The completion of a stage change is considered successful when both of the following conditions have been verified.
- Following a stage transition event, there is a change in the enable command of at least one equipment.
- After that change, every unit that is commanded on is proven on and every unit that is commanded off is proven off.
The output signal y1End is true exactly at the time when the
successful completion of the stage change is confirmed. The output signal
y1 is true during the entire time in which the stage change is
in progress.
Polyvalent units
Polyvalent units can switch mode without transiting through an off state. The enable command is specific to a given operating mode, whereas the returned status is not, and the active operating mode is not available as an input point. Therefore, a unit is considered proven on in a given mode if both the enable command for that mode and the returned status are true. Conversely, a unit is considered proven off in a given mode if either the enable command for that mode or the returned status is false. The latter condition implies that the completion of a stage down transition for a polyvalent unit resolves to a change in the enable command, and the returned status has no actual effect. The same applies to a stage up transition if the unit is already running in another mode: the returned status only has an actual effect when the unit starts from an off state. This is a limitation of the current logic, coming directly from the lack of the actual operating mode as an input point.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nin | 0 | Size of input array |
| Integer | nPhp | 0 | Number of polyvalent units |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nin] | u1 | Equipment enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nin] | u1_actual | Equipment status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1End | Successful completion of stage change | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1 | Stage change in progress | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uSta | Stage index |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Logical.And[nin] | enaAndOn | True if equipment enabled and on status returned | |
| Buildings.Controls.OBC.CDL.Logical.Nor[nin] | disAndOff | True if equipment disabled and off status returned | |
| Buildings.Controls.OBC.CDL.Logical.MultiAnd | allTru | True if all inputs true | |
| Buildings.Controls.OBC.CDL.Logical.Or[nin] | onOrOff | True if on or off condition met | |
| Buildings.Controls.OBC.CDL.Logical.FallingEdge | endStaPro | True when staging process terminates | |
| Buildings.Controls.OBC.CDL.Logical.Latch | lckChaSta | Lock stage change signal until conditions on equipment command and status met | |
| Buildings.Controls.OBC.CDL.Logical.Change[nin] | cha | True if enable signal changes | |
| Buildings.Controls.OBC.CDL.Logical.Latch | lckAnyCha | Lock equipment command change signal until next stage change | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyCha | True if any enable signal changes | |
| Buildings.Controls.OBC.CDL.Logical.And | chaAndMat | True if enable command changed and equipment status matches command | |
| Buildings.Controls.OBC.CDL.Integers.Change | chaSta | Return true when stage change is initiated | |
| Buildings.Controls.OBC.CDL.Logical.Pre[nin] | u1Pre | Left-limit of signal to guard against concomitant stage change and command change | |
| Buildings.Controls.OBC.CDL.Logical.And[2*nPhp] | onInMod | True if equipment returns on status while in commanded mode |
Revisions
-
July 10, 2026, by Antoine Gautier:
Use both enable command and returned status to handle multiple operating modes for polyvalent units.
This is for #4512. -
June 26, 2024, by Antoine Gautier:
Replacedholdwithpreto guard against concomitant stage change and command change.
This is for #3787. -
March 29, 2024, by Antoine Gautier:
First implementation.