Function block is **** to control a staged motor ** a ******* speed in steps, considering defined delay times. A staged motor is a motor with discrete (=non-continuous) ***** control, where the individual stages are typically operated by a stage-transformer. The stage transformer ** ******* driven by digital outputs of a controller.
This component takes ** Enum on the commandIn, and switches the Enum output effectiveStageOut to that value, considering the configured delay times, and considering potential overrides e.g. caused by failure conditions.
Name |
Rev |
Description |
||
commandIn |
The ******* output stage. This slot ****** be used from *** control *********** to request a certain stage. It is required to connect an Enum-type. |
- |
X |
- |
enableIn |
Used to enable or ******* the **** switch from *** *********** program
When this input is not connected, make sure you set it to true, to enable control. |
- |
- |
- |
feedbackIn |
******** **** the device about *** actual stage a motor is currently running in. When connected, this information is used to detect a command failure, i.e. a situation where the actual ***** is different from the requested stage on *** output. The reaction of the step ****** output to the ******* failure can be configured. It *** continue to operate, shutdown gracefully or ******* a hard shut down. When not connected the feedback is ignored. |
- |
- |
- |
generalFailureIn |
Feedback from the device that its ********* failed. This is used e.g. to connect a ****** ***** failure feedback.
|
- |
- |
- |
emergencyOffIn |
Override input to shut down *** device immediately, ***** is typically used for a maintenance ** ********* switch.
|
- |
- |
- |
Name |
Description |
Display Datapoint |
effectiveStageOut |
**** with the resulting stage. This output is used to control the motor. The **** can be ****** converted to digital outputs controlling the motor speed using the EnumToBoolean function block. |
- |
motorStatusOut |
A bitstring with the actual motor status, including *** status of all timers. See “BMotorStatusOut”. If you **** ** use *** of the status information ** the ********* logic, use the “NumericToBitsDemux” function block to decode individual status **** of the bitstring. |
- |
commandFailureOut |
**** if a command failure is currently present. This is the case if the actual motor speed ******* from the requested motor ***** for longer than a definable delay time. Or in other words: the ******** value does not ***** the effectiveStageOut even after the defined command failure delay has expired. Note that commandFailureOut resets to false as soon as the output and feedback values match. |
- |
shutdownByCommandFailureOut |
True after a shutdown operation *** been initiated because of a command failure. Whether a shutdown operation should occur based on a command failure depends on the configuration. **** this output ****** true, it will stay true until the failure ***** is cleared manually. Refer to chapter “Command Failure”. |
- |
shutdownByGeneralFailureOut |
True after a shutdown operation has been initiated ******* of a general failure. It is configurable if this output clears automatically once the general ******* clears, or if it needs to be cleared manually. ***** to chapter “” *** |
|
Name |
Description |
Parameters
|
resetFailure |
Unlocks the shutdown condition of caused ** command- or general failures. If the failures have cleared, the motor ******** *** to operates normally. |
- |
You need to ****** the range in which the step switch operates, to see the textual representation of the stages. If you connect an enum point (e.g. a EnumWritable) which has already ** assigned ***** to commandIn, the range of this point is automatically stored ** the of the step switch. This happens only if you *** not manually assign a range to the step switch before: manual assignments will not be overridden.
Note: The ***** is used to determine the next stage for switching up / down. If the step switch does not have a valid range, it ****** determine the next stage for switching, and will stay at the stage it had previously assumed.
You also need to define the offStage. This is the ordinal ** the range which is considered the off-state.
Example: If your enum would look like the following {-1: Off, 1: Slow, 2: Medium, 3: High}, the offStage should be set to -1.
Setting |
Name |
Description |
Default Value |
Configured Value |
B1 |
range |
The enum range in which the step switch can operate. This is used to show textual representation of the stages, e.g. {0: Off, 1: Slow, 2: Medium, 3: High}. This value can be auto-configured, but it is required that the range is defined. |
- |
|
B2 |
offStage |
Defines which ordinal in the range is considered off. |
0 |
|
The following descriptions ****** that no ********* or failure ********** apply.
If the output is off, and the commandIn changes to *** value higher than the offStage, the motor will ****** on, if the following conditions are true:
Setting |
Name |
Description |
Default Value |
Configured Value |
D1 |
onDelay |
Time the commandIn input must be greater than off, before the output reacts to the command. *** timer starts automatically when the ********* goes ** any value > offStage, and remains ****** until this time expires or until the ********* stage goes back to off. The motor will not switch on while this ***** is active. |
- |
|
D2 |
minOffTime |
Time the motor needs to be off before it is ******* to switch on again. **** timer starts counting when the effectiveStageOut goes to the off stage. ** the motor is requested ** switch on while this timer is active, ** **** stay off, and switch on only once the minOffTime as elapsed. |
0 sec |
|
After requesting to switch on, the motorStatusOut shows “starting” as long as any delay times *** active, to ******** that the motor has been ********* ** start but has not actually started yet. This bit clears, and the “started” bit becomes ****** once the motor is actually running. If the feedbackIn is connected, the feedback information is used ** determine whether the motor is running. If no feedback is connected, the motor is considered running ** **** as the output assumes a stage greater than off.
The following descriptions assume that no overrides ** failure conditions apply.
** the ****** is on, *** the commandIn changes to the offStage, the motor will switch to off, ** the following conditions are true:
Setting |
Name |
Description |
Default Value |
Configured Value |
D3 |
offDelay |
Time the ********* input **** be greater than off, before the output reacts to the command. The timer ****** automatically when the commandIn goes to any value > offStage, and remains ****** until this time expires ** until *** requested stage goes back to off. The motor will not switch on while this timer is active. |
- |
|
D4 |
minOnTime |
Time the motor ***** to be on before it is allowed to switch off again. This timer starts counting when the effectiveStageOut goes to *** stage greater than the *** stage. If *** motor ** requested to switch off while this timer is active, it will go to its lowest ****** stage, and switch *** only once the minOnTime as elapsed. |
0 sec |
|
D5 |
minStageRuntime |
Time the motor should **** its current stage before it can switch to the next higher or **** lower stage. **** applies **** when the motor is on. **** timer ** restarted each time the ****** changes ** a value > off. |
0 sec |
|
After requesting to ****** off, the motorStatusOut shows “stopping” as **** as any delay times are active, to indicate **** the motor has been requested to stop but has not actually stopped yet. This bit clears, and the “stopped” bit ******* active **** the motor has actually switched off. If the feedbackIn ** connected, the ******** information is used to determine ******* the motor is off. If no feedback is connected, the ***** is considered off as soon as *** output ******* equal to the offStage.
The ********* descriptions assume that no ********* or failure conditions apply.
If the output is on, and the commandIn changes to any higher ** lower stage, the motor will switch to that stage, ***** ******* all stages in between *** ******* stage and *** requested stage. It will hold each stage for the minStageRuntime, to ***** “jumping” from a low to a **** value.
Example: If *************** = 10 seconds, and a motor is ***** is switched to stage 4 ***** being off for a longer time, the output will change as follows: Off à ***** 1 (hold 10 sec) à Stage 2 (hold 10 sec) à Stage 3 (hold 10 sec) à Stage 4.
If 3 seconds ***** reaching stage 4 *** motor is commanded to stage 2, the output will ****** as follows: Stage 4 (hold for 10-3=7 seconds) à Stage 3 (hold 10 sec) à Stage 2.
There is a specific protection function for ****** which ***** **** masses, typically ****** that operate belt driven fans: to avoid the belts or motors being damaged when switching from a high to a low stage, a freewheelTime is configurable. If **** time is > 0, the output passes through a transitional off stage and stays there for *** defined freewheelTime, ****** activating *** next lower stage. In the example above, if 3 seconds after reaching stage 4 *** motor is commanded ** ***** 2, assuming a freewheel time of 2 sec the output will change ** follows: ***** 4 (hold *** 10-3=7 seconds) à Off (2 seconds) à Stage 3 (hold 10 sec) à Off (2 seconds)à Stage 2.
Setting |
Name |
Description |
Default Value |
Configured Value |
D5 |
minStageRuntime |
Time the motor should hold its current stage before it can ****** to *** **** higher or **** lower stage. This ******* **** when the motor is on. This timer is restarted **** **** the ****** changes to a value > off. |
0 sec |
|
D6 |
freewheelTime |
Time *** motor goes into a transitional off stage when switching down. **** timer triggers when switching down is required, the minimum runtime has already elapsed, and *** next lower stage should be activated: the motor is switched of temporarily, until **** timer elapses before going ** the next lower stage. |
|
|
If *** motor is requested to change to a higher stage, but has not reached the ********* stage yet (e.g. because the minStageRuntime is still active), the ************** shows “accellerating”.
If the motor is requested to change to a lower stage, but has *** reached the requested stage yet (e.g. because the minStageRuntime is ***** active), the motorStatusOut shows “decellerating”.
*** figure below illustrates the effect of the delay times for a 3-stage motor, ******** the freewheel time to simplify the chart.
If the input emergencyOffIn is **** (and valid), the output ******** immediately to the off stage, ignoring *** active delay times. This input can be used to connect e.g. an ********* or plant switch.
A command failure is a condition ***** actual stage the motor is ******* in does not match *** demanded stage ** the Step Switches’ output effectiveStageOut for longer than a definable time.
The command failure activates if:
As **** ** the demanded and actual stages match, the command failure clears *** the timer is cleared.
Note: Command failure detection is ONLY enabled if information about the actual motor stage is available. This means the feedbackIn input must be linked on the wiresheet. Additionally, the commandFailureDelay **** be configured to a value > 0 seconds.
The reaction of *** StepSwitch component to a command failure ** configurable via *** setting commandFailureShutdownBehavior. The StepSwitch can continue to operate normally, and just signal the failure. Or it can ** shutdown either immediately, or gracefully considering the defined delay times. See description in the table below.
Setting |
Name |
Description |
Default Value |
Configured Value |
CF1 |
feedbackType |
|
Feedback per stage |
|
CF2 |
commandFailureDelay |
If the ******** does not match the output before this timer elapses, the command failure state **** be activated. The timer is activated automatically each **** the output changes, waiting for the feedback to match before it elapses. ** **** as the feedback matches *** output, the ***** ** cancelled. A value ** 0 disables *** command failure detection |
0 seconds |
|
CF3 |
commandFailureShutdownBehavior |
Defines how the output should react when a command failure is detected:
|
|
|
Whether the command failure is active *** be seen in the “Command Failure” bit of motorStatusOut, *** in the slot commandFailureOut. **** that these flags only show true during the time the ******* ******* is present. They clear ** **** as the ******* failure condition clears.
If the command failure *** ****** a shutdown ** the off state, this can be seen in the “Shutdown By Command Failure” bit of the motorStatusOut, and in the slot shutdownByCommandFailureOut. Note that these flags persist even if *** command failure condition clears. The output **** remain *** until *** ******** condition is unlocked manually using the action resetFailure.
A general ******* is a condition is a digital information coming from the motor, signaling failure. Other than a command failure which ******* on the actual motor speed compared to *** requested speed, the general ******* is rather unspecific.
The general failure activates with no delay times if the generalFailureIn ******* true (*** is valid).
As soon as the generalFailureIn becomes false or invalid, the general ******* condition clears.
The reaction of the StepSwitch component to a general failure is configurable via the setting generalFailureShutdownBehavior. The StepSwitch can continue to ******* normally, and just signal the failure. Or it can be shutdown either immediately, or gracefully considering the defined delay times. See description in the table below.
Setting |
Name |
Description |
Default Value |
Configured Value |
GF1 |
generalFailureShutdownBehavior |
Defines how the output should react when a general failure is detected:
|
|
|
GF2 |
generalFailureAutoClear |
******* the behavior if the general ******* condition on the input deactivates.
|
true |
|
Whether the general ******* is ****** can be **** in the “General Failure” *** of the motorStatusOut. Note that this flag only show true during the time the ******* failure is present. It clears as soon as the general failure condition clears, i.e. becomes false or invalid.
If the general ******* has caused a shutdown to the off state, **** can ** seen in the “Shutdown By ******* Failure” *** of the motorStatusOut, and in the slot shutdownByGeneralFailureOut. By default (i.e. when generalFailureAutoClear=true), the flags are ******* automatically ** soon as the general failure condition on the input deactivates. This causes the ***** to operate normally once the general ******* disappears. If generalFailureAutoClear=false, these flags ******* even if the general failure condition clears. The output will ****** off until the shutdown condition is unlocked manually using the action resetFailure.
The application below **** a StepSwitch as motor control, mapping its output to binary ****** that ***** the fan speed control ** the motor.
[1] Multilink: If an input slot supports **** feature, multiple ***** components can link to this **** input slot. The values that come through these links (if ******* or boolean) are aggregated, to build one consolidated value from them (e.g. an average)