DataTypes ¶ Additional MC_CAMSWITCH_REF (Struct) MC_CAMSWITCH_TR (Struct) MC_OUTPUT_REF (Alias) MC_TAPPETMODE (Enum) MC_TRACK_REF (Alias) MC_TRACK_TR (Struct) TRIGGER_REF (Struct) Administrative/Configuration SMC3_BrakeSetState (Enum) SMC3_PersistPositionDiag (Enum) SMC3_PersistPositionLogical_Data (Struct) SMC3_PersistPositionSingleturn_Data (Struct) SMC3_PersistPosition_Data (Struct) CAM CamSegment SMC_CAM_SEGMENT (Struct) MC_CAM_ID (Struct) MC_CAM_REF (FunctionBlock) MC_STARTMODE (Enum) SMC_CAMTAPPETACTION (Enum) SMC_CAMTAPPETTYPE (Enum) SMC_CAMTable_LREAL_128_1 (Struct) SMC_CAMTable_LREAL_128_2 (Struct) SMC_CAMTable_LREAL_256_1 (Struct) SMC_CAMTable_LREAL_256_2 (Struct) SMC_CAMTable_REAL_128_1 (Struct) SMC_CAMTable_REAL_128_2 (Struct) SMC_CAMTable_REAL_256_1 (Struct) SMC_CAMTable_REAL_256_2 (Struct) SMC_CAMTable_UDINT_128_1 (Struct) SMC_CAMTable_UDINT_128_2 (Struct) SMC_CAMTable_UDINT_256_1 (Struct) SMC_CAMTable_UDINT_256_2 (Struct) SMC_CAMTable_UINT_128_1 (Struct) SMC_CAMTable_UINT_128_2 (Struct) SMC_CAMTable_UINT_256_1 (Struct) SMC_CAMTable_UINT_256_2 (Struct) SMC_CAMTappet (Struct) SMC_CAMXYVA (Struct) SMC_CAM_TYPE (Enum) Diagnostics SMC_CommunicationState (Enum) SMC_LOGGERMODE (Enum) SMC_PerfTimers (Struct) SMC_SeriesSample (Struct) SMC_SeriesStats (Struct) DriveInterface MC_DIRECTION (Enum) SMC3_CaptureDescription (Struct) SMC3_CheckPositionLagMode (Enum) SMC3_DriveAcyclicTel (Struct) SMC3_MappingEntry (Alias) SMC3_ParamCommunicationMethod_Enum (Enum) SMC_AXIS_STATE (Enum) SMC_AXIS_TYPE (Enum) SMC_CONTROLLER_MODE (Enum) SMC_ENCODER_REF (Struct) SMC_FBERROR (Struct) SMC_MOVEMENTTYPE (Enum) SMC_RAMPTYPE (Enum) SMC_SWITCHING_STATE (Enum) SMC_ValueSelect (Enum) Movement MC_TA_REF (Struct) MC_TP_REF (Struct) MC_TV_REF (Struct) SMC_BACKLASH_MODE (Enum) SMC_BACKLASH_STARTSTATE (Enum) SMC_HOMING_MODE (Enum) SMC_TA (Struct) SMC_TP (Struct) SMC_TV (Struct)
Additional ¶ MC_CAMSWITCH_REF (Struct) MC_CAMSWITCH_TR (Struct) MC_OUTPUT_REF (Alias) MC_TAPPETMODE (Enum) MC_TRACK_REF (Alias) MC_TRACK_TR (Struct) TRIGGER_REF (Struct)
MC_CAMSWITCH_REF (STRUCT) ¶ TYPE MC_CAMSWITCH_REF : STRUCT This STRUCT describes a list of cam switches and is used as an input of MC_DigitalCamSwitch . InOut: Name Type Comment NoOfSwitches BYTE the number of MC_CAMSWITCH_TR to be evaluated CamSwitchPtr POINTER TO MC_CAMSWITCH_TR pointer to the first element of an array of MC_CAMSWITCH_TR
MC_STARTMODE (ENUM) ¶ TYPE MC_STARTMODE : InOut: Name Initial absolute 0 relative 1 ramp_in 2 ramp_in_pos 3 ramp_in_neg 4 ramp_in_dist 5
SMC_CAMTAPPETACTION (ENUM) ¶ TYPE SMC_CAMTAPPETACTION : This ENUM determines what switching action is executed when the tapped is passed. InOut: Name Initial Comment TAPPETACTION_on 0 Switches on. TAPPETACTION_off Switches off. TAPPETACTION_inv Inverts. TAPPETACTION_time Switches on after a delay for a certain time period.
SMC_CAMTAPPETTYPE (ENUM) ¶ TYPE SMC_CAMTAPPETTYPE : Determines in which direction the tappet has to be passed. InOut: Name Comment TAPPET_pos Tappet action active when the axis passes in positive direction. TAPPET_all Tappet action active when the axis passes in any direction. TAPPET_neg Tappet action active when the axis passes in negative direction.
SMC_CAMTable_LREAL_128_1 (STRUCT) ¶ TYPE SMC_CAMTable_LREAL_128_1 : STRUCT This STRUCT represents an equidistant curve table. The table can handle 128 elements of type LREAL . The values provided for the equidistant curve table have two different units: Technical and table units. This can be used for scaling and offset purposes. For equidistant curve tables, only the slave values are scaled and an offset is applied: fSlaveScale = (fEditorSlaveMax - fEditorSlaveMin) / (fTableSlaveMax - fTableSlaveMin) fSlaveOffset = fEditorSlaveMin - (fTableSlaveMin * fSlaveScale) The slave value in technical units is then calculated as follows: fSlaveValue = fSlaveValueTableUnit * fSlaveScale + fSlaveOffset Example fTableSlaveMin = 0 fTableSlaveMax = 1 fEditorSlaveMin = 180 fEditorSlaveMax = 270 A slave value of 0.5 in table units will result in a slave value of 225 in technical units. Note Equidistant curve tables do not perform a scaling for the master values. The values fTableMasterMin , fTableMasterMax , fEditorMasterMin and fEditorMasterMax are not used. Note Equidistant curve tables created with the cam editor will always have equal values for the table and editor values (i.e. no scaling is done). InOut: Name Type Comment Table ARRAY [0..127] OF LREAL Array of slave positions in table units. The array must start with the slave position related to the master start position and end with the slave position related to the master end position (see xStart and xEnd of MC_CAM_REF ). fEditorMasterMin REAL The minimum master value in technical units. fEditorMasterMax REAL The maximum master value in technical units. fEditorSlaveMin REAL The minimum slave value in technical units. fEditorSlaveMax REAL The maximum slave value in technical units. fTableMasterMin REAL The minimum master value in table units. fTableMasterMax REAL The maximum master value in table units. fTableSlaveMin REAL The minimum slave value in table units. fTableSlaveMax REAL The maximum slave value in table units.
SMC_CAMTable_LREAL_128_2 (STRUCT) ¶ TYPE SMC_CAMTable_LREAL_128_2 : STRUCT This STRUCT represents a non equidistant curve table. The table can handle 128 elements of type LREAL . The values provided for the non equidistant curve table have two different units: Technical and table units. This can be used for scaling and offset purposes. Non equidistant curve tables scale both the slave and master values. How the scaling factor and offset is calculated, is shown as an example for the slave values. The same formulas are used to calculate the corresponding values for the master values. fSlaveScale = (fEditorSlaveMax - fEditorSlaveMin) / (fTableSlaveMax - fTableSlaveMin) fSlaveOffset = fEditorSlaveMin - (fTableSlaveMin * fSlaveScale) The slave value in technical units is then calculated as follows: fSlaveValue = fSlaveValueTableUnit * fSlaveScale + fSlaveOffset Example fTableMasterMin = 0 fTableMasterMax = 1 fEditorMasterMin = 2 fEditorMasterMax = 4 A master value of 0.5 in table units will result in a master value of 3 in technical units. Note Non equidistant curve tables created with the cam editor will always have equal values for the table and editor values (i.e. no scaling is done). InOut: Name Type Comment Table ARRAY [0..127] OF ARRAY [0..1] OF LREAL Array of master/slave position pairs in table units. Index 0 refers to the master, index 1 to the slave. The master values in the array must be filled in ascending order and must start with the master start position and end with the master end position. For each master value, the corresponding slave value must be set. fEditorMasterMin REAL The minimum master value in technical units. fEditorMasterMax REAL The maximum master value in technical units. fEditorSlaveMin REAL The minimum slave value in technical units. fEditorSlaveMax REAL The maximum slave value in technical units. fTableMasterMin REAL The minimum master value in table units. fTableMasterMax REAL The maximum master value in table units. fTableSlaveMin REAL The minimum slave value in table units. fTableSlaveMax REAL The maximum slave value in table units.
SMC_CAMTable_LREAL_256_1 (STRUCT) ¶ TYPE SMC_CAMTable_LREAL_256_1 : STRUCT This STRUCT represents an equidistant curve table. The table can handle 256 elements of type LREAL . Note For information about technical and table units please see the documentation of SMC_CAMTable_LREAL_128_1 . InOut: Name Type Comment Table ARRAY [0..255] OF LREAL Array of slave positions in table units. The array must start with the slave position related to the master start position and end with the slave position related to the master end position (see xStart and xEnd of MC_CAM_REF ). fEditorMasterMin REAL The minimum master value in technical units. fEditorMasterMax REAL The maximum master value in technical units. fEditorSlaveMin REAL The minimum slave value in technical units. fEditorSlaveMax REAL The maximum slave value in technical units. fTableMasterMin REAL The minimum master value in table units. fTableMasterMax REAL The maximum master value in table units. fTableSlaveMin REAL The minimum slave value in table units. fTableSlaveMax REAL The maximum slave value in table units.
MC_CAMSWITCH_TR (STRUCT) ¶ TYPE MC_CAMSWITCH_TR : STRUCT This STRUCT describes the switch positions of the tappets. InOut: Name Type Comment TrackNumber INT Number of the output; several position ranges per output are possible. [1..32] FirstOnPosition LREAL If moving in positive direction, the first position where the switch is on, otherwise the last; may be > LastOnPosition which results in an “inverted” switch LastOnPosition LREAL If moving in positive direction, the last position where the switch is on, otherwise the first; Used only in case CamSwitchMode = 0 AxisDirection INT 0 = The output is switched in two directions, 1 = The output is only switched in positive direction, 2 = The output is only switched in negative direction CamSwitchMode INT 0 = The tappets are calculated position-based; 1 = The tappets are calculated time-based, whereby only the value of FirstOnPosition will be used and the output stays TRUE for the given time ( Duration ). Duration TIME Period of time for which the tappet output stays TRUE in case of CAMSwitchMode = 1 . bOn BOOL internal; used by MC_DigitalCamSwitch CounterOff INT internal; used by MC_DigitalCamSwitch