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