Data type MC_CamActivationMode
TYPE MC_CamActivationMode :
(
(* instantaneous change *)
MC_CAMACTIVATION_INSTANTANEOUS,
(* modify the data at a defined master position referring to the cam tables master position *)
MC_CAMACTIVATION_ATMASTERCAMPOS,
(* modify the data at a defined master position referring to the absolute master axis position *)
MC_CAMACTIVATION_ATMASTERAXISPOS
(* modify the data at the beginning of the next cam table cycle *)
MC_CAMACTIVATION_NEXTCYCLE,
(* not yet implemented!
modify the data at the beginning of the next cam table cycle, activation is valid for one cycle only *)
MC_CAMACTIVATION_NEXTCYCLEONCE,
(* modify the data as soon as the cam table is in a safe state to change its data *)
MC_CAMACTIVATION_ASSOONASPOSSIBLE,
(* don't accept any modification *)
MC_CAMACTIVATION_OFF,
(* delete all data which was written to modify the cam table but is still not activated *)
MC_CAMACTIVATION_DELETEQUEUEDDATA,
(* special mode at a defined master axis position in a defined positive direction *)
MC_CAMACTIVATION_ATMASTERAXISPOS_POSITVEDIRECTION,
(* special mode at a defined master axis position in a defined negative direction *)
MC_CAMACTIVATION_ATMASTERAXISPOS_NEGATIVEDIRECTION
);
END_TYPE
MC_CamActivationMode specifies the timing and type of change for a cam plate. Changes can be affected through scaling, modification of the cam plate data, or switching of cam plates.
The following modes are possible:
Scaling of cam plates
Cam plates can be scaled with the function block MC_CamScaling. The following activation modes are available.
MC_CAMACTIVATION_INSTANTANEOUS |
Scaling takes effect immediately. |
MC_CAMACTIVATION_ATMASTERCAMPOS |
Scaling takes effect at a certain cam plate position (master position within the cam plate). The scaling command must be issued ahead of this position. |
MC_CAMACTIVATION_ATMASTERAXISPOS |
Scaling takes effect at a certain absolute position of the master axis. The scaling command must be issued ahead of this position. |
MC_CAMACTIVATION_NEXTCYCLE |
For a cyclic cam plate, scaling takes effect at the transition to the next period. |
MC_CAMACTIVATION_OFF |
No scaling is carried out. This can be used to limit scaling to one axis (master or slave), for example. |
Setting the mode for changing a cam plate online (writing of point data)
MC_SetCamOnlineChangeMode is used to specify when modified cam plate data become active (see also MC_WriteMotionFunction and MC_WriteMotionFunctionPoint).
In both cases the following modes are possible:
MC_CAMACTIVATION_INSTANTANEOUS |
The change takes effect immediately. |
MC_CAMACTIVATION_ATMASTERCAMPOS |
The change takes effect at a certain cam plate position (master position within the cam plate). The command must be issued ahead of this position. |
MC_CAMACTIVATION_ATMASTERAXISPOS |
The change takes effect at a certain absolute position of the master axis. The command must be issued ahead of this position. |
MC_CAMACTIVATION_NEXTCYCLE |
For a cyclic cam plate, the change takes effect at the transition to the next period. |
MC_CAMACTIVATION_ASSOONASPOSSIBLE |
Modified cam plate data take effect as soon as system dynamics allow. |
MC_CAMACTIVATION_OFF |
Changes in cam plate data are ignored. |
MC_CAMACTIVATION_DELETEQUEUEDDATA |
Queued cam plate data are deleted. Data are queued if the change was requested at a certain master position or at the end of the cycle, for example. |
Coupling with cam plates
The function block MC_CamIn can be used to couple axes with cam plates. ActivationMode can optionally be used to specify from which position the slave axis becomes active.
MC_CAMACTIVATION_INSTANTANEOUS |
Cam plate coupling takes effect immediately, and the slave moves according to the cam plate data. |
MC_CAMACTIVATION_ATMASTERCAMPOS |
Cam plate coupling activation is suspended. The slave only moves from a defined cam plate position (master position within the cam plate) according to the cam plate data. |
MC_CAMACTIVATION_ATMASTERAXISPOS |
Cam plate coupling activation is suspended. The slave only moves from a defined absolute position of the mster axis according to the cam plate data. |
MC_CAMACTIVATION_NEXTCYCLE |
Cam plate coupling activation is suspended. The slave moves from the next cycle transition (for cyclic cam plates). |
MC_CAMACTIVATION_ATMASTERAXISPOS_POSITVEDIRECTION |
The cam will be activated when the master overruns the defined position in positive direction |
MC_CAMACTIVATION_ATMASTERAXISPOS_NEGATIVEDIRECTION |
The cam will be activated when the master overruns the defined position in negative direction |
Switching of cam plates
The function block MC_CamIn can be used to switch between cam plates in coupled state. ActivationMode can be used to specify from which position the changeover takes place.
MC_CAMACTIVATION_INSTANTANEOUS |
The cam plate is switched immediately, and the slave moves according to the new cam plate data. |
MC_CAMACTIVATION_ATMASTERCAMPOS |
Cam plate switching takes place at a defined cam plate position (master position within the cam plate). |
MC_CAMACTIVATION_ATMASTERAXISPOS |
Cam plate switching takes place at a defined absolute master axis position. |
MC_CAMACTIVATION_NEXTCYCLE |
For cyclic cam plates cam plate switching takes place at the next cycle transition. For linear cam plates the switchover takes place at the edges of a defined region. |
MC_CAMACTIVATION_DELETEQUEUEDDATA |
A suspended cam plate switching process that has not been activated is discarded. |
MC_CAMACTIVATION_ATMASTERAXISPOS_POSITVEDIRECTION |
The cam will be activated when the master overruns the defined position in positive direction |
MC_CAMACTIVATION_ATMASTERAXISPOS_NEGATIVEDIRECTION |
The cam will be activated when the master overruns the defined position in negative direction |