Use of MC_CamIn

‘MC_CamIn.startmode’

HLI_CI_RAMP_IN            : HLI_UNS32:= 16#00000001; 
HLI_CI_ABSOLUTE           : HLI_UNS32:= 16#00000002; 
HLI_CI_RELATIVE           : HLI_UNS32:= 16#00000004;

Ramp-In and Absolute are always used. This is why these three bits currently have no effect.

HLI_CI_LOCK_TABLE         : HLI_UNS32:= 16#00000008;

Specifies whether the table used for online value modification during coupling is locked. This should always be set for table data type to which atomic access is not possible. Otherwise, the problem of simultaneous memory access must be observed.

HLI_CI_F_PERIODIC         : HLI_UNS32:= 16#00000010;

If this flag is not set for MC_CamIn, the stored cam is run through exactly once per rising edge of ‘MC_CamIn.Execute’. Travel over the cam is synchronised to the modulo passing through of the master position. If the slave axis is not already on the start position of the cam table, the slave axis is drawn immediately to the cam's starting position at rising edge of ‘MC_CamIn.Execute’ and stays there until the master axis passes through zero the next time. From there, the cam profile is run through precisely once. If ‘MC_CamIn.Execute’ is triggered again during the cycle, the cam is run through a further time as if ‘periodic’ would be TRUE. Without re-triggering the slave axis is decoupled from the master axis at the end of the CAM-table. This means, that the slave axis is stopped immediately, if it is not in standstill already.

If the cam has been modelled for an endlessly rotating slave axis, in connection with the use of interpolation point interpolation (‘MC_CamIn.TableFctType’ = HLI_LINEAR or HLI_POLYNOM_3), it is necessary to specify in which direction modulo correction is to take place.

If the cam has been modelled so that it passed through the slave's modulo range in the positive direction, in ‘MC_CamIn.Startmode’ the bit:

HLI_CI_ENDLESS_POSITIVE     : HLI_UNS32:= 16#0x00000020;

must be ORed.

If the cam passes through the modulo range of the slave axis in the negative direction, in ‘MC_CamIn.startmode’ the bit:

HLI_CI_ENDLESS_NEGATIVE     : HLI_UNS32:= 16#0x00000040;

must be set.

The manufacturer-specific ‘MC_CamIn.table_fkt_type’ input to the PLCopen FB specifies how interpolation takes place between two table interpolation points:

HLI_STEP_DIRECT            : HLI_UNS32 := 0;

The position entry of the slave axis ssi is output within the position interval of the master axis smi, smi+1.

HLI_LINEAR                 : HLI_UNS32 := 1;

Within the master axis position interval smi, smi+1, interpolation takes place in linear fashion between the slave position entries ssi, ssi+1.

HLI_POLYNOM_3              : HLI_UNS32 := 2;

Within the master axis position interval smi, smi+1, a constant-tangent, cubic Bezier spline is interpolated between the four neighbouring slave axis position entries ssi-1,ssi, ssi+1, ssi+2. Polynomial coefficient calculation takes place online.

HLI_POLYNOM_3_KOEFF        : HLI_UNS32 := 3;

Within the position interval of the master axis smi, smi+1, the position entry of the slave axis ssi (line with four values ai) consists of the coefficients of a polynomial with the format

X = a0 + a1t + a2t2 + a3t3.

Polynomial coefficient calculation therefore takes place offline.

LINE_POLY5          : HLI_UNS32 := 4;

Motion segments alternating between LINE and POLY5, starting with LINE

POLY5_LINE          : HLI_UNS32 := 5;

Motion segments alternating between LINE and POLY5, starting with POLY5

TABLE_DEFINED       : HLI_UNS32 := 6;

The interpolation type is defined within the table.

Behavior of MC_CamIn:

Both, when the master axis is already running and it is in ‘StandStill’, a so-called amplitude-true ramp-in takes place.

Engaging a cam on a running master shaft corresponds to the following mechanical analogy: The coupling has slip until the cam to be driven along with it is at the right speed. The cam is then brought to the right position.

Use of MC_CamIn 1:

The following parameters of achsmds.lis influence this behavior:

Synchronisation of the speed is jerk-limited. The ‘jerk’ value must be set in the ‘cam_gear.j_vel_sync’ parameter in the axis MDS. Values that correspond to a minimum ramp time of TA (cycle time of the IPO, e.g. 2 ms) and a maximum ramp time of 100s make sense as the ‘jerk’. The limit transition to non-jerk-limited speed realization lies at the minimum ramp time of TA. In the case of a value of 0, the maximum ramp time from the axis MDS is used to determine the ‘jerk’.

The automatic phasing after reaching synchronization of velocity is also jerk-limited. For the slave axis the following parameters are necessary to be set: