Classification of tool data

Tool data for every tool consists of data on the tool length, tool radius and tool axis offsets, a validity identifier, a tool dimensional unit and the tool dynamic data. The field index to be stated for tool axis offsets corresponds to the channel internal axis indexing (Fig. 1.1, dec_achs_nr). The initial axis configuration of the NC channel is fixed in the channel parameters [CHAN].

Figure 1.1: Assignment of tool axis offsets to the logical axes

If the axis configuration is modified by axis exchange command (#CALL AX, #PUT AX, SET AX [PROG]), also the allocation of tool axis offsets to logical axes changes (Fig. 1.2).

Fig 1.2: Allocation of tool axis offsets to logical axes

The allocation of the tool length to one of the axis is described in [PROG].

In the moment only axis configurations with one axis group are possible [CHAN]. Therefore "dec_achs_nr" = "achsen_idx".

Value ranges of parameters, if necessary, are also defined by stating a limit that is obtained on the basis of the data format, e.g. MAX(UNS32), etc.


Syntax and interpretation of the tool data ASCII file

The tool data are defined in an ASCII-file and interpreted by an ASCII interpreter and stored in the appropriate structures.

After that plausibility tests are carried out for the tool data.

This document defines the content and the syntax of the ASCII-Files (e.g. "werkz_d*.lis") as well as the elements of the tool data.

For tool data of data type BOOLEAN, the following agreement is used:

Value | Significance
0 | Definition of FALSE
1 | Definition of TRUE


Comments in the ASCII file

Comments can be whole-lined or can be added at the end of a line.

In the case of whole-lined comments, at the beginning of the line the comment character # must be added followed by a space character.

If at the end of a line a comment is to be added, then in front of the comment, at least one space character must be there. If, however, in the line a string is defined, then the comment character ( must precede the comment.

Blank lines are also possible.

Example:

# ************************************************************************

# Data

# ************************************************************************

#

# Listing

dummy[1] 1 Comment

dummy[2] 1 # Comment

dummy[3] 1 ( Comment

dummy[4] 1 /* Comment

...

...

example[0].name STRING_2 (Comment, here comment brackets necessary !)


Data relating to a tool (wz[i].*)

In the structure "wz[i] the data of a tool is determined with the number i.

Variable name | Type | Index | Dimension
wz[i] | WERKZEUG | i = 0 ... [DEC_WZ_DATA_ANZ-1] | ----

Value DEC_WZ_DATA_ANZ | Significance
application-dependent | No. of tool data blocks

The following relationship exists between the D-function and the tool data index i.

D-Function | Tool data index "i"
D 0 | 0
D 1 | 1
D 2 | 2
D 3 | 3
D 4 | 4
D 5 | 5
D 6 | 6
D 7 | 7

The tool data index "i" thus corresponds to the tool number programmed in the NC-program using the D-command.

The data of the tool with the tool data index "0" are initialized after the interpretation of the ASCII file. Thus, with the programming of D0 in the NC-program, no tool axis offsets are considered in the traverse movements.

More:

button Type (P-TOOL-00001)

button Cutter orientation ident. code (P-TOOL-00002)

button Tool length (P-TOOL-00003)

button Tool radius (P-TOOL-00004)

button Validity flag (P-TOOL-00005)

button Axis offset (P-TOOL-00006)

button Additional tool parameter (P-TOOL-00007)

button Unit of tool data (P-TOOL-00008)

button Kinematic parameters (P-TOOL-00009)

button Tool fixed / alignable (P-TOOL-00010)

button Kinematics-ID (P-TOOL-00011)

button Tool dynamic data and gear data

button Data for grinding applications

button Data for visualisation and collision monitoring


Type (P-TOOL-00001)

To differentiate between milling, turning and grinding tools, the parameter "wz[i].typ" is allocated.

Variable name | Type | Permissible range | Dimension
typ | UNS16 | 0/1 | ----

Value | Significance
0 | Milling tool
1 | Turning tool
2 | Grinding tool

EXAMPLE: Tool 5 is a milling tool

Extract from "werkz_d.lis":

# ==========================================================================

# tool data for tool no. 5

# ==========================================================================

wz[5].typ 0 # Milling tool

..........

#


Cutter orientation ident. code (P-TOOL-00002)

For turning tools (wz[i].typ = 1) the orientation of the cutter with respect to the machining plane has to be specified through the parameter "wz[i].srk_lage". (Fig. 2.1).

Variable name | Type | Permissible range | Dimension
srk_lage | UNS16 | 0 < srk_lage < 9 | ----

Detailed information on machining with turning tools is to be found in [PROG].

Figure 2.1: Ident. codes 1...9 for the orientation of turning tool tip in the machining plane.

EXAMPLE: The orientation of the cutter tip of tool 6 is described by the identification code 3.

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 6

# ==========================================================================

wz[6].typ 1 # Turning tool

wz[6].srk_lage 3 # Cutter position 3

........

#


Tool length (P-TOOL-00003)

Tool length is entered in the parameter "wz[i].laenge".

Variable name | Type | Permissible range | Dimension
laenge | SGN32 | MIN(SGN32) < laenge < MAX(SGN32) | 0,1 µm or 0,0001 inch

The tool length is expected in the unit [0,1µm] or [0,0001 inch].

EXAMPLE: The length of tool 5 is 60 mm.

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].laenge 600000 # Tool length 60 mm

........


Tool radius (P-TOOL-00004)

Tool radius is entered in the parameter "wz[i].radius".

Variable name | Type | Permissible range | Dimension
radius | SGN32 | MIN(SGN32) < radius < MAX(SGN32) | 0,1 µm or. 0,0001 inch

Tool radius expected in the unit [0,1µm] or [0,0001 inch].

EXAMPLE: Radius of tool 5 is 20 mm.

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].radius 200000 # Tool radius 20 mm

............


Validity flag (P-TOOL-00005)

If the data of a tool is allowed to be included, then the validity flag "wz[i].gueltig" must be set to TRUE in the ASCII file.

Variable name | Type | Permissible range | Dimension
gueltig | BOOLEAN | 0/1 | ----

Example: The data of tool 5 should be set to be valid.

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].gueltig 1 # Tool validity flag is TRUE

..........


Axis offset (P-TOOL-00006)

For each tool "i" every axis "j" has an offset parameter "wz[i].ax_versatz[j]".

Variable name | Type | Permissible range | Dimension
ax_versatz[j] | SGN32 | MIN(SGN32) < ax_versatz[j] < MAX(SGN32) | 0,1 µm or 0,0001 inch
j | UNS16 | 0 ... [SDA_GRPMAX * SDA_AXMAX -1] | ----

Constant | Value | Significance
SDA_GRPMAX | 1 | Maximum no. of groups, at the moment, only the value 1 is permitted
SDA_AXMAX | application-dependent | Maximum no. of axes per group

The tool axis offsets will be expected in the unit [0,1µm] or [0,0001°].

With active kinematic transformation axis specific tool offsets in "ax_versatz[j]" are only taken into consideration if axes are not influenced by transformation function.

For RTCP transformation type these axes are all axes above the first three axes with index 0 to 2.

EXAMPLE: The tool axis offsets are: 205 mm for the first axis, 206 mm for the second, 307 mm for the third and -408 mm for the fourth axis.

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].ax_versatz[0] 2050000 # Offset 1st axis 205 mm

wz[5].ax_versatz[1] 2060000 # Offset 2nd axis 206 mm

wz[5].ax_versatz[2] 3070000 # Offset 3rd axis 307 mm

wz[5].ax_versatz[3] -4080000 # Offset 4th axis -408 mm

..........


Additional tool parameter (P-TOOL-00007)

With the element "wz[i].param[j]", additional parameters for each tool can be defined application dependent.

Variable name | Type | Permissible range | Dimension
param[j] | REAL64 | MIN(REAL64) < param[j] < MAX(REAL64) | ----
j | UNS16 | 0 ... [ WZ_PARAM_ANZ - 1 ] | ----

Value WZ_PARAM_ANZ | Significance
application-dependent | No. of additional info variables per tool

EXAMPLE: The tool parameters of tool 5 should be allocated in the following manner:

Extract from "werkz_d.lis":

# =============================================================================

# Tool data for tool no. 5

# =============================================================================

wz[5].param[0] 1 # Additional

wz[5].param[1] 20.5 # tool parameters

wz[5].param[2] 120 # for tool 5

..........


Unit of tool data (P-TOOL-00008)

The parameter "wz[i].mass_einheit" defines the unit of the tool data.

Variable name | Type | Permissible range | Dimension
mass_einheit | UNS16 | 0/1 | ----

Value | Significance
0 | Dimensional unit is millimeter
1 | Dimensional unit is inch

EXAMPLE: The tool data will be stated in the unit "millimeter".

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].mass_einheit 0 # tool data unit MM

..........


Kinematic parameters (P-TOOL-00009)

The parameters "wz[i].kinematic.param[j]" serve for tool dependent parameterizing of the kinematics transformation (RTCP / TLC / TOOL ORI CS [PROG]). Their allocation will be defined application specific.

Parameter name from V263:

Variable name | Type | Permissible range | Dimension
kinematic.param[j] | SGN32 | MIN(SGN32) < kinematic.param[j] < MAX(SGN32) | 0,1 µm or. 0,0001 inch
j | UNS16 | 0 ... [KOPF_VERSATZ_MAX - 1] |

Parameter name to V260:

wz_kopf_versatz[j] | SGN32 | MIN(SGN32) < wz_kopf_versatz[j] < MAX(SGN32) | 0,1 µm or. 0,0001 inch
j | UNS16 | 0 ... [KOPF_VERSATZ_MAX - 1] | ----

Value KOPF_VERSATZ_MAX | Significance
application-dependent | Maximum number of kinematic parameters

Additionally there is the possibility to define kinematic parameters for each kinematics in the channel parameters P-CHAN-00094. If an element is allocated in both lists, the CNC will perform an addition of the stated values.

Detailed information about 5-axes machining are to be found in [PROG].

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

wz[5].kinematic.param[0] 1538000 # Tool head offset 1: 153,8 mm

wz[5].kinematic.param[1] 25000 # Tool head offset 2: 2,5 mm

wz[5].kinematic.param[2] 0 # Tool head offset 3: 0 mm

wz[5].kinematic.param[5] 900000 # Tool head offset 3; 90 mm

..........


Tool fixed / alignable (P-TOOL-00010)

The parameter "wz[i].tool_fixed" will be assigned with TRUE, if, in combination with the functionality "Machining Coordinate System" [PROG], the tool's orientation relative to the machine-axes coordinate system, cannot (e.g. because of not existing rotary axes) or should not be altered. In this case the tool axes offsets ("wz[i].ax_versatz[j]"), as components of the tool offset vector, always relate to the machine axes.

Variable name | Type | Permissible range | Dimension
tool_fixed | BOOLEAN | 0/1 | ----

For measurement in a machining coordinate system [PROG] by the parameter tool_fixed it will be stated whether the probe is aligned in parallel to the axes of the rotated coordinate system.

Extract from "werkz_d.lis":

# ==========================================================================

Tool data for tool no. 5

# ==========================================================================

wz[5].tool_fixed 1 # tool fixed

..........


Kinematics-ID (P-TOOL-00011)

The kinematics-ID serves for identifying the machine- resp. tool head specific kinematics types implemented in the CNC.

By allocation of the element "wz[i].kin_id" the kinematics transformation to be used for the tool will be stated. Assigned with 0, the kinematics-ID results from the default setting in the channel parameters [CHAN] resp. from the programming in NC-program.

Variable name | Type | Permissible range | Dimension
kin_id | UNS16 | 0 < kin_id < MAX(UNS16) | ----

Detailed information about machine kinematics and 5-axis-machining are to be found in [PROG].

Extract from "werkz_d.lis":

# ==========================================================================

Tool data for tool no. 5

# ==========================================================================

wz[5].kin_id 6 # kinematics-ID

..........


Tool dynamic data and gear data

Dependend on the application sometimes it is necessary, to define specific dynamic data for some tools. This data are used in the spindle for the limitation of speed and acceleration during machining. To be able to transmit the dynamic data to the spindle with the assigned tool, the declaration of the logical axis number of the spindle is necessary.

More:

button Logical spindle axis number (P-TOOL-00012)

button Minimum/maximum speed (P-TOOL-00013 / P-TOOL-00014)

button Maximum acceleration (P-TOOL-00015)

button Gear ratio of a tool (P-TOOL-00016 / P-TOOL-00017)

button Reversal of rotation direction by gear (P-TOOL-00018)

button Inversion of rotation direction without spindle standstill (P-TOOL-00019)


Logical spindle axis number (P-TOOL-00012)

The dynamic data of the tool are assigned via the logical axis number to the spindle, which should move the tool after the tool change. If the logical axis number is not entered or set to zero, no dynamic data are transmitted to the spindle.

Variable name | Type | Permissible range | Dimension
log_ax_nr_spdl | UNS16 | 0 < log_ax_nr_spdl < MAX(UNS16) | ----


Minimum/maximum speed (P-TOOL-00013 / P-TOOL-00014)

Variable name | Type | Permissible range | Dimension
vb_min/vb_max | UNS32 | 0 < vb_min/vb_max < MAX(UNS32) | 0,001°/s

The limitation on the minimum speed vb_min is only done for endless turning.


Maximum acceleration (P-TOOL-00015)

Variable name | Type | Permissible range | Dimension
a_max | UNS32 | 0 < a_max < MAX(UNS32) | °/s2

Extract from "werkz_d.lis":

# ==========================================================================

# Tool data for tool no. 5

# ==========================================================================

..........

wz[5].log_ax_nr_spdl 6 # Logical axis number of spindle

wz[5].vb_min 60000 # Minimum speed

wz[5].vb_max 3000000 # Maximum speed

wz[5].a_max 3000 # Maximum acceleration

..........


Gear ratio of a tool (P-TOOL-00016 / P-TOOL-00017)

If the tool has a gear, the ratio can be set in the parameters gear_ratio_num and gear_ratio_denom. As soon as the tool is changed, in position controller a gear switch is executed. Thus the gear ratio has not to take into consideration on programming of the tool speed. A change of a tool with a gear is only allowed if the spindle is stopped (P-TOOL-00012). If the numerator or the denominator is 0, no gear switching is executed.

P-TOOL-00016:

Variable name | Type | Permissible range | Dimension
gear_ratio_num | SGN32 | 0 <= gear_ratio_num <= MAX(SGN32) | ----

P-TOOL-00017:

Variable name | Type | Permissible range | Dimension
gear_ratio_denom | SGN32 | 0 <= gear_ratio_denom <= MAX(SGN32) | ----


Reversal of rotation direction by gear (P-TOOL-00018)

If the direction of rotation is changed by the tool gear, by setting of the parameter gear_inv_direction to 1 a change of the rotation direction in the position controller can be defined. This is executed as soon as a tool change is performed.

Variable name | Type | Permissible range | Dimension
gear_inv_direction | BOOLEAN | 0/1 | ----


Inversion of rotation direction without spindle standstill (P-TOOL-00019)

An exchange of a tool with a gear which inverses movement direction (s. P-TOOL-00018) requires a spindle stop. Otherwise the CNC generates the error message P-ERR-60290. If the parameter gear_inv_direction_no_stop = 1 is set, the evaluation of the tool rotation direction is delayed to the next programmed spindle direction change (M03 -> M04 or M04 -> M03). The spindle does not stop! For example this is useful for aggregates with several, simultaneously rotating tools. The default setting is gear_inv_direction_no_stop = 0.

Variable name | Type | Permissible range | Dimension
gear_inv_direction_no_stop | BOOLEAN | 0 / 1 | ----

This parameter may only be used, if the programmed D/T word does not implicate a physical tool change (e.g. several drills/milling tools on one aggregate)!


Data for grinding applications

For grinding and in this context the consideration and monitoring of the tool wear (e.g. grinding disc) the following parameters are available.

More:

button Wear constant (P-TOOL-00030)

button Maximum discrete infeed (P-TOOL-00031)

button Tilt angle of the grinding disc (P-TOOL-00032)


Wear constant (P-TOOL-00030)

The wear constant is used for the calculation of continuous wear. It can also be programmed alternatively in the NC program.

Variable name | Type | Permissible range | Dimension
grinding_wear_const | REAL64 | 0 ≤ grinding_wear_const | 0,1µm /m

The wear constant should contain small values. There is no special dynamical consideration based on the generated wear.


Maximum discrete infeed (P-TOOL-00031)

The maximum discrete input is the greatest relative modification which can be assigned through the PLC.

Variable name | Type | Permissible range | Dimension
grinding_max_infeed | REAL64 | MIN(SGN32) ≤ grinding_max_infeed ≤ MAX(SGN32) | 0,1µm


Tilt angle of the grinding disc (P-TOOL-00032)

For inclined grinding discs this parameter defines the angle between the centre line of the grinding disc and the 3rd main axis.

Variable name | Type | Permissible range | Dimension
grinding_tilt_angle | REAL64 | -45°≤ grinding_tilt_angle ≤ 45° | 0,0001°

Figure 2-1: Inclination of grinding disc

2.1.13.4

Minimum grinding disc radius (P-TOOL-00033)

Currently this parameter is not used.

Variable name | Type | Permissible range | Dimension
grinding_disc_min_radius | REAL64 | 0 < grinding_disc_min_radius ≤ MAX(SGN32) | 0,1µm

2.1.13.5

Minimum grinding disc width (P-TOOL-00034)

Currently this parameter is not used.

Variable name | Type | Permissible range | Dimension
grinding_disc_min_width | REAL64 | 0 < grinding_disc_min_width ≤ MAX(SGN32) | 0,1µm


Data for visualisation and collision monitoring

Within the scope of machining simulation the tools and the tool head can be displayed as graphical objects. For the visualisation a so-called link point with the associated graphical tool objects is attached to the kinematic chain as an additional link. The necessary specific data are transmitted during a tool change within the tool data and in NC program they are made available to the machining simulation by corresponding commands (#SCENE ..., V.G.WZ_AKT.LINKPOINT... [PROG]).

The availability of this function depends on the configuration and the
concrete scope of version.

More:

button Link point data (wz[i].linkpoint_data.*)

button Object data (wz[i].gobject_data[j].*)


Link point data (wz[i].linkpoint_data.*)

In this structure the data of the node point (LINKPOINT) of the kinematic chain are entered, to which the graphical tool objects are attached.

More:

button Name (P-TOOL-00100)

button Mount point (P-TOOL-00101)

button Translation of the main axes (P-TOOL-00102)

button Rotation of the main axes (P-TOOL-00103)

button Axis number (P-TOOL-00104)

button Translation/rotation of the node point (P-TOOL-00105)

button Effect of the movement on the node point (P-TOOL-00106)

button Use of the node point (P-TOOL-00107)

button Node point position after axis exchange (P-TOOL-00108)

button Maximum lever arm length (P-TOOL-00109)


Name (P-TOOL-00100)

Name of the new node point of the kinematic chain.

Variable name | Type | Permissible range | Dimension
name | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH, application-dependent) | ----


Mount point (P-TOOL-00101)

Name of the existing node of the kinematic chain, to which the new node is attached.

Variable name | Type | Permissible range | Dimension
mountpoint | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH, application-dependent) | ----


Translation of the main axes (P-TOOL-00102)

Shift of the link point in the main axes with reference to the mount point.

Variable name | Type | Permissible range | Dimension
translation[k] | SGN32 | MIN(SGN32) < translation[k] < MAX(SGN32) with k=0, 1, 2 | 0,1 µm or 0,0001 inch


Rotation of the main axes (P-TOOL-00103)

Eulerian angles, which describe the current rotation of the link point with reference to the mount point.

Variable name | Type | Permissible range | Dimension
rotation[k] | SGN32 | -360° < rotation[k] < 360° with k=1, 2, 3 | 0,001°


Axis number (P-TOOL-00104)

Logical axis number of the axis, which leads to a movement of the new link point.

Variable name | Type | Permissible range | Dimension
ax_nr | UNS16 | 0 < ax_nr < MAX(UNS16) | ----


Translation/rotation of the node point (P-TOOL-00105)

Definition, weather a movement of the axis leads to a translation in X / Y / Z or a rotation around X / Y / Z: 1-TRANS_X, 2-TRANS_Y, ..., 6-ROT_Z

Variable name | Type | Permissible range | Dimension
trans_rot | SGN32 | MIN(SGN32) < trans_rot < MAX(SGN32) | ----


Effect of the movement on the node point (P-TOOL-00106)

This parameter defines, weather the programmed axes movements shall effect inverse on the translation or rotation of the link point.

Variable name | Type | Permissible range | Dimension
inverse | BOOLEAN | 0/1 | ----

0 | Axis movement has no inverting effect on the link point
1 | Axis movement has an inverting effect on the link point


Use of the node point (P-TOOL-00107)

This parameter defines, in which manner the link point is handled during visualisation.

Variable name | Type | Permissible range | Dimension
visible | BOOLEAN | 0/1 | ----

0 | Link points are used only for internal calculation of the chain (Default). When adding the linkpoint is transmitted only once (not cyclically).
1 | Movements of the link point are cyclically displayed during recording (e.g. via Data Factory).


Node point position after axis exchange (P-TOOL-00108)

This parameter defines, in which manner during collision consideration a link point attached to an axis is handled, if this axis is no longer available in the NC channel because of axis exchange.

Variable name | Type | Permissible range | Dimension
fixed | BOOLEAN | 0/1 | ----

0 | A collision consideration for this link point can therefore no longer be reliably carried out.
1 | Link point position remains constant after axis exchange. Collision consideration can be carried out.


Maximum lever arm length (P-TOOL-00109)

Maximum lever arm length of the graphical objects attached at the (rotatory) link point. Is useful for segmentation at rotatory axes.

Variable name | Type | Permissible range | Dimension
arm_len | SGN32 | MIN(SGN32) < arm_len < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch


Object data (wz[i].gobject_data[j].*)

In this structure the data of the graphical objects are entered, which are attached to the node point (LINKPOINT). Application specifically <j> objects can be defined.

More:

button Name (P-TOOL-00120)

button Node point name (P-TOOL-00121)

button Group name (P-TOOL-00122)

button Translation of the object (P-TOOL-00123)

button Rotation of the object (P-TOOL-00124)

button Effect of shift and rotation (P-TOOL-00125)

button File with description of object data (P-TOOL-00126)

button Key-/value pairs (P-TOOL-00127/ P-TOOL-00128)

button Change information (P-TOOL-00129)


Name (P-TOOL-00120)

Name of the grafical object.

Variable name | Type | Permissible range | Dimension
name | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH, application-dependent) | ----


Node point name (P-TOOL-00121)

Name of the node (LINKPOINT) of the kinematic chain, to which the graphical object is attached.

Variable name | Type | Permissible range | Dimension
linkpoint | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH, application-dependent) | ----


Group name (P-TOOL-00122)

Name of the group (summarized graphical objects), which is attached in addition to the new graphical object.

Variable name | Type | Permissible range | Dimension
group[j] | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_NBR_GROUP - 1 ] |

Value | Significance
CSG_MAX_NBR_GROUP | Number of object groups per tool, application-dependent
CSG_MAX_STRING_LENGTH | Length of a group name, application-dependent


Translation of the object (P-TOOL-00123)

For absolute dimension shifting of the graphical object or the group with reference to the node point (LINKPOINT) or for relative dimension with reference to the previous coordinates (P-TOOL-00125).

Variable name | Type | Permissible range | Dimension
translation[k] | SGN32 | MIN(SGN32) < translation[k] < MAX(SGN32) mit k=0, 1, 2 | 0,1 µm or 0,0001 inch


Rotation of the object (P-TOOL-00124)

Eulerian angles, which describe the static rotation of the graphical object with reference to the node point (LINKPOINT).

Variable name | Type | Permissible range | Dimension
rotation[k] | SGN32 | -360° < rotation[k] < 360° with k=1, 2, 3 | 0,001°


Effect of shift and rotation (P-TOOL-00125)

This parameter defines, how the programmed shifts and rotations shall effect to the current shifts and transformations.

Variable name | Type | Permissible range | Dimension
relative | BOOLEAN | 0/1 | ----

0 | The specified movement/rotation replaces all previously activated movements/rotations.
1 | Movement and rotation are additive to the current movement or rotation


File with description of object data (P-TOOL-00126)

Name of the file, which additionally describes the graphical object (e.g. VRML file)

Variable name | Type | Permissible range | Dimension
file | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH, application-dependent) | ----


Key-/value pairs (P-TOOL-00127/ P-TOOL-00128)

Key-/value pairs, which describe in addition the grafical object.

P-TOOL-00127:

Variable name | Type | Permissible range | Dimension
key[j] | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_VAL_KEY_IDX - 1 ] |

P-TOOL-00128:

Variable name | Type | Permissible range | Dimension
value[j] | TYP_STRING | String (Max. length CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_VAL_KEY_IDX - 1 ] |

Value | Significance
CSG_MAX_VAL_KEY_IDX | Number of key-/value pairs per tool, application-dependent
CSG_MAX_STRING_LENGTH | Length of a key-/value name, application-dependent


Change information (P-TOOL-00129)

This parameter informs about a data change by the external tool management. The evaluation of this information is up to the user.

Variable name | Type | Permissible range | Dimension
changed | BOOLEAN | 0/1 | ----

0 | No data change.
1 | Data change by the external tool management.


Example of a tool data ASCII file

# ****************************************************************************

# Tool data

# ****************************************************************************

# Imp. hint: Behind the comment character #´ a

# space must be added.

# CAUTION: The tool dimensions are expected in the unit

# 0,1 µm or 0,0001 inch.

# ****************************************************************************

# ============================================================================

# Tool data for tool no. 5

# ============================================================================

wz[5].laenge 6000 # Tool length

wz[5].radius 54000 # Tool radius

wz[5].gueltig 1 # Tool validity flag TRUE

wz[5].mass_einheit 0 # Tool data unit MM

wz[5].ax_versatz[0] 205000 # Offset 1st axis

wz[5].ax_versatz[1] 206000 # Offset 2nd axis

wz[5].ax_versatz[2] 307000 # Offset 3rd axis

wz[5].ax_versatz[3] 408000 # Offset 4th axis

wz[5].log_ax_nr_spdl 6 # Logical axis number of spindle

wz[5].vb_min 60000 # Minimum speed

wz[5].vb_max 3000000 # Maximum speed

wz[5].a_max 3000 # Maximum acceleration

# ===========================================================================

# Tool data for Tool no. 8

# ===========================================================================

wz[8].laenge 8000 # Tool length

wz[8].radius 45000 # Tool radius

wz[8].gueltig 1 # Tool validity flag TRUE

wz[8].mass_einheit 0 # Tool data unit MM

wz[8].ax_versatz[0] 225000 # Offset 1st axis

wz[8].ax_versatz[1] -336000 # Offset 2nd axis

wz[8].ax_versatz[2] -457000 # Offset 3rd axis

wz[8].ax_versatz[3] 578000 # Offset 4th axis

wz[8].kinematic.param[0] 1538000 # Tool head offset 1: 153,8 mm

wz[8].kinematic.param[1] 25000 # Tool head offset 2: 2,5 mm

wz[8].kinematic.param[2] 0 # Tool head offset 3: 0 mm

wz[8].kinematic.param[5] 900000 # Tool head offset 3; 90 mm

wz[8].tool_fixed 1 # Tool fixed

wz[8].kin_id 6 # kinematics 6

# ==========================================================================

# Tool data for tool no. 15

# ==========================================================================

wz[15].typ 1 # Turning tool

wz[15].srk_lage 5 # Cutter tip position

wz[15].laenge 8250 # Tool length

wz[15].radius 200 # Tool radius

wz[15].gueltig 1 # Tool validity flag TRUE

wz[15].mass_einheit 0 # Tool data unit MM

wz[15].ax_versatz[0] 0 # Offset 1st axis

wz[15].ax_versatz[1] 0 # Offset 2nd axis

wz[23].ax_versatz[2] 0 # Offset 3rd axis

wz[23].ax_versatz[3] 0 # Offset 4th axis

# ==========================================================================

# Tool data for tool no. 23

# ========================================================================

wz[23].laenge 5000 # Tool length

wz[23].radius 10000 # Tool radius

wz[23].gueltig 1 # Tool validity flag TRUE

wz[23].mass_einheit 0 # Tool data unit MM

wz[23].ax_versatz[0] 565000 # Offset 1st axis

wz[23].ax_versatz[1] 236000 # Offset 2nd axis

wz[23].ax_versatz[2] -233000 # Offset 3rd axis

wz[23].ax_versatz[3] 566400 # Offset 4th axis

#

# Example for GOBJECT-description in internal tool data base

#

wz[1].gobject[0].name GO_NAME

wz[1].gobject[0].linkpoint GO_LINKPOINT

wz[1].gobject[0].group[0] GO_GROUP

wz[1].gobject[0].group[1] GO_GROUP_1

wz[1].gobject[0].group[2] GO_GROUP_2

wz[1].gobject[0].group[3] GO_GROUP_3

wz[1].gobject[0].group[4] GO_GROUP_4

wz[1].gobject[0].translation[0] 10000 # integer in [0.1 um]

wz[1].gobject[0].translation[1] 20000

wz[1].gobject[0].translation[2] 30000

wz[1].gobject[0].rotation[0] 300000 # integer in [0.0001 degree]

wz[1].gobject[0].rotation[1] 600000

wz[1].gobject[0].rotation[2] 900000

wz[1].gobject[0].relative 1

wz[1].gobject[0].changed 1

wz[1].gobject[0].file GO_FILE

wz[1].gobject[0].key[0] GO_KEY

wz[1].gobject[0].key[1] GO_KEY_1

wz[1].gobject[0].key[2] GO_KEY_2

wz[1].gobject[0].key[3] GO_KEY_3

wz[1].gobject[0].key[4] GO_KEY_4

wz[1].gobject[0].value[0] GO_VALUE

wz[1].gobject[0].value[1] GO_VALUE_1

wz[1].gobject[0].value[2] GO_VALUE_2

wz[1].gobject[0].value[3] GO_VALUE_3

wz[1].gobject[0].value[4] GO_VALUE_4

#

wz[1].gobject[1].name GO_1_NAME

wz[1].gobject[1].file GO_1_FILE

:

wz[1].gobject[2].name GO_2_NAME

wz[1].gobject[2].file GO_2_FILE

:

wz[1].gobject[3].name GO_3_NAME

wz[1].gobject[3].file GO_3_FILE

:

wz[1].gobject[4].name GO_4_NAME

wz[1].gobject[4].file GO_4_FILE

#

# Example for LINKPOINT-description in internal tool data base

#

wz[1].linkpoint.name LP_NAME

wz[1].linkpoint.mountpoint LP_MOUNTPOINT

wz[1].linkpoint.translation[0] 1

wz[1].linkpoint.translation[1] 2

wz[1].linkpoint.translation[2] 3

wz[1].linkpoint.rotation[0] 30

wz[1].linkpoint.rotation[1] 60

wz[1].linkpoint.rotation[2] 90

wz[1].linkpoint.ax_nr 1

wz[1].linkpoint.trans_rot 1

wz[1].linkpoint.inverse 0

wz[1].linkpoint.visible 1

wz[1].linkpoint.fixed 0

wz[1].linkpoint.arm_len 1234

Ende