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

Die Datenstruktur MC_CamInfoData enthält Daten zum aktuellen Zustand einer Kurvenscheibenkopplung. Die Daten werden mit dem Funktionsbaustein MC_CamInfo ermittelt.

Die Struktur enthält zum einen absolute Achspositionen, die sich auf das Master- oder Slave-Achskoordinatensystem beziehen. Zum anderen sind Kurvenscheibenpositionen enthalten, die sich auf das Kurvenscheibenkoordinatensystem beziehen (z. B. ActualMasterCamPos und ActualSlaveCamPos). Alle Cam-Positionen beziehen sich auf das unskalierte Kurvenscheibenkoordinatensystem und können bei Bedarf auf das skalierte Koordinatensystem umgerechnet werden. Eine Master-Cam-Position kann mit dem Master-Skalierungsfaktor MasterScaling multipliziert und eine Slave-Cam-Position mit SlaveScaling multipliziert werden.

Die Aktivierungspositionen ActivationPos werden je nach ActivationMode auf das Master-Achskoordinatensystem oder auf das Kurvenscheibenkoordinatensystem bezogen. Im letzten Fall wird eine unskalierte Kurvenscheibenposition angegeben.