ItpWriteZeroShift

ItpWriteZeroShift 1:

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

For reasons of compatibility every zero offset shift that can be set has two parameters (coarse and fine) for each axis. When using this function block to write a new zero offset 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 ItpReadZeroShift to read and modify a zero offset shift and to send it back to the NC.

ItpWriteZeroShift 2:

Outdated version

The sole purpose of the function block is to ensure compatibility with existing projects. For new projects please use the function block ItpWriteZeroShiftEx.

ItpWriteZeroShift 3: Inputs

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

Name

Type

Description

bExecute

BOOL

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

nChnId

UDINT

Channel ID

nZsNo

UDINT

Number of the zero offset shift

On the NC side G54 to G59 are zero offset shifts; 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

TIME

ADS Timeout-Delay

ItpWriteZeroShift 4:/ItpWriteZeroShift 5: Inputs/Outputs

VAR_IN_OUT
    sZeroShiftDesc : ZeroShiftDesc;
END_VAR

Name

Type

Description

sZeroShiftDesc

ZeroShiftDesc

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

ItpWriteZeroShift 6: Outputs

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

Name

Type

Description

bBusy

BOOL

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

BOOL

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

UDINT

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).

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

See also:

Requirements

Development environment

Target platform

PLC libraries to be linked

TwinCAT v3.1.0

PC or CX (x86 or x64)

Tc2_NCI