ItpWriteZeroShiftEx

ItpWriteZeroShiftEx 1:

The function block ItpWriteZeroShiftEx writes the shift components X, Y and Z for the specified zero shift.

VAR_INPUT

VAR_INPUT
    bExecute       : BOOL;
    nZsNo          : UDINT;
    tTimeOut       : TIME;
END_VAR

bExecute: The command is triggered by a rising edge at this input.

nZsNo: Number of the zero shift.

G54 to G59 are zero shifts at the NC. G58 and G59 can only be edited from the NC program. The valid range of values for 'nZsNo' is therefore from 54 to 57.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUT

VAR_IN_OUT
    sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;
    sZeroShiftDesc : ZeroShiftDesc;
END_VAR

sNciToPlc: The structure of the cyclic channel interface from the NCI to the PLC. This structure is only accessed for reading. (type: NCTOPLC_NCICHANNEL_REF)

sZeroShiftDesc: The structure containing the components of the zero shift. This structure is only accessed for reading.

TYPE ZeroShiftDesc:
STRUCT
    fShiftX        : LREAL;
    fShiftY        : LREAL;
    fShiftZ        : LREAL;
END_STRUCT
END_TYPE

VAR_OUTPUT

VAR_OUTPUT
    bBusy     : BOOL;
    bErr      : BOOL;
    nErrId    : UDINT;
END_VAR

bBusy: This output remains TRUE until the function block has executed a command, but at the longest for the duration supplied to the 'Timeout' input. While Busy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored.

bErr: This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrId’. Is reset to FALSE by the execution of a command at the inputs.

nErrId: Contains the command-specific error code of the most recently executed command. Is reset to 0 by the execution of a command at the inputs. The error numbers in ErrId can be looked up in the ADS error documentation or in the NC error documentation (error codes above 0x4000).

ItpWriteZeroShiftEx 2:

For reasons of compatibility every zero shift that can be set has two parameters (coarse and fine) for each axis. When using this function block to write a new zero shift, the new value is written into the 'fine parameter'. A value of 0.0 is entered into the 'coarse parameter'.

This makes it possible to use a function block such as ItpReadZeroShiftEx to read and modify a zero shift and to send it back to the NC.

See also:

Requirements

Development environment

Target platform

PLC libraries to be linked

TwinCAT v3.1.0

PC or CX (x86 or x64)

Tc2_NCI