FUNCTION_BLOCK MC_DigitalCamSwitch
This function block is analogous to switching on a motor shaft: The function block commands a group of discrete output bits to switch in analogy to a set of mechanical cam controlled switches connected to an axis. Forward and backward movements are allowed.
Note
Changing the VAR_IN_OUT-parameters requires a new rising edge of the Enable input.
Notice
This functionality is sometimes called PLS – Phase or Position or Programmable Limit Switch.
Example
Assume the following parameter values set:
Parameter |
Type |
Switch01 |
Switch02 |
Switch03 |
Switch04 |
TrackNumber |
INT |
1 |
1 |
1 |
2 |
FirstOnPosition [u] |
REAL |
2000 |
2500 |
4000 |
3000 |
LastOnPosition [u] |
REAL |
3000 |
3000 |
1000 |
- |
AxisDirection |
INT |
1=Pos |
2=Neg |
0=Both |
0=Both |
CamSwitchMode |
INT |
0=Position |
0=Position |
0=Position |
1=TIME |
Duration |
TIME |
- |
- |
- |
1350 |
Assume further, that no on/off compensation nor hysteresis is employed. The figure demonstrates the behavior of the outputs, when the axis is moving continuously in positive direction. The axis is a modulo axis with a modulo length of 5000 u.
Example of DigitalCamSwitch
Now assume that on compensation (-125ms) and off compensation (+250ms) are employed.
Detailed description of Switch01
The resulting behavior of the outputs, when the axis is moving continuously in negative direction without on/off compensation and without hysteresis.
Example in negative direction
InOut:
Scope |
Name |
Type |
Initial |
Comment |
Inout |
Axis |
Reference to axis the switches are connected to |
||
Switches |
Reference to switching actions |
|||
Outputs |
Reference to signal outputs that are directly related to the referenced tracks |
|||
TrackOptions |
Reference to structure containing track related properties, e.g. the on/off compensations per output/track. |
|||
Input |
Enable |
BOOL |
FALSE |
TRUE: Enables execution of function block. |
EnableMask |
DWORD |
16#FFFFFFFF |
32 bits of BOOL enabling the different tracks. Least significant data is related to the lowest TrackNumber. |
|
TappetMode |
tp_mode_auto |
Mode for position outputs |
||
Output |
InOperation |
BOOL |
FALSE |
TRUE: Commanded tracks have been enabled. |
Busy |
BOOL |
FALSE |
TRUE: Execution of function block has not been finished yet. |
|
Error |
BOOL |
FALSE |
TRUE: Error has occurred within the function block. |
|
ErrorID |
SMC_ERROR |
0 |
Error identification |
|
SwitchCorrupted |
INT |
Signalizes potential problems that arise from compensation times: Compensation times may lead to the case that the extrapolated position passes one switching point several times before passing the other switching point again. As a consequence, a non-inverted switch may become inverted (and the other way around). In this case, this variable indicates the switch in concern. There are two possible reasons:
-1 means that such behaviour hasn't occured. |