RotationalLoadSequencerV1 provides lead-lag control of from 2 to 10 BooleanWritables based upon a fixed sequence. The number of active loads is determined by the Schedule and Required Loads inputs.
RotationalLoadSequencerV1 is available in the HVAC folder of the vykonPro palette
Setup of the object involves the following properties, as follows:
Status
BStatus property which indicates the current status of the component.
Fault Cause
String property which indicates the current fault cause if any of the component.
Facets
Facets applied to the Out (A-J) slots.
Schedule
A StatusBoolean input that controls whether any control device should be on. If this input is true, at least one of the outputs will be active.
Load Failed
StatusBoolean property which indicates whether one of the commanded loads failed to start.
Stop Failed Load
When property is true, if the load fails to start the outX slot will be set to false. When property is false, if the load fails to start the outX slot will remain set to true.
Number Outputs
Specifies the number of devices (outputs) that are controlled.
Required Loads
Specifies the number of devices (outputs) that should be active provided the Schedule input is true. This input can be linked to logic which evaluates the need for multiple loads to be energized such as in parallel pumping applications.
Rotate Mode
Enum property which determines the mode of operation. When set to interval, rotation occurs after the stations elapsed time exceeds the rotateInterval value, regardless of load runtime. When set to rotate, rotation occurs when the lead load's accumulated runtime (since being designated as the lead load) exceed the rotateInterval value. When set to manual, rotation occurs only when manually commanded.
Rotate Interval
Specifies the maximum amount of time that must elapse based on the rotate mode before the lead load is shifted automatically.
Feedback Delay Time
Specifies the delay time used to evaluate the feedback links (if any). If an active load does not indicate a running status via its feedback, then an additional load is started to maintain the number of running loads equal to the required number of loads.
Last Rotate Time
The timestamp of the last rotation of the lead load
Runtime Remaining Until Shift
The amount of runtime left until the lead load will be rotated, if the rotateMode is runtime.
Lead Load Enum
The load output which is designated as lead.
Lead Runtime At Start
The current accumulated runtime of the lead output recorded when the load is designated as lead.
Next Lead Load
The load output which is designated as lead.
Feedback A-J
A StatusBoolean input, to provide positive feedback that a controlled device actually started. If the feedback value does not show true within the Feedback Delay time, the output will show alarm, and the RotationalLoadSequencer switches to the next output. Setting this value to true (and not linking) disables this alarm feature.
Out A-J
StatusBoolean outputs, each typically linked to a BooleanWritable control point with a DiscreteTotalizerExt. Outputs are typically used to control loads of some type.
Runtime A-J
These are RelTime inputs that are used for runtime feedback for the corresponding Out A - J. These inputs will typically be linked to the ElapsedActiveTime property of the DiscreteTotalizerExt that is measuring the runtime of the corresponding Out A - J.
Disable Output
This action prompts the user to select which output to disable. This sets the selected output to false and disabled, effectively removing the load from the rotation. This action could be used to disable a load for maintenance or some other reason.
Enable Output
This action prompts the user to select which output to enable. This restores the selected output from being previously disabled.
Manual Command
This action prompts the user to select which output to command and whether to enable or disable the load. The action performs the same functionality as the "Disable Output" and "Enable Output" commands. The design is to allow linking control logic through a BooleanToSequencerCmd component.
Manual Rotate
This action forces the Rotational Load Sequencer component to rotate the lead load to the next available load in sequence.
Reset Failed Load
This action prompts the user to select which output to reset. If the output is in a failed state with alarm status bit set, the component clears the alarm status bit and attempts to normalize loads.
When the Schedule value changes from false to true, the RLSV1 attempts to start the number of loads specified by the Required Loads value. When a load is started the RLSV1 changes the applicable OutX (where X = A-J) to true and starts a timer using the Feedback Delay value. When the timer expires, the RLSV1 evalutes whether the applicable OutX is true and the matching FeedbackX is true. If the FeedbackX is false the load is considered failed and the RLSV1 attempts to start the next load in the rotation order. If the FeedbackX for a running load changes from true to false after the feedback timer period has expired, the RLSV1 considers the load failed while running and attempts to start the next load in the rotation order.
When the RLSV1 evaluates that a load has failed it sets the alarm status bit for the applicable OutX slot and changes the Load Failed to true. The failed load OutX slot value remains true even though additional loads may be started to compensate for the failed load, unless the Stop Failed Load is false in which case the OutX value is changed to false. A failed load with OutX slot status alarm bit set is not considered to be running even though the physical piece of equipment might be running.
The RLSV1 behavior is different than the RLS behavior regarding failed loads. With the RLSV1 once a load has failed regardless of the Stop Failed Load property value, the load is removed from rotation until a user invokes the Reset Failed Load action and selects the applicable OutX to restore the load to operation. The design is such that when a load has failed it should not be used to prevent damage or equipment cycling until the root cause is determined and corrected.
If the RLSV1 has started all available loads and the number of running loads (OutX true and status OK, and FeedbackX true) is less than the Required Loads, the Status is set to Fault and the Fault Cause is updated to indicate 'Not enough loads available to start the required number of loads.
When the Schedule value changes from true to false, the RLSV1 stops all of the outputs (changes all OutX slots to false), but it does not clear the alarm status bit from any previously failed loads. The RLSV1 component will not attempt to use the previously failed loads when the Schedule changes from false to true subsequently.