Implementation of a digital cam controller
To trigger sequences highly dynamically and synchronously to a rotating or linear motion, a digital cam controller can be used. This means that a camera or a laser can be controlled on the basis of a position, for example.
The function "Switching with preset counter values" allows this, by appropriate parameterization, with position or time cams on a digital output track.
- Two digital outputs are available, representing two independent cam tracks, as both operate independently.
- Individual cams can be activated or deactivated independently on each track.
- Furthermore, cam positions can be changed per PLC cycle and direction-independent cams can be defined.
Implementation with up to four position cams
- Up to four position cams can be implemented, each with separate TRUE and FALSE threshold values.
- Two threshold values are required for each position cam to define the switch-on and switch-off position.
- If TRUE threshold value smaller FALSE threshold value:
For all positions between switch-on and switch-off position the output is switched TRUE. For all other position values the output is FALSE.
The switch-on position corresponds to - in positive direction of rotation (CW) the TRUE threshold value,
- in negative direction of rotation (CCW) the FALSE threshold value.
- The switching behavior is inverted if TRUE threshold value greater than FALSE threshold value.
See examples in chapter "Switching with preset counter values":
- Example of a position cam with different counting directions
- Example for position cams synchronous to a linear movement
Implementation with up to eight time cams:
- Up to eight time cams can be implemented.
- Only one “Threshold” is required per time cam.
- When the time cam is reached, the output is switched TRUE (switch‑on position) or FALSE (switch‑off position) for the duration defined in “Duration” according to the specification for the “Output state”.
- If “Duration n = 0” for a time cam, the current “Output state n” remains active until the next time cam is reached.
See the example in chapter “Switching with preset counter values”:
![]() | Using the function block MC_DigitalCamSwitch_EL5131 If the axis is controlled from the TwinCAT Motion function environment, the NC, the function block “MC_DigitalCamSwitch_EL5131” can be used. |