MC_CamInfoData

TYPE MC_CamInfoData :
STRUCT
   CamTableId                   : MC_CAM_ID;
   TableType                    : MC_TableType;
   Periodic                     : BOOL;
   InterpolationType            : MC_InterpolationType;
   NumberOfRows                 : UDINT; (* number of cam table entries, e. g. number of points *)
   NumberOfColumns              : UDINT; (* number of table columns, typically 1 or 2 *)
   MasterAxisId                 : UDINT; (* AxisId of the master axis *)
   SlaveAxisId                  : UDINT; (* AxisId of the slave axis *)
   MasterCamStartPos            : LREAL; (* Master pos. of the first cam table point (raw, unscaled cam table pos.) *)
   SlaveCamStartPos             : LREAL; (* Slave pos. of the first cam table point (raw, unscaled cam table pos.) *)
   RawMasterPeriod              : LREAL; (* raw, unscaled difference between last and first cam point *)
   RawSlaveStroke               : LREAL; (* raw, unscaled difference between last and first cam point *)
   MasterAxisCouplingPos        : LREAL; (* Master axis position when slave has been coupled *)
   SlaveAxisCouplingPos         : LREAL; (* Slave axis position when slave has been coupled *)
   MasterAbsolute               : BOOL;  (* raw, unscaled distance from first to last master cam table position *)
   SlaveAbsolute                : BOOL;  (* raw, unscaled distance from first to last slave cam table position *)
   MasterOffset                 : LREAL; (* total master offset *)
   SlaveOffset                  : LREAL; (* total slave offset *)
   MasterScaling                : LREAL; (* total master scaling factor *)
   SlaveScaling                 : LREAL; (* total slave scaling factor *)
   SumOfSlaveStrokes            : LREAL; (* sum of the slave strokes up to ActualMasterAxisPos *)
   SumOfSuperpositionDistance   : LREAL; (* sum of additional moves through MC_MoveSuperimposed *)
   ActualMasterAxisPos          : LREAL; (* absolute set position of the master axis *)
   ActualSlaveAxisPos           : LREAL; (* absolute set position of the slave axis *)
   ActualMasterCamPos           : LREAL; (* raw, unscaled cam table position of the master *)
   ActualSlaveCamPos            : LREAL; (* raw, unscaled cam table position of the slave *)

   (* mode for the scaling of cam tables *)
   ScalingPending               : BOOL;  (* a change is currently pending *)
   ScalingActivationMode        : MC_CamActivationMode;
   ScalingActivationPos         : LREAL;
   ScalingMasterScalingMode     : MC_CamScalingMode;
   ScalingSlaveScalingMode      : MC_CamScalingMode;

   (* mode for online changes of cam table data *)
   CamDataQueued                : BOOL;  (* a change is currently pending *)
   OnlineChangeActivationMode   : MC_CamActivationMode;
   OnlineChangeActivationPos    : LREAL;
   OnlineChangeMasterScalingMode: MC_CamScalingMode;
   OnlineChangeSlaveScalingMode : MC_CamScalingMode;

   (* mode for exchanging cam tables with MC_CamIn *)
   CamTableQueued               : BOOL;  (* a change is currently pending *)
   CamExchangeCamTableID        : MC_CAM_ID;
   CamExchangeActivationMode    : MC_CamActivationMode;
   CamExchangeActivationPos     : LREAL;
   CamExchangeMasterScalingMode : MC_CamScalingMode;
   CamExchangeSlaveScalingMode  : MC_CamScalingMode;
END_STRUCT
END_TYPE

The MC_CamInfoData data structure contains data on the current state of a cam plate coupling. The data are determined with the MC_CamInfo function block.

The structure contains absolute axis positions which refer to the master or slave axis coordinate system. It also contains cam plate positions which refer to the cam plate coordinate system (e.g. ActualMasterCamPos and ActualSlaveCamPos). All cam positions refer to the non-scaled cam plate coordinate system and can be converted to the scaled coordinate system, if required. A master cam position can be multiplied with the MasterScaling factor and a slave cam position can be multiplied with the SlaveScaling factor.

The ActivationPos activation positions refer to the master axis coordinate system or the cam plate coordinate system, depending on the ActivationMode. In the latter case, an unscaled cam plate position is specified.