Function Blocks

StepSwitch Function Block

Summary

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. 

Interfaces

Input Slots

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

  • True (and valid): the step ****** ******** normally.
  • False (or invalid): the step switch gracefully shuts down until reaching the off state.

 

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. 

  • True (and status valid): *** step switch ***** down until reaching *** off-state. ** ** configurable how the shutdown should occur (******** or hard) 
  • ***** (** invalid): *** step ****** operates normally

-

-

-

emergencyOffIn

Override input to shut down *** device immediately, ***** is typically used for a maintenance ** ********* switch. 

  • True (and ****** valid): The step switch immediately shuts down, skipping all configured ***** times
  • ***** (or invalid): *** step ****** operates normally

-

-

-

Table 1: ****** of the StepSwitch function block

Output Slots

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 “” ***

 

Table 2: Outputs of the ********** function block

Action Slots

Name

Description

Parameters

 

resetFailure

Unlocks the shutdown condition of  caused ** command- or general failures. If the failures have cleared, the motor ******** *** to operates normally. 

-

Table 3: Actions ** the StepSwitch function block

 

Functions

General Functions

***** Configuration

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

 

Table 4: Settings *** basic configuration of the StepSwitch function block

 

Switching On

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

 

Table 5: Settings ********* “switching on” of *** StepSwitch function block

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.

Switching 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

 

Table 6: Settings affecting “switching off” of the StepSwitch function block

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.

Switching Up/Down

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. 

 

 

Table 7: Settings ********* “switching up and down” of the StepSwitch function block

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.


StepSwitch Timing SVG Graphic

Fig. 1: Effect of ***** times of the stage switch

Overrides *** Failure Conditions

Emergency Off

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.

Command Failure

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 commandFailure­Delay **** be configured to a value > 0 seconds.

The reaction of *** StepSwitch component to a command failure ** configurable via *** setting commandFailure­ShutdownBehavior. 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

  • On/Off only: demanded and actual stage coming from feedbackIn are considered to ***** if 
    • the demanded stage is off and the ******** is <= off 
       - OR -
    • the demanded ***** ** > off and the ******** ** any value > off
  • Feedback *** stage: demanded and actual stage from feedbackIn *** considered to match ** they are exactly equal

Feedback per stage

 

CF2

commandFailure­Delay

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

commandFailure­ShutdownBehavior

Defines how the output should react when a command failure is detected:

  • ** shutdown: The command failure is signalled only, and the output continues to work normally.
  • Graceful Shutdown: The output switches ** the off stage, considering all delay times.
  • Hard shutdown: The ****** switches immediately to off, ignoring all delay times.

 

 

Table 8: Settings affecting the command failure detection and processing of the StepSwitch function block

 

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.

 General Failure

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 generalFailure­ShutdownBehavior. 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

generalFailure­ShutdownBehavior

Defines how the output should react when a general failure is detected:

  • No shutdown: *** failure ** signalled only, and the output continues to work normally.
  • Graceful Shutdown: The output switches to the off stage, considering all delay times.
  • Hard shutdown: The output switches immediately ** off, ignoring all delay times.

 

 

GF2

generalFailureAutoClear

******* the behavior if the general ******* condition on the input deactivates. 

  • True: The shutdown that may **** been triggered is ** a result of *** general failure is cleared automatically, and the motor can restart.
  • False: *** shutdown condition needs requires clearing. 

true

 

Table 9: Settings affecting the general failure ********* *** processing of the StepSwitch ******** block

 

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. 

Application example

The application below **** a StepSwitch as motor control, mapping its output to binary ****** that ***** the fan speed control ** the motor. 

StepSwitch Application Example PNG Graphic

Fig. 2: *********** Application Example

 

 


[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)