Overview of all channel parameters

Parameters in italics at the moment are not used or are not available.

ID | Structure | Parameter | Functionality
P-CHAN-00001 | prog_start.slope. | acceleration | Default slope settings
P-CHAN-00002 | vector. | acceleration | Vector dynamic limits
P-CHAN-00003 | gruppe[i]. | achs_anzahl | Group data
P-CHAN-00004 | spindel[i]. | autom_range | Spindle speed range
P-CHAN-00005 | gruppe[i]. | bezeichnung | Group data
P-CHAN-00006 | gruppe[i].achse[j]. | bezeichnung | Axes data
P-CHAN-00007 | spindel[i]. | bezeichnung | Spindle data
P-CHAN-00008 |  | cax_face_id | C-axis
P-CHAN-00009 |  | corr_v_trans_jerk | J erk at tang. block transition
P-CHAN-00010 |  | default_ax_name_of_spindle | C-axis, Tapping
P-CHAN-00011 | gruppe[i].achse[j]. | default_feed_axis | Feed axes group
P-CHAN-00012 | speed_limit_look_ahead. | dist_from_corner | Speed limit Look Ahead
P-CHAN-00013 | speed_limit_look_ahead. | dist_to_corner | Speed limit Look Ahead
P-CHAN-00014 |  | einrechnen_mit_t | Tool management
P-CHAN-00015 |  | einzelschrittmodus | Single step mode
P-CHAN-00016 |  | ext_wzv_vorhanden | External tool management
P-CHAN-00017 | speed_limit_look_ahead. | f_enable | Speed limit Look Ahead
P-CHAN-00018 | speed_limit_look_ahead. | f_time | Speed limit Look Ahead
P-CHAN-00019 | syn_chk. | fehler_gesamt | Syntaxcheck
P-CHAN-00020 | syn_chk. | fehler_pro_zeile | Syntaxcheck
P-CHAN-00021 |  | create_cont_mask_warnings | Tool radius compensation
P-CHAN-00022 | aep. | g_gruppe[i] | Reporting of changes
P-CHAN-00023 |  | grp_anzahl | Group data
P-CHAN-00024 | aep. | output_mode | Reporting of changes
P-CHAN-00025 |  | h_default_output_ax_name[i] | Axis specific H-functions
P-CHAN-00026 |  | h_prozess_zeit[i] | Processing time calculation
P-CHAN-00027 |  | h_synch[i] | Techno data
P-CHAN-00028 | syn_chk. | interaktiv | Syntaxcheck
P-CHAN-00029 |  | kasto_multi_block | Edge banding
P-CHAN-00030 |  | kasto_residual_path | Edge banding
P-CHAN-00031 |  | kind_of_2nd_ecs_ax | Configuration ECS
P-CHAN-00032 |  | kinematik_id | RTCP
P-CHAN-00033 | prog_start. | late_sync_ready | Late Sync at program end
P-CHAN-00034 |  | lin_aufloes | Dimension settings
P-CHAN-00035 | gruppe[i].achse[j]. | log_achs_nr | Axes data
P-CHAN-00036 | spindel[i]. | log_achs_nr | Spindle data
P-CHAN-00037 | synchro_data.koppel_gruppe[i]. paar[j]. | log_achs_nr_master | Synchronous operation
P-CHAN-00038 | synchro_data.koppel_gruppe[i]. paar[j]. | log_achs_nr_slave | Synchronous operation
P-CHAN-00039 |  | m_default_output_ax_name[i] | Axis specific M-functions
P-CHAN-00040 |  | m_prozess_zeit[i] | Processing time calculation
P-CHAN-00041 |  | m_synch[i] | Techno data
P-CHAN-00042 | spindel[i]. | m19_prozess_zeit | Processing time calculation
P-CHAN-00043 | spindel[i]. | m19_synch | Techno data
P-CHAN-00044 | spindel[i]. | m3_prozess_zeit | Processing time calculation
P-CHAN-00045 | spindel[i]. | m3_synch | Techno data
P-CHAN-00046 | spindel[i]. | m4_prozess_zeit | Processing time calculation
P-CHAN-00047 | spindel[i]. | m4_synch | Techno data
P-CHAN-00048 | spindel[i]. | m5_prozess_zeit | Processing time calculation
P-CHAN-00049 | spindel[i]. | m5_synch | Techno data
P-CHAN-00050 |  | mach_plane_of_2nd_ecs_ax | Configuration ECS
P-CHAN-00051 |  | main_spindle_ax_nr | Spindle configuration
P-CHAN-00052 |  | main_spindle_gear_change | Spindle gear change
P-CHAN-00053 |  | main_spindle_name | Spindle configuration
P-CHAN-00054 |  | mass_einh | Dimension settings
P-CHAN-00055 | range_table[j]. | max_speed | Spindle speed range
P-CHAN-00056 |  | max_vb_override | Maximum channel override
P-CHAN-00057 |  | messtyp | Default measure type
P-CHAN-00058 | range_table[j]. | min_speed | Spindle speed range
P-CHAN-00059 |  | mittelpkt_diff | Circle centre point corretion
P-CHAN-00060 |  | mittelpkt_faktor | Circle centre point corretion
P-CHAN-00061 | synchro_data.koppel_gruppe[i]. paar[j]. | mode | Synchronous operation
P-CHAN-00062 | makro_def[i]. | nc_code | Symbolic character strings
P-CHAN-00063 | prog_start.g_gruppe[i]. | nr | Default G-functions
P-CHAN-00064 | prog_start.m_gruppe[i]. | nr | Default G-functions
P-CHAN-00065 |  | override_delay | Sampling of override
P-CHAN-00066 |  | override_weight_prog_feed | Mode of override
P-CHAN-00067 |  | p_param_haltend | P-parameter modal
P-CHAN-00068 | aep. | p_parameter | Reporting of changes
P-CHAN-00069 | spindel[i]. | plc_control | Channel specific PLC-spindle
P-CHAN-00070 |  | m_pre_outp[i] | Output definition of M code
P-CHAN-00071 | prog_start.slope. | profile | Default slope settings
P-CHAN-00072 | tool. (Old syntax: werkzeug.) | prozess_zeit | Processing time calculation
P-CHAN-00073 | prog_start.slope. | ramp_time | Default slope settings
P-CHAN-00074 | spindel[i]. | range_way | Spindle speed range
P-CHAN-00075 |  | reset_no_axis_to_axv | Axis return after reset
P-CHAN-00076 |  | tool_life_to_wzv | Tool life data to external tool management
P-CHAN-00077 |  | rpf_prozess_zeit | Processing time calculation
P-CHAN-00078 |  | rund_aufloes | Dimension settings
P-CHAN-00079 |  | rund_mass_einh | Dimension settings
P-CHAN-00080 | spindel[i]. | s_prozess_zeit | Processing time calculation
P-CHAN-00081 | spindel[i]. | s_synch | Techno data
P-CHAN-00082 |  | spdl_anzahl | Spindle configuration
P-CHAN-00083 |  | spind_aufloes | Dimension settings
P-CHAN-00084 | gruppe[i]. | sub_call | Subcall
P-CHAN-00085 | makro_def[i]. | symbol | Symbolic character strings
P-CHAN-00086 | tool. (Old syntax: werkzeug.) | synch | Techno data
P-CHAN-00087 |  | t_info_to_wzv | External tool management
P-CHAN-00088 | aep. | v_eigendef | Reporting of changes
P-CHAN-00089 | speed_limit_look_ahead. | v_limit | Speed limit Look Ahead
P-CHAN-00090 | vector. | velocity | Vector dynamic limits
P-CHAN-00091 |  | versch_im_durchm | Turning
P-CHAN-00092 |  | wrk_im_kanal_vorhanden | Channel configuration
P-CHAN-00093 | aep. | wz_daten | Reporting of changes
P-CHAN-00094 | kinematik[i]. | param[i] (from V263) wz_kopf_versatz[i] (to V260) | RTCP
P-CHAN-00095 |  | log_number_tracking_axis | Axis tracking
P-CHAN-00096 |  | feed_to_weakest_axis | Selection of default feed axis
P-CHAN-00097 |  | use_drive_curr_limit | Deceleration on feedhold
P-CHAN-00098 |  | spindle_m_fct_free | Meaning of M-Functions
P-CHAN-00099 | prog_start. | feedrate | Default feedrate
P-CHAN-00100 |  | move_tool_offsets_directly | Effectiveness of tool compensation data
P-CHAN-00101 |  | auto_align_tracking_axis | Axis tracking
P-CHAN-00102 |  | plc_command_rapid_feed | Mode of PLC command feed
P-CHAN-00103 |  | d_clear_to_wzv | External tool management
P-CHAN-00104 | synchro_data. | restore_coupling_after_reset | Synchronous operation
P-CHAN-00105 | synchro_data. | preserve_coupling_after_prog_end | Synchronous operation
P-CHAN-00106 |  | t_with_implicit_flush | External tool management
P-CHAN-00107 |  | h_pre_outp[i] | Output definition of H-code
P-CHAN-00108 | prog_start. | feedrate_factor | Default unit of feedrate
P-CHAN-00109 |  | fast_tracking_transition | Axis tracking
P-CHAN-00110 |  | check_jerk_on_poly_path | Consider jerk within polynom
P-CHAN-00111 |  | time_override_weight_dwell_time | Time override
P-CHAN-00112 |  | ori_rotation_angle | Kinematic transformation
P-CHAN-00113 |  | path_reject_std_manual_mode | Manual operation mode
P-CHAN-00114 |  | rel_offset_limits_std_manual_mode | Manual operation mode
P-CHAN-00115 |  | release_non_channel_axes | Axis return after reset
P-CHAN-00116 |  | multi_dimension_in_block | Multiple programming of dimensions in NC block
P-CHAN-00117 |  | mode_trans_jerk | Jerk limiting
P-CHAN-00118 |  | m6_prog_file | Sub program call with M6
P-CHAN-00119 |  | start_init_prog_file | Sub program call at p rogram start
P-CHAN-00120 |  | soft_limit_tolerance | Software limit monitoring
P-CHAN-00121 |  | simu_output_wcs | Switching of display data
P-CHAN-00122 | hsc.bspline. | path_deviation | HSC BSpline initialization
P-CHAN-00123 | hsc.bspline. | track_deviation | HSC BSpline initialization
P-CHAN-00124 | hsc.bspline. | max_path_length | HSC BSpline initialization
P-CHAN-00125 | hsc.bspline. | max_angle | HSC BSpline initialization
P-CHAN-00126 | hsc.bspline. | merge_retry | HSC BSpline initialization
P-CHAN-00127 | hsc.bspline. | merge_window | HSC BSpline initialization
P-CHAN-00128 | hsc.bspline. | auto_off_g00 | HSC BSpline initialization
P-CHAN-00129 | hsc.bspline. | auto_off_path | HSC BSpline initialization
P-CHAN-00130 | hsc.bspline. | auto_off_track | HSC BSpline initialization
P-CHAN-00131 | hsc.bspline. | limit_corner_dist | HSC BSpline initialization
P-CHAN-00132 | hsc.gen. | linear_segmentation | HSC general initialization
P-CHAN-00133 | hsc.gen. | linear_center_point | HSC general initialization
P-CHAN-00134 | hsc.gen. | linear_continuous_split | HSC general initialization
P-CHAN-00135 | hsc.gen. | linear_split_length | HSC general initialization
P-CHAN-00136 | hsc.gen. | circular_secant_error | HSC general initialization
P-CHAN-00137 | hsc.gen. | circular_segmentation | HSC general initialization
P-CHAN-00138 | hsc.gen. | circular_param | HSC general initialization
P-CHAN-00139 | hsc.gen. | filter_deviation | HSC general initialization
P-CHAN-00140 | hsc.gen. | min_segment_length | HSC general initialization
P-CHAN-00141 | hsc.gen. | jerk_monitoring_mode | HSC general initialization
P-CHAN-00142 | hsc.gen. | jerk_weighting_5ax | HSC general initialization
P-CHAN-00143 | hsc.gen. | jerk_weighting | HSC general initialization
P-CHAN-00144 |  | suppress_cs_tracking_offset | Axis tracking
P-CHAN-00145 |  | kin_trafo_display | Display TCP in WO-CS
P-CHAN-00146 |  | parameter_change_during_execution | Enabling of list interpretation
P-CHAN-00147 |  | soft_limit_warning_axes | Software limit monitoring
P-CHAN-00148 |  | multi_axes_in_block | Multiple programming of axes in NC block
P-CHAN-00149 |  | kasto_reject_rest_block | Edge banding
P-CHAN-00150 |  | remain_block_number_sub_prog_call | Validity of block number
P-CHAN-00151 |  | auto_enable_kin_trafo | Trafoanwahl bei Progr.start
P-CHAN-00152 |  | auto_disable_kin_trafo | Trafoabwahl bei Progr.ende
P-CHAN-00153 |  | kasto_remain_active | Edge banding, measuring
P-CHAN-00154 |  | ax_exchange_with_implicit_flush | Axis exchange with Flush Wait
P-CHAN-00155 | speed_limit_look_ahead. | f_override_weight_v_limit | Speed limit Look Ahead
P-CHAN-00156 | tool. | minimum_length | Tool monitoring
P-CHAN-00157 | tool. | minimum_radius | Tool monitoring
P-CHAN-00158 |  | streaming_prog_file | Streaming
P-CHAN-00159 |  | modal_i_j_k_for_circle | Modal effect of I/J/K for circles
P-CHAN-00160 |  | g80_prog_file | Sub program call for G80
P-CHAN-00161 |  | g81_prog_file | Sub program call for G81
P-CHAN-00162 |  | g82_prog_file | Sub program call for G82
P-CHAN-00163 |  | g83_prog_file | Sub program call for G83
P-CHAN-00164 |  | g84_prog_file | Sub program call for G84
P-CHAN-00165 |  | g85_prog_file | Sub program call for G85
P-CHAN-00166 |  | g86_prog_file | Sub program call for G86
P-CHAN-00167 |  | g87_prog_file | Sub program call for G87
P-CHAN-00168 |  | g88_prog_file | Sub program call for G88
P-CHAN-00169 |  | g89_prog_file | Sub program call for G89
P-CHAN-00170 |  | override_weight_acc | Mode of override
P-CHAN-00171 |  | max_radius_diff_circle | Circle radius compensation
P-CHAN-00172 |  | max_proz_radius_diff_circle | Circle radius compensation
P-CHAN-00173 |  | suppress_ax_group_in_pos_check | Checking exact stop window
P-CHAN-00174 |  | channel_name | Channel information
P-CHAN-00175 |  | channel_type | Channel information
P-CHAN-00176 |  | meas_error_no_signal | Reaction on missing signal for measurement type 1
P-CHAN-00177 |  | mode | HSC Punkt-Vektordarstellung
P-CHAN-00178 |  | fixed_axis_index | HSC Punkt-Vektordarstellung
P-CHAN-00179 |  | ax_default_config_after_reset | Channel axes after RESET
P-CHAN-00180 |  | suppress_prg_display_level | Display data
P-CHAN-00181 |  | g00_override_mode | Mode of override
P-CHAN-00182 |  | plcopen_std_unit | Units in PLCopen commands
P-CHAN-00183 |  | simu_ignore_internal_stop_cond | Settings for rapid contour visu.
P-CHAN-00184 | 111 | kin_trafo_display_curr_pos | Switch display TCP in WO-CS
P-CHAN-00185 |  | tracking_axis_rot_wc | Axis tracking
P-CHAN-00186 |  | override_v_handwheel | Override at manual mode
P-CHAN-00187 |  | g800_prog_file[i] | Sub program call for G800  G819
P-CHAN-00188 | tool_ori_cs. | axis | Automatic orientation
P-CHAN-00189 | tool_ori_cs. | mode | Automatic orientation
P-CHAN-00190 |  | dynamic_weighting_active | Path dependend dynamic
P-CHAN-00191 | dynamic_weighting[i]. | path_limit | Path dependend dynamic
P-CHAN-00192 | dynamic_weighting[i]. | velocity_fact | Path dependend dynamic
P-CHAN-00193 | dynamic_weighting[i]. | acceleration_fact | Path dependend dynamic
P-CHAN-00194 | dynamic_weighting[i]. | ramp_time_fact | Path dependend dynamic
P-CHAN-00195 | man_mode.vector_limit. | v_max_pos | Dynamikdaten kart. Handbetrieb
P-CHAN-00196 | man_mode.vector_limit. | a_max_pos | Dynamikdaten kart. Handbetrieb
P-CHAN-00197 | man_mode.vector_limit. 154 | tr_pos | Dynamikdaten kart. Handbetrieb
P-CHAN-00198 | man_mode.vector_limit. | v_max_ori | Dynamikdaten kart. Handbetrieb
P-CHAN-00199 | man_mode.vector_limit. | a_max_ori | Dynamikdaten kart. Handbetrieb
P-CHAN-00200 | man_mode.vector_limit. | tr_ori | Dynamikdaten kart. Handbetrieb
P-CHAN-00201 | hsc.filter. | auto_enable | HSC filter parameter
P-CHAN-00202 | hsc.filter. | order_cart | HSC filter parameter
P-CHAN-00203 | hsc.filter. | order_track | HSC filter parameter
P-CHAN-00204 | hsc.filter. |  | HSC filter parameter
P-CHAN-00205 | hsc.filter. |  | HSC filter parameter
P-CHAN-00206 | hsc.filter. |  | HSC filter parameter
P-CHAN-00207 | hsc.filter. |  | HSC filter parameter
P-CHAN-00208 | vector. | deceleration | Vector dynamic limits
P-CHAN-00209 |  | m_h_pre_outp_time_calc_mode | Calculating pre-output time
P-CHAN-00210 |  | cycle_changes_modal | Cycle programming
P-CHAN-00211 |  | suppress_cycle_logging | Cycle programming
P-CHAN-00212 |  | m_h_pre_outp_calc_value_to_go | Calculating residual path/time
P-CHAN-00213 |  | gap_in_trafo_axis_sequence | Transformations


Classification of channel parameters

The data of machine data set for control data preparation (in short channel parameters) contains application specific configuration data.

In this structure inter-axis system parameters of the control system are defined. In addition, the default axis and spindle configuration of an axis group are also determined. Furthermore, the desired technology commands and their coding for transfer to PLC are defined. The units of measurements and the dimensions of the traverse paths given in the NC-program are specified.

The field indices to be specified for the axis data correspond to the decoder-internal axis, axis-group, main axis group indexing.

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, interpretation and testing of channel parameters-ASCII files

The channel parameters 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 channel parameters.

This document defines the content and the syntax of the ASCII-Files (for example "sda_mds1.lis") as well as the elements of the channel parameters.

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

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


Comments in the channel parameter 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 !)


List interpretation at start-up of NC kernel

The interpretation of all channel parameter lists is done at start-up of CNC in a multi step way depending on channel configuration and the internal default setting. Internal default setting of machine data set can be overwritten by values which results in interpretation of channel parameter list. No modifications are done to elements of internal default setting if values are missing or no necessary change is detected to internal setting after interpretation of external list.

The external lists are:

Default list (default settings identical for all channels in one list)

Channel specific list

The filename of used default list has to be entered in element P-STUP-00034 (default_sda_mds) of file hochlauf.lis. Entries in this list are identical for all channels.

The sequence of list interpretation is:

1. Initialization of all lists with internal default list setting.

2. Overwriting of default initialization with entries of default list.

3. Overwriting with entries of channel specific list of each channel.

The following figure shows list interpretation sequence:


Configuration of PLC functions

More:

button Settings for M-functions

button Settings for H-functions

button Settings for tool change (tool.* or werkzeug.*)

button Process time of homing (P-CHAN-00077)

button Calculation model for M/H pre-output time (P-CHAN-00209)

button Residual path/-time at M/H code look ahead (P-CHAN-00212)


Settings for M-functions

More:

button Synchronisation type of M-functions (P-CHAN-00041)

button Pre-output of M-functions (P-CHAN-00070)

button Axis specific M-functions (P-CHAN-00039)

button Time-out / Process time of M-functions (P-CHAN-00040)


Synchronisation type of M-functions (P-CHAN-00041)

In the array "m_synch[i]", the synchronization type of the corresponding M-function is defined. Here, the field index "i" defines the number of the M-function. The value states the synchronization type of the M-function, this means the time for the check of the existence of a PLC-acknowledgement. A motion is not executed or stopped at block end, if at the time for the check from PLC no acknowledgement is received.

Variable name | Type | Permitted range | Dimension
m_synch[i] | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, MOS_TS, MEP_SVS, MET_SVS, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----
i | UNS16 | 0 ... [M_FKT_ANZ-1] | ----

Value M_FKT_ANZ | Significance
application-dependent | Maximum number of M-functions

Constant | Value | Significance
NO_SYNCH | 0x00000000 | No output of M-function to PLC.
MOS | 0x00000001 | Output of M-function to PLC without synchronization.If the M-function is programmed within a motion block, the output of the M-function is executed before the motion.
MVS_SVS | 0x00000002 | Output of M-function to PLC before motion block, Synchronization before motion block
MVS_SNS | 0x00000004 | Output of M-function to PLC before motion block, Synchronization after motion block
MNS_SNS | 0x00000008 | Output of M-function to PLC after motion block, Synchronization after motion block
MNE_SNS | 0x00000020 | Output of M-function to PLC after (measurement-)signal, Synchronization after motion block (only for option edge banding)
MVS_SLM | 0x00004000 | Late synchronization, Output of M-function to PLC within the block, Synchronization during transition to G01/G02/G03 (Implicit synchronization)
MVS_SLP | 0x00008000 | Late synchronization, Output of M-function to PLC within the block, Synchronization by NC-command #EXPL SYN (Explicit synchronization)
MOS_TS | 0x00040000 | Output of M function to PLC before motion block without synchronization, sample time offset as parameter for precise time-related output in PLC.
BWD_SYNCH | 0x00400000 | Synchronization of M-function during backward on path as MVS_SVS
FWD_SYNCH | 0x00800000 | Synchronization of M-function during "Simulated forward on path" based on the defined synchronization type
MEP_SVS | 0x01000000 | Output of M-function before specified path, synchronization before next block
MET_SVS | 0x02000000 | Output of M-function before specified time, synchronization before next block
FAW_SYNCH | 0x10000000 | Stop of decoding (Flush and Wait): Output of M-function to PLC and stop of program decoding at block end until all NC blocks in NC-channel were executed. FAW_SYNCH can be set in addition to other synchronization types. M-functions with FAW_SYNCH may not be used during active tool radius correction (WRK), polynomial contouring and HSC-mode.

More:

button Synchronization type MOS (without synchronization)

button Synchronization type MVS_SVS

button Synchronization type MVS_SNS

button Synchronization type MNS_SNS

button Synchronization type MNE_SNS (only for option edge banding)

button Synchronization type MVS_SLM

button Synchronization type MVS_SLP

button Without synchronization MOS_TS

button Synchronization types MET_SVS, MEP_SVS


Synchronization type MOS (without synchronization)

N20 G00 X25

N30 X50

N40 X75 M25 ( M25 of the type MOS )

N50 G01 X100 F2000

N60 X125 Z100

M30


Synchronization type MVS_SVS

N20 G00 X25

N30 X50

N40 X75 M25 ( M25 of the type MVS_SVS )

N50 G01 X100 F2000

N60 X125 Z100

M30


Synchronization type MVS_SNS

N20 G00 G90 X25

N30 X50

N40 X75 M25 ( M25 of the type MVS_SNS )

N50 G01 X100 F2000

N60 X125 Z100

M30


Synchronization type MNS_SNS

N20 G00 X25

N30 X50

N40 X75 M25 ( M25 of the type MNS_SNS )

N50 G01 X100 F2000

N60 X125 Z100

M30


Synchronization type MNE_SNS (only for option edge banding)

N05 X0 Y0

N10 G108 (Start measurement for edge banding)

N20 G01 X90 Y90 F20

N30 G01 X150 Y150 M33 F8 (M33 of the type MNE_SNS)

N40 G107 (End of measurement for edge banding)

N50 G00 X200 Y200

M30


Synchronization type MVS_SLM

N05 M24 (M24,Synchronization type MVS_SLM)

N10 M25 G00 X25 (M25,Synchronization type MVS_SLM)

N20 X50

N30 X75

N40 X100

N50 G01 X125 F2000 <-- Trigger for M24, M25 before execution of motion block

N60 Z100

M30


Synchronization type MVS_SLP

N05 M26 G00 X25 (M26, Synchronization type MVS_SLP)

N10 M27 (M27, Synchronization type MVS_SLP)

N20 X50

N30 X75

N40 X100

N50 G01 X125 F2000

N60 #EXPL SYN <-- Trigger for M26, M27 before execution of next motion block

N70 G00 X0

N80 X0 Y0

M30


Without synchronization MOS_TS

N10 G01 X25 G90 F5000

N20 X50

N30 M25 (M25 MOS_TS)

N40 X100

N50 X200

M30


Synchronization types MET_SVS, MEP_SVS

N10 G01 X10 G90 F5000

N20 X20

N30 X30

N40 X40

N45 M96 (M96 MEP_SVS m_pre_outp = 250000)

(oder MET_SVS m_pre_outp = 300000µs)

N50 X80

M30

If several M functions of this synchronisation type are overlapping itselves in relation to its ranges of effect and position in NC program, the first programmed M function in the NC block sequence determines the most primal time of output for all following M functions (see examples shown below).

This can cause a shifting or changed order of the output times. Thus, range overlappings should be avoided!

Programming example:

Range overlapping and output for MEP_SVS, MET_SVS

M functions in different NC blocks, range overlapping causes changed output times:

(M95 MEP_SVS m_pre_outp = 50000)

(M96 MEP_SVS m_pre_outp = 250000)

M functions in the same NC block, range overlapping has no effect on output times:

(M95 MEP_SVS m_pre_outp = 50000)

(M96 MEP_SVS m_pre_outp = 250000)


Pre-output of M-functions (P-CHAN-00070)

For the pre-output of M-functions the value for the path or time can be defined in the channel parameter list or also in NC program [PROG - Chapter V.G. variables].

The parameter m_pre_outp[i] defines the prediction value of M-code output time depending on type path to go or time to go before path interpolator processes the M code at block transition in programmed sequence.

Variable name | Type | Permitted range | Dimension
m_pre_outp[i] | UNS32 | 0 MAX_UNS32 | 0.1 µm or µs
i | UNS16 | 0 ... [M_FKT_ANZ-1] | ----

Value M_FKT_ANZ | Significance
application-dependent | Maximum number of M-functions

More:

button Synchronization types MET_SVS, MEP_SVS

button Synchronization types MOS, MOS_TS, MVS_SVS, MVS_SNS, MNS_SNS with pre-output


Synchronization types MET_SVS, MEP_SVS

With type MET_SVS the parameter is time to go, with MEP_SVS the parameter is path to go (see also chapter 2.1.1.1.9).

EXAMPLE: The output of the user specific M-function M96 to PLC must be executed 10 mm before reaching the synchronization position in the block sequence.

The output of the user specific M-function M97 to PLC must be executed 40 milliseconds before reaching the time of synchronization in the block sequence.

Extract from channel parameters list:

# Definition of M-Functions and synchronisation types

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

:

m_synch[96] 0x01000000 MEP_SVS

m_synch[97] 0x02000000 MET_SVS

#

# Definition of pre-output time, pre-output path with MET_SVS, MEP_SVS

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

m_pre_outp[96] 100000 in 0.1 um

m_pre_outp[97] 40000 in us


Synchronization types MOS, MOS_TS, MVS_SVS, MVS_SNS, MNS_SNS with pre-output

For the synchronization types MOS, MOS_TS, MVS_SVS, MVS_SNS and MNS_SNS additionally a path related pre-output can be specified. This value can be defined in the channel parameter list or also in NC program.

In this case the path related pre-output of the M function is executed in respect of the current block beginning. Thus the M functions moved forward are treated like programming without any motion.

On that position also for the synchronization types MVS_SVS, MVS_SNS and MNS_SNS the acknowledgement is expected (MOS and MOS_TS do not need an acknowledgement).

Programming example

N01 V.G.M_FCT[11].PRE_OUTP_PATH = 25 (* in [mm] *)

N02 V.G.M_FCT[11].SYNCH = 2 (* MVS_SVS *)

N10 G01 X10 G90 F5000

N20 X20

N30 X30

N40 X40

N50 X80 M11 (M11 als MVS_SVS m_pre_outp = 250000)

N60 X0

M30

Effect of programming example above:

N01 V.G.M_FCT[11].PRE_OUTP_PATH = 0 (* in [mm] *)

N02 V.G.M_FCT[11].SYNCH = 2 (* MVS_SVS *)

N10 G01 X10 G90 F5000

N20 X15

N20 M11 (resulting pre-output and synchronization)

N20 X20

N30 X30

N40 X40

N50 X80

N60 X0

M30

Fig. 2-1: Pre-output and acknowledgement of a M function

This functionality is available from release V2.10.1507.05. It is enabled in the start-up list [STUP] for each NC channel in the following way (as an example):

configuration.channel[<i>].path_preparation.function FCT_DEFAULT | FCT_M_PRE_OUTPUT


Axis specific M-functions (P-CHAN-00039)

User specific M-Functions programmed in the standard DIN-syntax, are processed and executed channel specific.

By the parameter m_default_outp_ax_name the user is able to force an axis specific processing of M-Functions. For each M-function an axis name can be assigned. Not only path axes but also spindle axis are permissible.

Variable name | Type | Permitted range | Dimension
m_default_outp_ax_name[i] | ISG_CHAR | 0 ... [ACHS_NAME_LAENGE-1] | ----
i | UNS16 | 0 ... [M_FKT_ANZ-1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of the axis name

Value M_FKT_ANZ | Significance
application-dependent | Maximum Number of M-Functions

EXAMPLE: The user specific M-function M10 programmed in the standard DIN-syntax effects on the Z-axis.
The user specific M-function M11 programmed in the standard DIN-syntax effects on the S2-spindle axis.

Extract from channel parameters list:

# Definition of axes specific M-Functions

m_default_outp_ax_name[10] Z

m_default_outp_ax_name[11] S2


Time-out / Process time of M-functions (P-CHAN-00040)

TwinCAT CNC: Overview

Time-out / Process time of M-functions ( P-CHAN-00040)

With the array "m_prozess_zeit[i]" the time-out of M-functions is set. The index "i" defines the number of the M-function. If the calculation of processing time is activated, with this array the process times of M-functions are given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
m_prozess_zeit[i] | UNS32 | 0 < m_prozess_zeit < MAX(UNS32) | µs
i | UNS16 | 0 ... [M_FKT_ANZ-1] | ----

Value M_FKT_ANZ | Significance
application-dependent | Maximum number of M-functions

EXAMPLE: The following example sets the time-out respectively process time of M-function "M15" to 0,5s.

Extract from channel parameters list:

# Time-out / Process time of M-functions

m_prozess_zeit[15] 500000


Settings for H-functions

More:

button Synchronisation type of H-functions (P-CHAN-00027)

button Pre-output of H-functions (P-CHAN-00107)

button Axis specific H-functions (P-CHAN-00025)

button Time-out / Process time of H-functions (P-CHAN-00026)


Synchronisation type of H-functions (P-CHAN-00027)

TwinCAT CNC: Overview

Synchronisation type of H-functions ( P-CHAN-00027)

In the array "h_synch[i]", the synchronization type of the corresponding H-function is defined. Here, the field index "i" defines the number of the H-function. The value states the synchronization type of the H-function, this means the time for the check of the existence of a PLC-acknowledgement. A motion is not executed or stopped at block end, if at the time for the check from PLC no acknowledgement is received.

Variable name | Type | Permitted range | Dimension
h_synch[i] | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MEP_SVS, MET_SVS, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----
i | UNS16 | 0 ... [H_FKT_ANZ-1] | ----

Value H_FKT_ANZ | Significance
application-dependent | Maximum number of H-functions

Constant | Value | Significance
NO_SYNCH | 0x00000000 | No output of H-function to PLC
MOS | 0x00000001 | Output of H-function to PLC without synchronization
MVS_SVS | 0x00000002 | Output of H-function to PLC before the motion block, Synchronization before the motion block
MVS_SNS | 0x00000004 | Output of H-function to PLC before the motion block, Synchronization after the motion block
MNS_SNS | 0x00000008 | Output of H-function to PLC after the motion block, Synchronization after the motion block
MNE_SNS | 0x00000020 | Output of H-function to PLC after (measurement-)signal, Synchronization after the motion block (only for option edge banding)
BWD_SYNCH | 0x00400000 | Synchronization of H-function during backward on path as MVS_SVS
FWD_SYNCH | 0x00800000 | Synchronization of H-function during "Simulated forward on path" based on the defined synchronization type
MEP_SVS | 0x01000000 | Output of H-function before specified path, synchronization before next block
MET_SVS | 0x02000000 | Output of H-function before specified time, synchronization before next block
FAW_SYNCH | 0x10000000 | Stop of decoding (Flush and Wait): Output of H-function to PLC and stop of program decoding at block end until all NC blocks in NC-channel were executed. FAW_SYNCH can be set in addition to other synchronization types. H-functions with FAW_SYNCH may not be used during active tool radius correction (WRK), polynomial contouring and HSC-mode.

Examples see chapter 2.1.1.1- Synchronisation types of M-functions.


Pre-output of H-functions (P-CHAN-00107)

This parameter is used with synchronization types MET_SVS and MEP_SVS. The parameter h_pre_outp[i] defines the prediction value of H-code output time depending on type path to go or time to go before path interpolator processes the H code at block transition in programmed sequence. With type MET_SVS the parameter is time to go, with MEP_SVS the parameter is path to go (see also chapter 2.1.1.1.9).

Variable name | Type | Permitted range | Dimension
h_pre_outp[i] | UNS32 | 0 MAX_UNS32 | 0.1 µm or µs
i | UNS16 | 0 ... [H_FKT_ANZ-1] | ----

Value H_FKT_ANZ | Significance
application-dependent | Maximum number of H-functions

EXAMPLE: The output of the user specific H-function M96 to PLC must be executed 10 mm before reaching the synchronization position in the block sequence.

The output of the user specific H-function M97 to PLC must be executed 40 milliseconds before reaching the time of synchronization in the block sequence.

Extract from channel parameters list:

# Definition of H-functions and synchronisation types

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

:

h_synch[96] 0x01000000 MEP_SVS

h_synch[97] 0x02000000 MET_SVS

#

# Definition of pre-output time, pre-output path with MET_SVS, MEP_SVS

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

h_pre_outp[96] 100000 in 0.1 um

h_pre_outp[97] 40000 in us


Axis specific H-functions (P-CHAN-00025)

User specific H-functions programmed in the standard DIN-syntax, are processed and executed channel specific.

By the parameter h_default_outp_ax_name the user is able to force an axis specific processing of H-functions. For each H-function an axis name can be assigned. Not only path axes but also spindle axis are permissible.

Variable name | Type | Permitted range | Dimension
h_default_outp_ax_name[i] | ISG_CHAR | 0... [ACHS_NAME_LAENGE-1] | ----
i | UNS16 | 0 ... [H_FKT_ANZ-1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of the axis name

Value H_FKT_ANZ | Significance
application-dependent | Maximum Number of H-functions

EXAMPLE: The user specific H-function H10 programmed in the standard DIN-syntax effects on the Z-axis.
The user specific H-function H11 programmed in the standard DIN-syntax effects on the S2-spindle axis.

Extract from channel parameters list:

# Definition of axes specific H-functions

h_default_outp_ax_name[10] Z

h_default_outp_ax_name[11] S2


Time-out / Process time of H-functions (P-CHAN-00026)

TwinCAT CNC: Overview

Time-out / Process time of H-functions ( P-CHAN-00026)

With the array "h_prozess_zeit[i]" the time-out of H-functions is set. The index "i" defines the number of the H-function. If the calculation of processing time is activated, with this array the process times of H-functions are given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
h_prozess_zeit[i] | UNS32 | 0 < h_prozess_zeit < MAX(UNS32) | µs
i | UNS16 | 0 ... [H_FKT_ANZ-1] | ----

Value H_FKT_ANZ | Significance
application-dependent | Maximum number of H-functions

EXAMPLE: The following example sets the time-out respectively process time of H-function "H1" to 20ms.

Extract from channel parameters list:

# Time-out / Process time of H-functions

h_prozess_zeit[15] 20000


Settings for tool change (tool.* or werkzeug.*)

TwinCAT CNC: Overview

Settings for tool change (tool.* or werkzeug .*)

More:

button Synchronisation type of tool change (P-CHAN-00086)

button Time-out / Process time of tool change (P-CHAN-00072)

button Minimum tool length (P-CHAN-00156)

button Minimum tool radius (P-CHAN-00157)


Synchronisation type of tool change (P-CHAN-00086)

TwinCAT CNC: Overview

Synchronisation type of tool change ( P-CHAN-00086)

The element "synch" defines the synchronization type of a tool change.

Variable name | Type | Permitted range | Dimension
synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

Constant | Value | Significance
NO_SYNCH | 0x00000000 | No output of T-function to PLC
MOS | 0x00000001 | Output of T-function to PLC without synchronization
MVS_SVS | 0x00000002 | Output of T-function to PLC before the motion block, Synchronization before the motion block
MVS_SNS | 0x00000004 | Output of T-function to PLC before the motion block, Synchronization after the motion block
MNS_SNS | 0x00000008 | Output of T-function to PLC after the motion block, Synchronization after the motion block
MNE_SNS | 0x00000020 | Output of T-function to PLC after (measurement-)signal, Synchronization after the motion block (only for option edge banding)
BWD_SYNCH | 0x00400000 | Synchronization of T-function during backward on path as MVS_SVS
FWD_SYNCH | 0x00800000 | Synchronization of T-function during "Simulated forward on path" based on the defined synchronization type
FAW_SYNCH | 0x10000000 | Stop of decoding (Flush and Wait): Output of T-function to PLC and stop of program decoding at block end until all NC blocks in NC-channel were executed. FAW_SYNCH can be set in addition to other synchronization types. T-functions with FAW_SYNCH may not be used during active tool radius correction (WRK), polynomial contouring and HSC-mode.

Examples see chapter 2.1.1.1 - Synchronisation types of M-functions.


Time-out / Process time of tool change (P-CHAN-00072)

TwinCAT CNC: Overview

Time-out / Process time of tool change ( P-CHAN-00072)

With the element "prozess_zeit" the time-out of a tool change is set. If the calculation of processing time is activated, with this element the process time of the tool change is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
prozess_zeit | UNS32 | 0 < prozess_zeit < MAX(UNS32) | µs

EXAMPLE: The following example sets the time-out respectively process time of the tool change to 2s.

Extract from channel parameters list:

# Time-out / process time of the tool change

tool.prozess_zeit 2000000


Minimum tool length (P-CHAN-00156)

If this parameter is unequal to zero, the length of the new requested tool is checked for this minimum value. If the tool length is fallen below the limit, the error message P-ERR-21426 "Tool length is smaller than minimum limit value" is output.

The limit value has to be programmed in the dimension 0,1 µm.

Variable name | Type | Permitted range | Dimension
minimum_length | UNS32 | 0 < minimum_length < MAX(UNS32) | 0.1µm


Minimum tool radius (P-CHAN-00157)

If this parameter is unequal to zero, the radius of the new requested tool is checked for this minimum value. If the tool radius is fallen below the limit, the error message P-ERR-21427 "Tool radius is smaller than minimum limit value" is output.

The limit value has to be programmed in the dimension 0,1 µm.

Variable name | Type | Permitted range | Dimension
minimum_radius | UNS32 | 0 < minimum_radius < MAX(UNS32) | 0.1µm


Process time of homing (P-CHAN-00077)

TwinCAT CNC: Overview

Process time of homing ( P-CHAN-00077)

For the calculation of processing time the process time for homing must be set. This is defined with the element "rpf_prozess_zeit".

The element is used for calculation of processing time at the moment only.

Variable name | Type | Permitted range | Dimension
rpf_prozess_zeit | UNS32 | 0 < rpf_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: The following example sets the process time of homing to 3s.

Extract from channel parameters list:

# Process time of homing

rpf_prozess_zeit 3000000


Calculation model for M/H pre-output time (P-CHAN-00209)

For the M/H synchronisation type MET_SVS, the time calculation function for the pre-output time can be controlled by means of this parameter. If the parameter is set to the value 0, the pre-output time is calculated independently of the actually active slop profile with a linear profile model. If the slope profile is active, the profile time is then only estimated.

If the parameter is set to the value 1, the pre-output time is calculated depending on the active slope profile. Due to consideration of the ramp time in the case of the non-linear profile, more precise time values are obtained. The more complex algorithm in the time calculation function needs considerably more computing time in the CNC's real-time part, however.

Variable name | Type | Permitted range | Dimension
m_h_pre_outp_time_calc_mode | BOOLEAN | 0/1 | ----

0 | Time calculation model based on linear slope profile (default).
1 | Time calculation model based on active slope profile


Residual path/-time at M/H code look ahead (P-CHAN-00212)

By this parameter the calculation and allocation of residual path or time for the M/H synchronisation types MEP_SVS and MET_SVS can be activated. If the parameter is set to value 1, relating to the synchronisation point, after output of all M/H functions of the synchronisation types MEP_SVS and MET_SVS the residual path or time is calculated. The access on the values is supported via ADS*. Only after passing the current active synchronisation point there is a change to the next synchronisation point.

Variable name | Type | Permitted range | Dimension
m_h_pre_outp_calc_value_to_go | BOOLEAN | 0/1 | ----

0 | No calculation of residual path or time. As soon as all M functions of one synchronisation point have been output, there is a change to the next synchronisation point (default).
1 | M code look ahead with calculation of residual path or time. Only after passing the current active synchronisation point there is a change to the next synchronisation point.

Programming example

N10 G01 X10 G90 F5000

N20 X20

N30 X30

N40 X40

N45 M96

N50 X80

N60 X0

N70 M30

* ADS access: | Path to synchronisation point: [0.1 mikrom] Index Group: 0x21301 Offset: 0x27
 | Time to synchronisation point: [1 mikrosec] Index Group: 0x21301 Offset: 0x28


Dimensional units and resolutions

More:

button Dimensional unit for translatory axes (P-CHAN-00054)

button Dimensional unit for rotatory axes (P-CHAN-00079)

button Resolution of linear axes (P-CHAN-00034)

button Resolution of rotary axes (P-CHAN-00078)

button Resolution of spindles (P-CHAN-00083)


Dimensional unit for translatory axes (P-CHAN-00054)

In this element the dimensional unit is defined, in which the movements of all translatory axes in the NC-program will be programmed.

Variable name | Type | Permitted range | Dimension
mass_einh | UNS08 | 0, 1 | ----

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

EXAMPLE: Following example defines that all translatory axes are specified in the dimensional unit "millimeter" [mm] in the NC-program.

Extract from channel parameters list:

# Dimensional unit for translatory axes

mass_einh 0


Dimensional unit for rotatory axes (P-CHAN-00079)

In this element the dimensional unit is defined, in which the movements of all rotatory axes in the NC-program will be programmed.

Variable name | Type | Permitted range | Dimension
rund_mass_einh | UNS08 | 0, 1 | ----

0 | Dimensional unit is degree
1 | Dimensional unit is new degree

EXAMPLE: The following example defines that all rotatory axes are specified in the dimensional unit "degree" in the NC-program.

Extract from channel parameters list:

# Dimensional unit for rotational axes

rund_mass_einh 0


Resolution of linear axes (P-CHAN-00034)

This value represents the conversion factor between the traverse movements or positions programmed in the NC-program and the internal representation for positional values for linear axes.

Not to be confused with the resolution of measurement value encoder [AXIS]!

Variable name | Type | Permitted range | Dimension
lin_aufloes | REAL64 | 0 < lin_aufloes < MAX(REAL64) | ----

Internal representation in [0.1 µm] | Typical value for linear resolution | Programmed value in the NC--program in [mm]
10 000 [0.1 µm] | 10 000 | 1 [mm]

EXAMPLE: Following example defines that all translatory axes are specified in the dimension "millimeter" [mm] in the NC-program.

Extract from channel parameters list:

# Resolution of the linear axes

lin_aufloes 10000


Resolution of rotary axes (P-CHAN-00078)

This value represents the conversion factor between the traverse movements or the positions programmed in the NC-program and the internal representation for positional values for rotary axes.

Not to be confused with the resolution of measurement value encoder [AXIS]!

Variable name | Type | Permitted range | Dimension
rund_aufloes | REAL64 | 0 < rund_aufloes < MAX(REAL64) | ----

Internal representation in [0.0001 °] | Typical value for rotary axes-resolution | Programmed value in the NC-program in [°]
10 000 [0.0001 °] | 10 000 | 1 [°]

EXAMPLE: Following example defines that all rotatory axes are specified in the dimension "Degree" [] in the NC-program.

Extract from channel parameters list:

# Resolution of rotary axes

rund_aufloes 10000


Resolution of spindles (P-CHAN-00083)

This values represents the conversion factor between the positions programmed in the NC-program and the internal representation of positional values for spindles (M19).

This resolution is used for regulated and controlled spindles. It is used only for positional values (M19) and not for speed.

Not to be confused with the resolution of measurement value encoder [AXIS] !

Variable name | Type | Permitted range | Dimension
spind_aufloes | REAL64 | 0 < spind_aufloes < MAX(REAL64) | ----

Internal representation in [0.0001°] | Typical value for spindle resolution | Programmed value in the NC-program in [°]
10 000 [0.0001°] | 10 000 | 1 [°]

EXAMPLE: Following example defines that all spindles are specified in the dimension "Degree" [] in the NC-program.

Extract from channel parameters list:

# Resolution of the spindles

spind_aufloes 10000


Settings for tool management

More:

button Setting the functionality "t-together with-d" (P-CHAN-00014)

button Ident. code for external tool management (P-CHAN-00016)

button Information of external tool management (P-CHAN-00087)

button Saving and deleting of tool data (P-CHAN-00103)

button Transmitting tool life data to external tool management (P-CHAN-00076)

button Release of motion blocks during T-selection (P-CHAN-00106)


Setting the functionality "t-together with-d" (P-CHAN-00014)

TwinCAT CNC: Overview

Setting the functionality "t-together with-d" ( P-CHAN-00014)

If "einrechnen_mit_t" is set and a T-command is programmed then the D-command is automatically executed with the same number of the T-command.

Variable name | Type | Permitted range | Dimension
einrechnen_mit_t | BOOLEAN | 0/1 | ----

EXAMPLE: The flag "einrechnen_mit_t" is set to 1. The programming of "T80" then corresponds to the programming command "T80 D80".

Extract from channel parameters list:

# T_mit_D-Behandlung

einrechnen_mit_t 1


Ident. code for external tool management (P-CHAN-00016)

TwinCAT CNC: Overview

Ident. code for external tool management ( P-CHAN-00016)

If in the system an external tool management is present, then this flag is to be set to 1.

Variable name | Type | Permitted range | Dimension
ext_wzv_vorhanden | BOOLEAN | 0/1 | ----

EXAMPLE: In the system an external tool management is present. The flag "ext_wzv_vorhanden" is set to "1".

Extract from channel parameters list:

# Flag for external tool management

ext_wzv_vorhanden 1


Information of external tool management (P-CHAN-00087)

TwinCAT CNC: Overview

Information of external tool management ( P-CHAN-00087)

If the flag is activated, after programming a T-command a message is sent to the external tool management to prepare the magazine for the tool change. This flag is only evaluated if an external tool management is present (P-CHAN-00016). Therefore it only makes sense to activate this flag, if the flag for an external tool management is also activated.

Variable name | Type | Permitted range | Dimension
t_info_to_wzv | BOOLEAN | 0/1 | ----

EXAMPLE: If the T-command is programmed the external tool management shall be informed to prepare the tool change.

Extract from channel parameters list:

# Flag for external tool management

ext_wzv_vorhanden 1

# Info to external tool management

t_info_to_wzv 1


Saving and deleting of tool data (P-CHAN-00103)

Tool data of the current tool (e.g. wear parameters) can be modified via variable access (V.G.WZ_AKT...) inside the NC program.

To save this data, they are send back to external tool management at selection of a new tool. If a tool was used in a previous NC program, at next program start implicitly a D0 (deselection of tool) is requested. Inside this request at the same time the data of this last used tool were transmitted back to external tool management. So it is ensured, that no modified tool data are lost.

This implicit request of D0 at program start can be controled by the parameter "d_clear_to_wzv". This flag is only evaluated if an external tool management is present (P-CHAN-00016).Therefore it only makes sense to activate this flag, if the flag for an external tool management is also activated.

Variable name | Type | Permitted range | Dimension
d_clear_to_wzv | BOOLEAN | 0/1 | ----

At Reset no implicit D0 is requested. This means, the data of the last used tool were saved only at the next program start.

This parameter is used only under TwinCAT-systems.


Transmitting tool life data to external tool management (P-CHAN-00076)

For controllers running under TwinCAT usually only the tool data is requested from the external tool management if parameter P-CHAN-00016 is set. To transmit the tool life data from the CNC to the external tool management the parameter "tool_life_to_wzv" has to be set additionally.

Variable name | Type | Permitted range | Dimension
tool_life_to_wzv | BOOLEAN | 0/1 | ----

This parameter is used only under TwinCAT-systems.

Example: To transmit the tool life data to the external tool manager the parameters "ext_wzv_vorhanden" and "tool_life_to_wzv" have to be set to 1.

Extract from channel parameters list:

# Flag for external tool management

ext_wzv_vorhanden 1

# Flag to tansmit tool life data

tool_life_to_wzv 1


Release of motion blocks during T-selection (P-CHAN-00106)

The T-word can causes waiting periods during the normal processing, because the communication between NC-channel and external tool management must be synchronized. Because of the buffering of the NC-channel this behaviour can lead to a blocking of a certain number of motion blocks programmed before the T-word. By setting t_with_implicit_flush = 1 it can be forced, that all motion blocks up to the T-word are executed. The mechanism behind is an implicite released "#FLUSH CONTINUE" (vgl. [PRG]) initiated by the T-word.

This flag is only evaluated if an external tool management is present (P-CHAN-00016). Therefore it only makes sense to activate this flag, if the flag for an external tool management is also activated.

Variable name | Type | Permitted range | Dimension
t_with_implicit_flush | BOOLEAN | 0/1 | ----


Settings for edge banding

Edge banding is also described in [PROG].

More:

button Residual path (P-CHAN-00030)

button Block global edge banding (P-CHAN-00029)

button Reject rest block (P-CHAN-00149)

button Modal active measurement (P-CHAN-00153)


Residual path (P-CHAN-00030)

TwinCAT CNC: Overview

Residual path ( P-CHAN-00030)

The residual path is the path still to be covered during edge banding after the arrival of the measurement signal. The dimensional unit will be according to the settings for units and resolutions.

Please consider that for curved contours the residual path has to be specified based on the centre point path of the tool!

Variable name | Type | Permitted range | Dimension
kasto_residual_path | SGN32 | 0 < kasto_residual_path < MAX(SGN32) | ----

EXAMPLE: After the arrival of the measurement signal, further traversing is done for 100 units more.

Extract from channel parameters list:

# residual path for edge milling

kasto_residual_path 100


Block global edge banding (P-CHAN-00029)

For contours that are described by many short motion blocks (e.g. generated by CAD/CAM tool), it is difficult to match the measuring signal of edge banding on a defined motion block. If you enable this parameter, it is possible to do edge banding over several blocks after start of the measuring traverse [PROG].

Variable name | Type | Permitted range | Dimension
kasto_multi_block | BOOLEAN | 0/1 | ----

EXAMPLE: The block global edge banding is enabled.

Extract from channel parameters list:

# Flag for block global edge banding

kasto_multi_block 1


Reject rest block (P-CHAN-00149)

After output and acknowledgement of the edge banding spezific M function the motion to the target point of the current measurement block is not continued. After implicit position request the machining is continued with the next programmed NC block.

Variable name | Type | Permitted range | Dimension
kasto_reject_rest_block | BOOLEAN | 0/1 | ----

0 | After output of the M function the measurement block is continued up to the target point (Default)
1 | After output of the M function the rest of the measurement block is rejected.

This parameter is only useful, if P-CHAN-00029 (kasto_multi_block) is set to FALSE.

EXAMPLE: The rejecting of the rest block with following position request is enabled.

Extract from channel parameters list:

# Reject rest block

kasto_reject_rest_block 1


Modal active measurement (P-CHAN-00153)

A measurement process requires the programming of G108 with a subsequent MNE_SNS- M function. By this parameter the fast measurement processing in combination with SERCOS drives can be activated.

Then within a processing loop the measurement cycles are started each with the programmed MNE_SNS- M function.

Variable name | Type | Permitted range | Dimension
kasto_remain_active | BOOLEAN | 0/1 | ----

0 | For every measurement cycle G108 with a subsequent MNE_SNS- M function has to be started (Default). Programming example: M33 with synchronization type MNE_SNS N10 $WHILE V.E.WAIT != 1 N10 G108 N20 G01 G90 X50 N30 G01 G90 X100 F2000 M33 N40 X0 Y20 N50 $ENDWHILE M30
1 | For several measurement cycles G108 has only be programmed once. Activation of measurement process in CNC is done with MNE_SNS- M function. Programming example: M33 with synchronization type MNE_SNS N05 G108 N10 $WHILE V.E.WAIT != 1 N20 G01 G90 X50 N30 G01 G90 X100 F2000 M33 N40 X0 Y20 N50 $ENDWHILE N60 G107 M30

This parameter is only useful, if P-CHAN-00029 (kasto_multi_block) is set to FALSE.

EXAMPLE: Fast measurement for G108 is active.

Extract from channel parameters list:

# Modal active measurement initialization in drive

kasto_remain_active 1


Settings for measurement

More:

button Measurement type (P-CHAN-00057)

button Error reaction in the case of measurement type 1 (P-CHAN-00176)


Measurement type (P-CHAN-00057)

Seven different measurement types are available. With this element, the desired measurement type can be set.

Variable name | Type | Permitted range | Dimension
messtyp | UNS16 | 1, 2, 3, 4, 5, 6, 7 | ----

Value | Significance
1 | Measurement travel with at least one axis, Measurement feed programmable through F-Word.
2 | Measurement travel with exactly one axis. Measurement feed is specified in the axis data list.
3 | Measurement travel with at least one axis, Measurement feed programmable through F-Word, optionally further traverse up to the destination point.
4 | Measurement travel only with the maximum of 3 main axes, Measurement feed programmable through F-Word.
5 | Interruptible measurement travel with at least one axis, Measurement feed programmable through F-Word.
6 | Interruptible measurement travel with at least one SERCOS-Axis, Measurement feed programmable through F-Word.
7 | Measurement travel by moving on a fixed stop with at least one axis, Measurement feed programmable through F-Word.

The different measurement types 1-6 are also described in [PROG].

EXAMPLE: Selection of measurement type 3 for a measurement travel with two axes and subsequent further traverse up to the programmed destination point.

Extract from channel parameters list:

# Setting of measurement type

messtyp 3


Error reaction in the case of measurement type 1 (P-CHAN-00176)

In the case of measurement type 1, the error reaction when the measurement signal is missing from the measurement block can be influenced with this parameter.

Variable name | Type | Permitted range | Dimension
meas_error_no_signal | BOOLEAN | 0/1 | ----

0 | No output of an error message if no measured signal has arrived (Default)
1 | Output of an error message if no measured signal has arrived.

Extract from channel parameters list:

# Setting the error reaction in the case of measurement type 1

meas_error_no_signal 1


Main program modal validity of P-parameters (P-CHAN-00067)

If the parameter "p_param_haltend" is set to 1 then the P-parameter will be active at inter program level, i.e. they will not be deleted at the time of program start.

Variable name | Type | Permitted range | Dimension
p_param_haltend | BOOLEAN | 0/1 | ----

EXAMPLE: All P-parameter should be globally active. The parameter "p_param_haltend" is therefore allocated with 1.

Extract from channel parameters list:

# Ident. code for program global effectiveness of P-parameter

p_param_haltend 1


Single step operating mode (P-CHAN-00015)

If "einzelschrittmodus" is set to -1 and single step mode is activated via HMI, then only at the end of NC-blocks with axes movements a stoppage occurs.

If "einzelschrittmodus" is set to 0 and single step mode is activated via HMI, then at the end of NC-blocks with axes movements and other NC blocks with relevant control informations a stoppage occurs.

If "einzelschrittmodus" is set to 1 and single step mode is activated via HMI, then at the end of every NC-block a stoppage occurs. Only the comment lines are skipped.

If motion blocks are added or block limits are changed by some specific NC commands (e.g. tool radius compensation, spline, polynomial contouring ...), this new block limits also define the stoppage in single step mode.

Variable name | Type | Permitted range | Dimension
einzelschrittmodus | SGN16 | -1, 0, 1 | ----

-1 | Single step mode only for NC motion blocks
0 | Single step mode for NC motion blocks and relevant control blocks (Default)
1 | Single step mode for all NC blocks


Settings for diameter programming (P-CHAN-00091)

If the zero offsets and co-ordinate preset for transverse turning axis are specified in diameter co-ordinates, then this element must be set to 1.

Variable name | Type | Permitted range | Dimension
versch_im_durchm | BOOLEAN | 0/1 | ----

Diameter programming is also described in [PROG].

EXAMPLE: The zero offsets and co-ordinate preset for transverse turning axis are specified in diameter co-ordinates, then respectively only half the traverse distance will result.

Extract from channel parameters list:

# Zero offset and co-ordinate preset of transverse turning axis in diameter co-ordinates

versch_im_durchm 1


Settings for circle centre point correction and radius compensation

A circle that is determined in the NC-program through starting point, end point and middle point is geometrically over determined. In the case of inaccurately programmed circle co-ordinates, the radius of the starting point of the circle and the end of the circle will be different. This problem is solved by correcting the co-ordinates of the centre point of the circle and of the radius of the circle. The algorithm of the correction of the centre point of the circle has been described in greater detail in [PROG]. The correction algorithm provides a usable result for all and even for geometrically meaninglessly programmed circle co-ordinates. In some cases the deviations between programmed and corrected centre point co-ordinates become correspondingly large. Hence, the new, calculated centre point co-ordinates are subjected to a plausibility test.

It will be verified whether the centre point offset Δm is greater than the maximum centre point offset "mittelpkt_diff" laid down as absolute value in the channel parameters.

Δm > sda_mds.mittelpkt_diff ?

and whether the centre point offset Δm is greater than the product of "mittelpkt_faktor/1000" and the corrected radius "radius".

Δm > sda_mds.mittelpkt_faktor/1000 * radius ?

If this is the case then an error message occurs. Otherwise the corrected centre point co-ordinates will be included. Here, "mittelpkt_diff" should be determined as absolute value, "mittelpkt_faktor" as factor (unit 0,1 %).

The programmed centre point co-ordinates must thus lie in a circumcircle around the corrected centre point of the circle. The radius of this circumcircle corresponds to the permissible centre point offset Δm, which can be set using the two parameters "mittelpkt_diff" and "mittelpkt_faktor" (Fig. 2-2).

Fig. 2-2: Zone of permissibly programmed centre points

More:

button Permissible absolute centre point offset (P-CHAN-00059)

button Permissible relative centre point offset (P-CHAN-00060)

button Maximum permissible absolute radius difference (P-CHAN-00171)

button Maximum permissible percentage radius difference (P-CHAN-00172)


Permissible absolute centre point offset (P-CHAN-00059)

Using the parameter "mittelpkt_diff" the absolute limit of accuracy of centre point programming can be defined. The permissible absolute centre point offset "mittelpkt_diff" must be determined in the dimension "0,1 µm".

Variable name | Type | Permitted range | Dimension
mittelpkt_diff | REAL64 | 0 < mittelpkt_diff < MAX(REAL64) | 0,1 µm

EXAMPLE: The permissible absolute centre point offset should be 0,1 mm. The variable "mittelpkt_diff" is in this case with "1000".

Extract from channel parameters list:

# Permissible absolute centre point offset 0.1 mm

mittelpkt_diff 1000


Permissible relative centre point offset (P-CHAN-00060)

Using the parameter "mittelpkt_faktor" the permissible relative centre point offset can be determined. The parameter "mittelpkt_faktor" is defined in the dimension [0,1%].

Variable name | Type | Permitted range | Dimension
mittelpkt_faktor | UNS16 | 0 < mittelpkt_faktor < MAX(UNS16) | 0,1 %

EXAMPLE: The centre point offset may amount to 0,5 % of the corrected radius of circle. The parameter "mittelpkt_faktor" should be in this case allocated with "5".

Extract from channel parameters list:

# Permissible relative centre point offset in 0.1 %

mittelpkt_faktor 5


Maximum permissible absolute radius difference (P-CHAN-00171)

The permissible absolute radius difference of the circle radii between the starting point and the destination point is defined via the "max_radius_diff_circle" parameter. If the radius difference of a programmed circle is under the limit defined by P-CHAN-00171, starting from the starting radius the circle radius is transferred in a linear fashion to the destination radius; - otherwise, an error message is issued. If the parameter is not assigned or is assigned the value 0, the function is inactive.

P-CHAN-00171 is active only when circle centre point compensation is inactive (G164)

Variable name | Type | Permitted range | Dimension
max_radius_diff_circle | UNS32 | 0 < max_radius_diff_circle < 10000 | 0.1 µm

EXAMPLE: The circle radius error may amount to 0.01mm. The parameter must be assigned the value 100.

Extract from channel parameters list:

# Permissible absolute radius difference in 0.1 µm

max_radius_diff_circle 100


Maximum permissible percentage radius difference (P-CHAN-00172)

The permissible relative radius difference referred to the circle radius in per mil is specified via the "max_proz_radius_diff_circle" parameter. If the relative radius difference of a programmed circle is under the limit defined by P-CHAN-00172, starting from the starting radius the circle radius is transferred in a linear fashion to the destination radius; - otherwise, an error message is issued. P-CHAN-00171 must be taken into consideration with respect to the effectively active circle radius difference error.

P-CHAN-00172 is effective only in combination with G164 and the P-CHAN-00171 channel parameter.

Variable name | Type | Permitted range | Dimension
max_proz_radius_diff_circle | UNS32 | 0 < max_proz_radius_diff_circle < 1000 | 0.1 %

EXAMPLE: The percentage circle radius error may amount to 1%. The parameter must be assigned the value 10.

Circle radius 100mm -> permissible relative circle radius difference 1mm.

Extract from channel parameters list:

# Permissible percentage radius difference in 0.1 %

max_proz_radius_diff_circle 10


Settings for RESET

More:

button Axes release after Reset (P-CHAN-00075)

button Release of non-channel axes after Reset (P-CHAN-00115)


Axes release after Reset (P-CHAN-00075)

The parameter "reset_no_axis_to_axv" determines, if during a Reset all axes of a channel are released to the axes management.

Variable name | Type | Permitted range | Dimension
reset_no_axis_to_axv | BOOLEAN | 0/1 | ----

0 | During RESET all axes are released to axes management (Default)
1 | During RESET all axes remain in channel


Release of non-channel axes after Reset (P-CHAN-00115)

The parameter "release_non_channel_axis" determines, if during a Reset all path axes, which do not belong to the default channel configuration, are released to the axes management. This does not concern the so called SAI axes, because these always are released to the axes management!

The setting of this parameter is only useful, if P-CHAN-00075 (reset_no_axis_to_axv) is TRUE.

Variable name | Type | Permitted range | Dimension
release_non_channel_axis | BOOLEAN | 0/1 | ----

0 | During RESET all non-channel axes remain in channel (Default)
1 | During RESET all non-channel axes are released to axes management


Maximum channel override (P-CHAN-00056)

This parameter "max_vb_override" limits the maximum override in the channel.

Variable name | Type | Permitted range | Dimension
max_vb_override | UNS32 | 0 < max_vb_override < MAX_VB_OVERRIDE | per thousand

Value MAX_VB_OVERRIDE | Significance
application-dependent | Maximum value of channel override

EXAMPLE: The limit of the maximum channel override is 150%.

Extract from channel parameters list:

max_vb_override 1500


Sampling of Override (P-CHAN-00065)

To avoid excitation of oscillations of the machine, only the first change of override value is applied for calculation of velocity in the same cycle.

After that the next override value is applied after the time "override_delay" has passed only. So excitation of oscillations of the machine because of override changes can be avoided.

Variable name | Type | Permitted range | Dimension
override_delay | UNS32 | 10 * Cycle time < override_delay < 100 s | µs

EXAMPLE: The delay time for override is set to 50 ms.

Extract from channel parameters list:

override_delay 50000


Mode of the Override

More:

button Effect on feed (P-CHAN-00066)

button Effect on acceleration (P-CHAN-00170)

button Rapid traversing override (P-CHAN-00181)

button Time override (P-CHAN-00111)


Effect on feed (P-CHAN-00066)

This parameter defines if the override value is applied to programmed feed of to the minimum of programmed feed and maximum permissible feed in the current block.

If this parameter is enabled, the override value is applied to programmed feed always. If maximum permissible feed of the block is smaller than programmed feed multiplied by override value, the feed on the path will not be changed even override value is changed.

If this parameter is disabled, every change of override leads to a change of velocity always (linear correlation).

If because of technological reasons velocity must no drop, the parameter must be set to 1.

Variable name | Type | Permitted range | Dimension
override_weight_prog_feed | BOOLEAN | 0/1 | ----

0 | Change of override causes a change of velocity.
1 | Velocity is only changed, if programmed feed * override value < maximum permissible feed of the block.


Effect on acceleration (P-CHAN-00170)

By means of this entry, you can define that the feed override also influences acceleration along the path.

If the element is set to 1, the acceleration along the path is influenced up to a minimum value of 10% of the override value, i.e. the path dynamics decrease as the override value decreases (movements become "softer"). The influence takes effect on feed and rapid traversing blocks. If necessary, the acceleration in the event of an override change in dynamic movement phases towards higher values is limited. In the case of non-linear profiles and short ramp times, limiting by the ratio of the cycle time to the ramp time must be taken into consideration. The function is not active if the rapid traversing override interface is active according to P-CHAN-00181.

The active acceleration in the case of feed hold is not changed!

If the element is set to 0, the value of the feed override has no influences on the acceleration along the path.

Variable name | Type | Permitted range | Dimension
override_weight_acc | BOOLEAN | 0/1 | ----

0 | Override change does not produce a change in the acceleration along the path.
1 | Beside producing a change in the path feed rate, an override change also produces a change in the acceleration along the path.

Fig. 2-3: Feed profile in the case of override_weight_acc = 1 and override change

When the parameter is set, direct weighting of the acceleration along the path via the PLC acceleration override interface is inactive!


Rapid traversing override (P-CHAN-00181)

You can use this entry to define whether the override interface for influencing rapid traversing blocks is active and how the rapid traversing override is to take place. The activation of the interface deactivates the influencing of the acceleration according to P-CHAN-00170.

Variable name | Type | Permitted range | Dimension
g00_override_mode | String | NOT_USED, MINIMUM_OF_G0_G1, ACTIVE | ----
 | UNS16 | 0/1/2 (alternativ zu String) | ----

NOT_USED | 0 | Rapid traversing override is inactive. Rapid traversing override acts on feed and rapid traversing blocks.
MINIMUM_OF_G0_G1 | 1 | Rapid traversing override is active. The feed override acts in the case of feed blocks and minimum of the feed and rapid traversing override acts in the case of rapid traversing blocks.
ACTIVE | 2 | Rapid traversing override is active. The feed override acts in the case of feed blocks and only the rapid traversing override acts in the case of rapid traversing blocks.

Please note in ACTIVE mode, that G0 movements can be influenced solely by the rapid traversing override!


Time override (P-CHAN-00111)

This parameter defines, if the dwell time is influenced by the real time function "time override".

Variable name | Type | Permitted range | Dimension
time_override_weight_dwell_time | BOOLEAN | 0/1 | ----

0 | No influencing of the programmed dwell time by time override.
1 | The duration of a programmed dwell time is changing corresponding to the given time override by the PLC. This means, eg. at 50% time override the programmed dwell time of 1s is increasing for the factor 2 on 2s.


Mode of PLC command feed (P-CHAN-00102)

This parameter defines whether PLC command feed is active only with feed blocks or also with rapid movement.

Variable name | Type | Permitted range | Dimension
plc_command_rapid_feed | BOOLEAN | 0/1 | ----

0 | PLC command feed is only active with feed movement blocks (G01, G02 ;G03)
1 | PLC command feed is also active with rapid movement blocks (G00)


Settings for vector dynamic limits (vector.*)

In general the permissible velocity, acceleration and deceleration on path depends on dynamic values of axes defined in axis parameter lists and the programmed contour. With the following parameters the vector acceleration / deceleration and velocity default limits are initialised. The activation/deactivation and modification of the limits can be done by NC command (for additional information see [PROG - Command #VECTOR LIMIT..]).

More:

button Vector acceleration limit (P-CHAN-00002)

button Vector deceleration limit (P-CHAN-00208)

button Vector velocity limit (P-CHAN-00090)


Vector acceleration limit (P-CHAN-00002)

If activated and not modified in NC program, acceleration on path will not exceed this limit.

Variable name | Type | Permitted range | Dimension
acceleration | REAL64 | 0 .SLOPE_BESCHL_MAX | mm/min2


Vector deceleration limit (P-CHAN-00208)

If activated and not modified in NC program, deceleration on path will not exceed this limit.

Variable name | Type | Permitted range | Dimension
deceleration | REAL64 | 0 .SLOPE_BESCHL_MAX | mm/min2


Vector velocity limit (P-CHAN-00090)

If activated and not modified in NC program, velocity on path will not exceed this limit.

Variable name | Type | Permitted range | Dimension
velocity | REAL64 | 0 ..SLOPE_VB_MAX | mm/min

Extract from channel parameters list:

vector.velocity 1500

vector.acceleration 1800000

vector.deceleration 2000000


Configuration of effector coordinate system (ECS)

For the definition of an effector coordinate system (ECS) the Z (effector) axis is usually determined based on the tool orientation. The positions of the X and Y (effector) axes are basing on the following parameter settings. Please note, that the ECS system is defined in a way, that the Z component of the direction vector of the resulting third axis always points in positive direction of the cartesian machine coordinate system.

More:

button Selection of the second axis of ECS (P-CHAN-00031)

button Selection of the plane (P-CHAN-00050)


Selection of the second axis of ECS (P-CHAN-00031)

With this parameter it is defined whether the second axis for ECS shall be the X- or Y-axis.

Variable name | Type | Permitted range | Dimension
kind_of_2nd_ecs_ax | String | X, x, Y oder y | ----


Selection of the plane (P-CHAN-00050)

With this parameter the main plain of the machine coordinate system is selected in which this second ECS-axis shall be laying.

Variable name | Type | Permitted range | Dimension
mach_plane_of_2nd_ecs_ax | String | XY, xy, ZX, zx, YZ, yz | ----

The direction of the second and third axis is calculated in a way, that the result is a right-handed system. In this case the third axis is always on the same side of the plane like the Z (effector) axis.

The following 2 examples show the correct settings of P-CHAN-00031 and P-CHAN-00050.

Examples:

kind_of_2nd_ecs_ax | X
mach_plane_of_2nd_ecs_ax | XY

kind_of_2nd_ecs_ax | Y
mach_plane_of_2nd_ecs_ax | YZ


Tracking of a rotator axis

The following parameters are necessary for processes, which requires the tracking of the used tool along the contour of a trajectory with a constant orientation.

More:

button Definition of the tracking axis (P-CHAN-00095)

button Automatic orientation of a tracking axis (P-CHAN-00101)

button Activation of tracking operation without stopping (P-CHAN-00109)

button Suppression of a rotatory CS offset (P-CHAN-00144)

button Tracking axis relating to workpiece (P-CHAN-00185)


Definition of the tracking axis (P-CHAN-00095)

The parameter "log_number_tracking_axis" defines the axis, which is always orientated to the trajectory after activation of axis tracking (so called C-axis tracking).

Variable name | Type | Permitted range | Dimension
log_number_tracking_axis | UNS16 | 1 ... MAX(UNS16) | ----

EXAMPLE: In tracking mode the axis with the logical axis number 5 should be orientated tangential to the path contour.

Extract from channel parameters list:

log_number_tracking_axis 5


Automatic orientation of a tracking axis (P-CHAN-00101)

By the parameter "auto_align_tracking_axis" the tracking axis is orientated automatically tangential to the first contour element. For modulo axis the orientation movement is done on the shortest way. The movement on the trajectory is always stopped during the orientation movement.

Variable name | Type | Permitted range | Dimension
auto_align_tracking_axis | BOOLEAN | 0/1 | ----

0 | During tracking operation the offset of the orientation of the tracking axis to the first contour element at the moment of activation stays constant! To reach a tangential orientation of the tracking axis to the first contour element, this compensation movement must be programmed
1 | During activation the tracking axis is orientated automatically tangential to the first contour element. No compensation movement must be programmed.


Activation of tracking operation without stopping (P-CHAN-00109)

If the tracking axis (see P-CHAN-00095) already has the necessary orientation to the first contour element during activation of tracking operation, with active "fast_tracking_transition" the movement on the trajectory is not interrupted.

Variable name | Type | Permitted range | Dimension
fast_tracking_transition | BOOLEAN | 0/1 | ----

0 | During activation of tracking operation the movement on the trajectory is stopped and if necessary an orientation movement is executed.
1 | At correct orientation of the tracking axis without stopping the following contour element is moved.


Suppression of a rotatory CS offset (P-CHAN-00144)

During an active coordinate system (#CS ON[]) a rotation around the Z axis is considered as offset for the tracking axis during automatic tracking and orientation. If this behaviour is not desired, the consideration of the rotatory coordinate system offset can be suppressed with "suppress_cs_tracking_offset".

Variable name | Type | Permitted range | Dimension
suppress_cs_tracking_offset | BOOLEAN | 0/1 | ----

0 | Rotatory coordinate system offset is active.
1 | Rotatory coordinate system offset is not active.


Tracking axis relating to workpiece (P-CHAN-00185)

In the default setting the tracking axis is related to the tool, this means the tracking axis is turning the tool. Based on a machine structure, where the workpiece is turned by a C axis in connection with a kinematic transformation, the tracking axis can be adapted by this parameter. In doing so, the tool axis has to be vertically aligned on the XY plane.

Variable name | Type | Permitted range | Dimension
tracking_axis_rot_wc | BOOLEAN | 0/1 | ----

0 | The tracking axis is an axis in the tool (Default).
1 | The tracking axis is an axis in the workpiece.


Switching the default feed axis (P-CHAN-00096)

The parameter feed_to_weakest_axis defines the valid default setting for feed axes.

If the parameter is 0, after startup of the control the axis specific settings for feed axes are valid (gruppe [i].*).

If the parameter is 1, automatically the axes with the longest running time (weakest axis) is moved as feed axis with the programmed feed (F-Word). All other axes are treated as tracking axes.

Variable name | Type | Permitted range | Dimension
feed_to_weakest_axis | BOOLEAN | 0/1 | ----

0 | Default feed axes of the axis specific settings are valid
1 | Weakest axis is default feed axis


Valid deceleration at FEEDHOLD (P-CHAN-00097)

This parameter defines the used deceleration ramp on active FEEDHOLD.

Variable name | Type | Permitted range | Dimension
use_drive_curr_limit | BOOLEAN | 0/1 | ----

0 | On FEEDHOLD slowdown with the valid deceleration value.
1 | On FEEDHOLD use deceleration set up in P-AXIS-00024 .


Switching of the meaning of M-Functions (P-CHAN-00098)

Corresponding to DIN66025 dependend on the processing method and the type of machine some specific M-functions have different meanings.

For machines with cutting operation (e.g. milling/turning/driling) M3/M4/M5/M19 are assigned fix to the spindle functions (direction of rotation, stopping, positioning).

For processing methods like plasma-/laser cutting or wire spark-erosion the mentioned M-functions are used for the control of other technology functions.

To ensure a free assignment, the meaning of the M-functions M3/M4/M5/M19 can be switched by the parameter "spindle_m_fct_free".

Variable name | Type | Permitted range | Dimension
spindle_m_fct_free | BOOLEAN | 0/1 | ----

0 | M3/M4/M5/M19 are fix assigned to the spindle M-functions (Default, if there are spindles in the channel).
1 | M3/M4/M5/M19 are free available for other technology functions. For use they must be defined in m_synch[i]. Caution: The M-functions are not spindle functions any more!

For the combination of cutting and beaming processes on the same machine there is the possibility, to redefine the meaning of the M-functions M3/M4/ M5/M19 in NC program by the variable V.SPDL.M_FCT_FREE anytime [PROG]!


Effectiveness of tool compensation data (P-CHAN-00100)

The parameter "move_tool_offsets_directly" defines the time of the effectiveness of the tool compensation data (tool length compensation, tool position compensation) programmed by the D-word.

Variable name | Type | Permitted range | Dimension
move_tool_offsets_directly | BOOLEAN | 0/1 | ----

0 | After a D-word the compensating movement for the new tool data is only executed for an axis, when the next traverse information is programmed to be absolute (G90). (Default)
1 | The compensating movement in the corresponding axes is executed directly at the D-word without programming of an absolute traverse preparatory function (in conformity to DIN 66025).


Suppression of warnings during contour masking (P-CHAN-00021)

The machine user is informed by a warning, if during active contour masking a contour violation is recognized. This output of a warning can be controled by the parameter "create_cont_mask_warnings"

Variable name | Type | Permitted range | Dimension
create_cont_mask_warnings | BOOLEAN | 0/1 | ----

0 | No output of a warning at contour violation (Default).
1 | Output of a warning at contour violation.


Configuration of the path axes

In this chapter the elements for the configuration of the path axes are described. The path axes are classified in the channel into axis groups. In the example in

Fig. 2-4

an axis configuration with two axis groups is shown. In addition, all the relevant elements of the channel parameters list are shown.

At the moment only axis configurations with one axis group is possible.

Axes of typ spindle may not be declared as path axes, because after startup these axes are managed by a spindle interpolator.

Fig. 2-4: Example for axis configuration with two axis groups.

For the example in

Fig. 2-4

the following allocation of elements of channel parameters is obtained:

Axis | Axis group index "achsen_idx" | Axis designation gruppe[i].achse[i]. bezeichnung" | logical axis number "log_achs_nr"
1 | 0 | X | 3
2 | 1 | Y_ACHSE | 1
3 | 2 | Z | 5
4 | 3 | W | 2
5 | 0 | C1 | 7
6 | 1 | B | 6

No. Of axis groups | "grp_anzahl" | 2
Axis group designation | "gruppe[0].bezeichnung" "gruppe[1].bezeichnung" | GRUPPE1 GRUPPE2
No. Of axes in each axis group | "gruppe[0].achs_anzahl" "gruppe[1].achs_anzahl" | 4 2

More:

button Number of axis groups (P-CHAN-00023)

button Axis group specific elements

button Axis structure (gruppe[i].achse[j].*)


Number of axis groups (P-CHAN-00023)

The number of axis groups is determined with "grp_anzahl".

Variable name | Type | Permitted range | Dimension
grp_anzahl | UNS16 | 0 ... [SDA_GRPMAX] | ----

Value SDA_GRPMAX | Significance
1 | Maximum number of axis groups

At the moment only axis configurations with one axis group is permitted. The structure element "grp_anzahl" must therefore be allocated with 1.

EXAMPLE: The axes are organised in one axis group.

Extract from channel parameters list:

# Number of axis groups

grp_anzahl 1


Axis group specific elements

More:

button Axis group structure (gruppe[i].*)

button Axis group designation (P-CHAN-00005)

button Number of axes in each axis group (P-CHAN-00003)


Axis group structure (gruppe[i].*)

This structure contains the axis group designation, the number of axis and the axis structure.

Variable name | Type | Index | Dimension
gruppe[i] | SDA_GRP_DATEN | i = 0 ... [SDA_GRPMAX-1] | ----

Value SDA_GRPMAX | Significance
1 | Maximum number of axis groups


Axis group designation (P-CHAN-00005)

With this element the designation of the axis groups in the channel is determined. Here, a string is used.

Variable name | Type | Permitted range | Dimension
bezeichnung | GRUPPE_NAME | String | ----

Variable name | Type | Index | Dimension
zeichen[m] | SGN08 | m = 0 ... [ACHS_NAME_LAENGE - 1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of axis group designation

EXAMPLE: The axis group[0] should get the designation GRUPPE_1.

Extract from channel parameters list:

# Designation of axis group

gruppe[0].bezeichnung GRUPPE_1


Number of axes in each axis group (P-CHAN-00003)

The number of axes in an axis group j is determined with "gruppe[i].achs_anzahl". Only defined axes are counted, gaps in the axes configuration are not considered.

Variable name | Type | Permitted range | Dimension
achs_anzahl | UNS16 | 0 ... SDA_AXMAX | ----

Value SDA_AXMAX | Significance
application-dependent | Maximum number of axis

Only an axes configuration with one axis group is permitted.

EXAMPLE: The axis group[0] contains 3 axes.

Extract from channel parameters list:

# Number of axes in the individual axis groups

gruppe[0].achs_anzahl 3

2.24.2.4 Program for sub call (P-CHAN-00084)

Name of the program that is executed if a SUBCALL event is received from the interpolator. The program is searched in the paths specified in file hochlauf.lis and executed before the "normal" execution is resumed.

Variable name | Type | Permitted range | Dimension
sub_call | PROG_NAME | String | ----

Extract from channel parameters list:

gruppe[0].sub_call sub_prog.nc

At the moment only axis configurations with one axis group is permitted.


Axis structure (gruppe[i].achse[j].*)

This structure contains the axis specific elements.

Variable name | Type | Index | Dimension
achse[j] | ACHSDATEN | j = 0 ...[SDA_AXMAX-1] | ----

Value SDA_AXMAX | Significance
application-dependent | Maximum number of axis

More:

button Axis designation (P-CHAN-00006)

button Logical axis number (P-CHAN-00035)

button Default feed axis (P-CHAN-00011)


Axis designation (P-CHAN-00006)

Here, a string is permitted. With this variable the axis designations of axes belonging to a specific group are preset to the Interpolator. The corresponding axis number is preset using the parameter "log_achs_nr".

The axis designations must begin with the letters A, B, C, U, V, W, X, Y, Z or Q. Subsequently, all the letters and digits are possible. The axis designations must be distinct.

Variable name | Type | Index | Dimension
bezeichnung | ACHS_NAME | String | ----

Variable name | Type | Index | Dimension
zeichen[m] | SGN08 | m = 0 ... [ACHS_NAME_LAENGE - 1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of axis designation

EXAMPLE: An axis group with 3 axes are to be configured. The first axis is to be addressed with "X_ACHSE1" in the NC-program. The second axis is addressed with "A", the third axis is addressed with "W1".

Extract from channel parameters list:

# Designation of the axes

gruppe[0].achse[0].bezeichnung X_ACHSE1

gruppe[0].achse[1].bezeichnung A

gruppe[0].achse[2].bezeichnung W1


Logical axis number (P-CHAN-00035)

The logical axis number is unique in the entire system. Using the logical axis number, the assignment of axis designation in the NC-program and for the axis data (axis data lists), made available by the axis management is done. Hence only those logical axis numbers which are also known in the axis management will be significant. The logical axis number "0" is not permissible.

A logical axis number should not be assigned several times. A logical axis number should not be simultaneously configured as path axis and as spindle. If this is the case, then an error message will occur during the plausibility test.

The allocation of axis parameters lists is described in greater detail in [AXIS].

Variable name | Type | Index | Dimension
log_achs_nr | UNS16 | 0 ... MAX(UNS16) | ----

EXAMPLE: An axis group with 3 axes is to be configured. To the first axis, the axis data with the logical axis number "2", to the second axis the data with the logical axis number "7" and to the third axis the data with the logical axis number "1" are to be assigned. This leads to the following entries in the SDA_MDS:

Extract from channel parameters list:

# logical axis numbers of axes

gruppe[0].achse[0].log_achs_nr 2

gruppe[0].achse[1].log_achs_nr 7

gruppe[0].achse[2].log_achs_nr 1


Default feed axis (P-CHAN-00011)

This parameter defines, if the axis is a member of the default feed group (effect of the F-word). If no feed axes are defined, after start-up automatically all main axes form the feed group of the channel (Index 1, 2, 3). The effectiveness of this settings is defined by the parameter P-CHAN-00096.

For linear interpolation any axis may be defined as feed axis, for circular interpolation and polynomial interpolation the definition is restricted:

For circular interpolation either all main axes must be defined for feed axes or all defined feed axes must be dragged axes.

For polynomial interpolation only main axes may be feed axes.

Variable name | Type | Permitted range | Dimension
default_feed_axis | BOOLEAN | 0/1 | ----

0 | Axis is not a member of feed group
1 | Axis is a member of feed group

For multi-channel applications with gaps in the channel specific configuration of the main axes groups during start-up it is recommended not to use the channel parameter P-CHAN-00011. In this case a complete feed axes group can be created, if any axes were requested as main axes. In the other case all requested axes were treated as dragged axes.


Configuration of spindles

In this paragraph, the elements for the configuration of spindles are described. Only spindles, which are entered here in the channel parameters, are available in the part program. This concerns not only position controlled (closed loop) but also speed controlled (open loop) spindles.

The defined spindle configuration in the channel parameters list is the default setting after start up. For this see also chapter Spindle programming in [PROG].

More:

button Number of spindle (P-CHAN-00082)

button Spindle name within a path compound (P-CHAN-00010)

button Machine-ID for CAX-facing (P-CHAN-00008)

button Definition of Main Spindle

button Spindle data (spindel[i].*)


Number of spindle (P-CHAN-00082)

TwinCAT CNC: Overview

Number of spindle ( P-CHAN-00082)

With this element the entire number of position controlled and speed controlled spindles are preset. The number of spindles must confirm with the entered spindles (spindel[i].*).

Variable name | Type | Permitted range | Dimension
spdl_anzahl | UNS16 | 0 < spdl_anzahl < NUMBER_SPINDLE_CHANNEL | ----

Value NUMBER_SPINDLE_CHANNEL | Significance
application-dependent | Maximum number of position controlled and speed controlled spindles

EXAMPLE: A position controlled and a speed controlled spindle are to be configured. The parameter "spdl_anzahl" must be set to "2".

Extract from channel parameters list:

# Number of position controlled and speed controlled spindles

spdl_anzahl 2


Spindle name within a path compound (P-CHAN-00010)

TwinCAT CNC: Overview

Spindle name within a path compound ( P-CHAN-00010)

If a spindle axis for some special machining modes (e.g. C-Axis) is changed into the path compound, it can be programmed by a default name (e.g.C1).

Variable name | Type | Permitted range | Dimension
default_ax_name_of_spindle | ACHS_NAME | String | ----

Variable name | Type | Index | Dimension
zeichen[m] | ISG_CHAR | m = 0 ... [ACHS_NAME_LAENGE] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of axis name designation

EXAMPLE: The C-axis name should get the designation C1.

Extract from channel parameters list:

# Designation of C-axis name

default_ax_name_of_spindle C1


Machine-ID for CAX-facing (P-CHAN-00008)

This parameter determine the kind of machine for facing.

Variable name | Type | ID-value | Dimension
cax_face_id | UNS16 | 1, 2 | ----

1 | Lathe (180° alignment)
2 | Milling machines (no alignment)

EXAMPLE: The machine type for facing is a milling machine.

Extract from channel parameters list:

# Machine-ID for facing

cax_face_id 2


Definition of Main Spindle

The programming in the standard spindle syntax requires the declaration of a "main spindle". In relation with special standard functionality (e.g. tapping, gear change) this main spindle can be programmed in the normal DIN-Syntax. Even if only one spindle is available in the system, this spindle also must be declared as main spindle.

More:

button Main spindle axis number (P-CHAN-00051)

button Designation of Main Spindle (P-CHAN-00053)

button Selection /deselection of gear change (P-CHAN-00052)


Main spindle axis number (P-CHAN-00051)

The parameter main_spindle_ax_nr is necessary for the definition of the main spindle. Here the logical axis number of one of the spindles which are configured in the channel parameters list must be entered. After start up this spindle is the default main spindle. Later on in part program by the NC-command #MAIN SPINDLE (see [PROG]) another spindle can be declared to main spindle.

Variable name | Type | Permitted range | Dimension
main_spindle_ax_nr | UNS16 | 1 ... MAX(UNS16) | ----

EXAMPLE: The spindle with logical axis number 6 is main spindle.

Extract from channel parameters list:

# Spindeldaten

main_spindle_ax_nr 6


Designation of Main Spindle (P-CHAN-00053)

Beside the logical axis number for the main spindle also an axis name must be assigned. This axis name is necessary for its programming in part programs. For this the parameter main_spindle_name must be entered. For the axis name any designation is allowed, only the first character must be an "S"!

The axis designation of the main spindle can not be changed in part program. But if the main spindle is changed (#MAIN SPINDLE, [PROG] ), these axis designation is also valid for the new main spindle.

Variable name | Type | Permitted range | Dimension
main_spindle_name | ACHS_NAME | String | ----

ACHS_NAME consists of following array:

Variable name | Type | Index | Dimension
zeichen[m] | ISG_CHAR | m = 0 ... [ACHS_NAME_LAENGE - 1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Max. length of spindle name

EXAMPLE: In part program the main spindle name (log. axis number 6) shall be S.

Extract from channel parameters list:

# Spindeldaten

main_spindle_ax_nr 6

main_spindle_name S


Selection /deselection of gear change (P-CHAN-00052)

The flag "main_spindle_gear_change" is for enabling/disabling the gear change of the main spindle.

Variable name | Type | Permitted range | Dimension
main_spindel_gear_change | BOOLEAN | 0/1 | ----

0 | Disabling of gear change for main spindle.
1 | Enabling of gear change for main spindle.


Spindle data (spindel[i].*)

This structure consists of the elements: spindle designation, spindle mode, logical axis number, type of synchronization and time-out respectively process time.

Variable name | Type | Index | Dimension
spindel [i] | DEC_SPDL_DATA | i = 0 ... [NUMBER_SPINDLE_CHANNEL - 1] | ----

Value NUMBER_SPINDLE_CHANNEL | Significance
application-dependent | Maximum number of position controlled and speed controlled spindles

More:

button Spindle designation (P-CHAN-00007)

button Logical axis number (P-CHAN-00036)

button Channel specific PLC-spindle (P-CHAN-00069)

button Spindle specific synchronization types

button Time-out / Process time of spindle-function (P-CHAN-00080)

button Timeout and Process time of M03 (P-CHAN-00044)

button Timeout and Process time of M04 (P-CHAN-00046)

button Timeout and Process time of M05 (P-CHAN-00048)

button Timeout and Process time of M19 (P-CHAN-00042)

button Spindle speed range selection


Spindle designation (P-CHAN-00007)

By this element the default designation is defined with which the spindle is addressed in the NC-program. Please note, as long as a spindle is main spindle, it can only be addressed by the main spindle name (chapter 2.24.4.2). Here, a string is per-mitted.

The spindle designations must always begin with letter S. Subsequently, all the letters and digits are possible. Spindle designations must be unique.

Variable name | Type | Permitted range | Dimension
bezeichnung | ACHS_NAME | String | ----

ACHS_NAME consists of the following array:

Variable name | Type | Index | Dimension
zeichen[m] | ISG_CHAR | m = 0 ... [ACHS_NAME_LAENGE - 1] | ----

Value ACHS_NAME_LAENGE | Significance
application-dependent | Maximum length of spindle designation

EXAMPLE: Configuration of a 1-channel system with 3 spindles. After start up spindle S1 with logical axis number 6 is main spindle. It can be addressed by the axis designation S. The spindles with the logical axis numbers 11 and 30 can be addressed by their default names S2 and S3.

Extract from channel parameters list:

:

spdl_anzahl 3

:

main_spindle_ax_nr 6-> -> ->-

main_spindle_name S ->- |

# | |

spindel[0].bezeichnung S1- <- |

spindel[0].log_achs_nr 6-< -< -<-

:

spindel[1].bezeichnung S2

spindel[1].log_achs_nr 11

:

spindel[2].bezeichnung S3

spindel[2].log_achs_nr 30

:

Fig. 2-5: Spindle configuration example


Logical axis number (P-CHAN-00036)

In this parameter the logical axis number is entered. The logic axis number is unique in the entire system. Through the logical axis number the assignment of spindle designation in the NC-program and axis data (axis parameters lists) is done. Hence only such logical numbers are useful which also known to NC. The logical axis number 0 is not permissible.

A logical axis number should not be assigned several times. A logic axis number should not be simultaneously configured as path axis and position controlled spindle. If this happens to be then an error message occurs during plausibility test of the channel parameters.

The allocation of axis parameters is described in greater detail in [AXIS].

Variable name | Type | Permitted range | Dimension
log_achs_nr | UNS16 | 1... MAX(UNS16) | ----


Channel specific PLC-spindle (P-CHAN-00069)

This paremeter is used, if a spindle is not controlled by a spindle interpolator of the NC-channel but directly by a PLC. In that case the axis specific syntax is restricted to the programming of the speed and the M-functions M3/M4/M5/M19. Additional it must be taken into acount, that all synchronizations are not (spindle-)axis specific any longer but that the output and the synchronization is channel specific.

Variable name | Type | Permitted range | Dimension
plc_control | BOOLEAN | 0/1 | ----


Spindle specific synchronization types

The synchronization types of the spindle function S and of the spindle M-functions M3, M4, M5 and M19 are defined spindle specific. Following elements are permissible:

Constant | Value | Significance
NO_SYNCH | 0x00000000 | No output of S/M-function to PLC
MOS | 0x00000001 | Output of S/M-function to PLC without synchronization
MVS_SVS | 0x00000002 | Output of S/M-function to PLC before the movement block, Synchronization before the movement block
MVS_SNS | 0x00000004 | Output of S/M-function to PLC before the movement block, Synchronization after the movement block
MNS_SNS | 0x00000008 | Output of S/M-function to PLC after the movement block, Synchronization after the movement block
MNE_SNS | 0x00000020 | Output of S/M-function to PLC after (measurement-)signal, Synchronization after the movement block (only for option edge banding)
MVS_SLM | 0x00004000 | Late synchronization, Output of S/M-function to PLC within the block, Synchronization during transition to G01/G02/G03 (Implicite synchronization)
MVS_SLP | 0x00008000 | Late synchronization, Output of S/M-function to PLC within the block, Synchronization by NC-command #EXPL SYN (Explicite synchronization)
PLC_INFO | 0x00020000 | Inform PLC: PLC_INFO can be set in addition to the other synchronization types. Please note: When programming PLC-Spindles (open loop) generally for every spindle M-function automatically the PLC will be informed. So it is not necessary to set the bit PLC_INFO. PLC_INFO is useful when programming position controlled spindles (Closed loop). Here the PLC only will be informed, if the bit PLC_INFO is set.
BWD_SYNCH | 0x00400000 | Synchronization of S/M-function during backward on path as MVS_SVS
FWD_SYNCH | 0x00800000 | Synchronization of S/M-function during "Simulated forward on path" based on the defined synchronization type
FAW_SYNCH | 0x10000000 | Stop of decoding (Flush and Wait): Output of S/M-function to PLC and stop of program decoding at block end until all NC blocks in NC-channel were executed. FAW_SYNCH can be set in addition to other synchronization types. S/M-functions with bit FAW_SYNCH may not be used during active tool radius correction (WRK), polynomial contouring and HSC-mode.
NOT_VALID | 0x80000000 | Locking of S/M-Functions. The programming of a S/M-function with bit NOT_VALID creates an error message. This synchronization may only be set exclusive.

Examples see chapter 2.1.1.1- Synchronisation types of M-functions.

The synchronisation method of the S function has no effect if a spindle M function has been programmed in the NC block. Synchronisation only takes place in accordance with the settings for the spindle M function. The following priorities apply:

M19 > M3/M4/M5 > S

More:

button Synchronisation types for spindle function (P-CHAN-00081)

button Synchronisation types for M03 (P-CHAN-00045)

button Synchronisation types for M04 (P-CHAN-00047)

button Synchronisation types for M05 (P-CHAN-00049)

button Synchronisation types for M19 (P-CHAN-00043)


Synchronisation types for spindle function (P-CHAN-00081)

TwinCAT CNC: Overview

Synchronisation types for spindle function ( P-CHAN-00081)

The element "s_synch" defines the synchronisation type of the spindle-function.

Variable name | Type | Permitted range | Dimension
s_synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, PLC_INFO, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

EXAMPLE: For a (controlled) spindle S1 the spindle function will be executed without synchronisation. The PLC will not be informed.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_synch 0x00000001 MOS

spindel[0].m3_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m4_synch 0x00020004 PLC_INFO, MVS_SNS

spindel[0].m5_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m19_synch 0x00000008 MNS_SNS

:


Synchronisation types for M03 (P-CHAN-00045)

The use of M03 requires for the respective spindles the definition of the synchronisation type.

Variable name | Type | Permitted range | Dimension
m3_synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, PLC_INFO, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

EXAMPLE: For a (controlled) spindle S1 the spindle specific M-function M03 is PVS_SVS. The PLC will be informed.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_synch 0x00000001 MOS

spindel[0].m3_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m4_synch 0x00020004 PLC_INFO, MVS_SNS

spindel[0].m5_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m19_synch 0x00000008 MNS_SNS

:


Synchronisation types for M04 (P-CHAN-00047)

The use of M04 requires for the respective spindles the definition of the synchronisation type.

Variable name | Type | Permitted range | Dimension
m4_synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, PLC_INFO, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

EXAMPLE: For a (controlled) spindle S1 the spindle specific M-function M04 is PVS_SNS. The PLC will be informed.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_synch 0x00000001 MOS

spindel[0].m3_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m4_synch 0x00020004 PLC_INFO, MVS_SNS

spindel[0].m5_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m19_synch 0x00000008 MNS_SNS

:


Synchronisation types for M05 (P-CHAN-00049)

The use of M05 requires for the respective spindles the definition of the synchronisation type.

Variable name | Type | Permitted range | Dimension
m5_synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, PLC_INFO, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

EXAMPLE: For a (controlled) spindle S1 the spindle specific M-function M05 is PVS_SVS. The PLC will be informed.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_synch 0x00000001 MOS

spindel[0].m3_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m4_synch 0x00020004 PLC_INFO, MVS_SNS

spindel[0].m5_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m19_synch 0x00000008 MNS_SNS

:


Synchronisation types for M19 (P-CHAN-00043)

The use of M19 requires for the respective spindles the definition of the synchronisation type.

Variable name | Type | Permitted range | Dimension
m19_synch | SYNCHRO_ART | NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, PLC_INFO, BWD_SYNCH, FWD_SYNCH, FAW_SYNCH | ----

EXAMPLE: For a (controlled) spindle S1 the spindle specific M-function M19 is PNS_SNS. The PLC will not be informed.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_synch 0x00000001 MOS

spindel[0].m3_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m4_synch 0x00020004 PLC_INFO, MVS_SNS

spindel[0].m5_synch 0x00020002 PLC_INFO, MVS_SVS

spindel[0].m19_synch 0x00000008 MNS_SNS

:


Time-out / Process time of spindle-function (P-CHAN-00080)

With this element the time-out of the spindle-function is set. If the calculation of processing time is activated, with this element the process time of the spindle-function is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
s_prozess_zeit | UNS32 | 0 < s_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: The following example sets the process time of the spindle "S1" to 1s.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

:

spindel[0].s_prozess_zeit 1000000

spindel[0].m3_prozess_zeit 1000000

spindel[0].m4_prozess_zeit 1000000

spindel[0].m5_prozess_zeit 1500000

spindel[0].m19_prozess_zeit 2000000

:


Timeout and Process time of M03 (P-CHAN-00044)

With this element the time-out of the M-function M03 is set. If the calculation of processing time is activated, with this element the process time of the M-function M03 is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
m3_prozess_zeit | UNS32 | 0 < m3_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: For the spindle S1 the process time for M03 is set to 1s.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

:

spindel[0].s_prozess_zeit 1000000

spindel[0].m3_prozess_zeit 1000000

spindel[0].m4_prozess_zeit 1000000

spindel[0].m5_prozess_zeit 1500000

spindel[0].m19_prozess_zeit 2000000

:


Timeout and Process time of M04 (P-CHAN-00046)

With this element the time-out of the M-function M04 is set. If the calculation of processing time is activated, with this element the process time of the M-function M04 is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
m4_prozess_zeit | UNS32 | 0 < m4_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: For the spindle S1 the process time for M04 is set to 1s.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

:

spindel[0].s_prozess_zeit 1000000

spindel[0].m3_prozess_zeit 1000000

spindel[0].m4_prozess_zeit 1000000

spindel[0].m5_prozess_zeit 1500000

spindel[0].m19_prozess_zeit 2000000

:


Timeout and Process time of M05 (P-CHAN-00048)

With this element the time-out of the M-function M05 is set. If the calculation of processing time is activated, with this element the process time of the M-function M05 is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
m5_prozess_zeit | UNS32 | 0 < m5_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: For the spindle S1 the process time for M05 is set to 1s.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

spindel[0].s_prozess_zeit 1000000

spindel[0].m3_prozess_zeit 1000000

spindel[0].m4_prozess_zeit 1000000

spindel[0].m5_prozess_zeit 1500000

spindel[0].m19_prozess_zeit 2000000

:


Timeout and Process time of M19 (P-CHAN-00042)

With this element the time-out of the M-function M19 is set. If the calculation of processing time is activated, with this element the process time of the M-function M19 is given.

The element is used for calculation of processing time only in the moment.

Variable name | Type | Permitted range | Dimension
m19_prozess_zeit | UNS32 | 0 < m19_prozess_zeit < MAX(UNS32) | µs

EXAMPLE: For the spindle S1 the process time for M19 is set to 1s.

Extract from channel parameters list:

:

spindel[0].bezeichnung S1

spindel[0].log_achs_nr 6

:

spindel[0].s_prozess_zeit 1000000

spindel[0].m3_prozess_zeit 1000000

spindel[0].m4_prozess_zeit 1000000

spindel[0].m5_prozess_zeit 1500000

spindel[0].m19_prozess_zeit 2000000

:


Spindle speed range selection

The following flags and variables are necessary for the adjustment of the spindle speed range selection and the gear changing.

Gear changing is only possible for the main spindle.

More:

button Direction of range selection (P-CHAN-00074)

button Automatic range selection (P-CHAN-00004)

button Table of spindle ranges (spindel[i].range_table[j].*)


Direction of range selection (P-CHAN-00074)

This parameter defines, whether in overlapping speed ranges the lower or the higher gear range should be selected. If "range_way" = 0 the search starts from the lowest speed range, if "range_way" > 0 from the highest. The correct gear range is the one, where the programmed spindle speed is determined at first.

Variable name | Type | Permitted range | Dimension
range_way | UNS16 | 0 < range_way < MAX(UNS16) | ---

EXAMPLE: In the following example the search starts from the lowest speed range.

Extract from channel parameters list:

# Direction of range selection

spindel[0].range_way 0


Automatic range selection (P-CHAN-00004)

If the spindle gear range should be automatically determined by the NCK, this parameter must be 1. In this case M40 to M45 codes have not to be programmed. This means, the correct spindle gear range will be determined implicitly by the programmed spindle speed "S".

Variable name | Type | Permitted range | Dimension
autom_range | BOOLEAN | 0/1 | ----

EXAMPLE: In the following example automatic range selection is enabled.

Extract from channel parameters list:

# Automatic selection

spindel[0].autom_range 1


Table of spindle ranges (spindel[i].range_table[j].*)

The system allows the definition of a maximum of 6 spindle ranges (M40... M45) for each spindle. For each range, a minimum and maximum value of the programmed spindle speed is defined (unit = rpm).


Min./max. spindle speed (P-CHAN-00058, P-CHAN-00055)

Different ranges of a spindle may be defined with or without overlap. If one range is not used, corresponding values of the speed are set to zero in the table.

Minimum speed P-AXIS-00058:

Variable name | Type | Permitted range | Dimension
min_speed | UNS16 | 0 < min_speed < MAX(UNS16) | rpm

Maximum speed P-AXIS-00058:

Variable name | Type | Permitted range | Dimension
max_speed | UNS16 | 0 < max_speed < MAX(UNS16) | rpm

EXAMPLE: The following example shows the range table defining 6 gear ranges. Only the first four ranges will be used.

Extract from channel parameters list:

# Table of spindle speed ranges

spindel[0].range_table[0].min_speed 50

spindel[0].range_table[0].max_speed 560

spindel[0].range_table[1].min_speed 400

spindel[0].range_table[1].max_speed 800

spindel[0].range_table[2].min_speed 700

spindel[0].range_table[2].max_speed 3360

spindel[0].range_table[3].min_speed 3361

spindel[0].range_table[3].max_speed 4000

spindel[0].range_table[4].min_speed 0

spindel[0].range_table[4].max_speed 0

spindel[0].range_table[5].min_speed 0

spindel[0].range_table[5].max_speed 0


Settings for synchronous operation (synchro_data.*)

In the following figure, the basic principle of the structure of a machine having two machining units with Y-, Z- and C-axis and a mechanically coupled X-axis is shown. If the group of axes (X, Y2, Z2, C2) is to be coupled with the group of axes (X, Y1, Z1, C1) then these are to be found specified in the coupling procedures described in the following paragraphs.

Fig. 2-6: Representation of the basic principle of the machine

The default coupling specifications for every axis group can be defined. It is introduced into the operating data under the linking number 0.

The synchronous operation of axes is possible only for axes within an axis group.

The synchronous operation is also described in [PROG].

More:

button Default coupling specifications (synchro_data.koppel_gruppe[i].*)


Default coupling specifications (synchro_data.koppel_gruppe[i].*)

The structure element koppel_gruppe[j] specifies the coupling group in which the axes are coupled in pairs.

Variable name | Type | Index | Dimension
koppel_gruppe [i] | KOPPEL_GRP | i = 0...[SDA_GRMAX-1] | ----

Value SDA_GRMAX | Significance
1 | Maximum number of axis groups per main axis group

More:

button Pairs of axis-couple (synchro_data.koppel_gruppe[i].paar[j].*)


Pairs of axis-couple (synchro_data.koppel_gruppe[i].paar[j].*)

The structure element "paar[j]" specifies the pair of coupled axes of the coupling specification. In a pair of coupled axes, an axis is defined as the master axis and the other as the slave axis. The structure consists of the elements: logical axis number of the slave axis and the logical axis number of the master axis which are described in the following paragraphs. The pairs of coupled axes may consist of path axes and also of spindle axes. But a combination of path and spindle axes within one pair of coupled axes is not permitted.

The synchronous operation of path axes is possible only for axes within an axis group. The synchronous operation of spindle axes is possible only for known spindles within the NC-channel.

Variable name | Type | Index | Dimension
paar[j] | KOPPEL_PAAR | j = 0...[MAX_ANZ_ACHS_PAAR-1] | ----

Value MAX_ANZ_ACHS_PAAR | Significance
3 | Maximum number of pairs of coupled axis

More:

button Logical axis number of the slave axis (P-CHAN-00038)

button Logical axis number of the master axis (P-CHAN-00037)

button Mode of the coupled axes pair (P-CHAN-00061)

button Restore coupling after RESET (P-CHAN-00104)

button Restore coupling after Program end (P-CHAN-00105)


Logical axis number of the slave axis (P-CHAN-00038)

With this element, an axis is defined as the slave axis. For this purpose the logical number of the axis P-CHAN-00035 must be specified.

Variable name | Type | Permitted range | Dimension
log_achs_nr_slave | UNS16 | 1 ... MAX(UNS16) | ----

EXAMPLE: The axis with the logical number 3 is defined in the coupled axis pair[1] within the coupled axis group [0] as slave axis.

Extract from channel parameters list:

# Settings for synchronous operation

synchro_data.koppel_gruppe[0].paar[1].log_achs_nr_slave 3


Logical axis number of the master axis (P-CHAN-00037)

With this element an axis is defined as master axis. For this purpose the logical axis number of the axis P-CHAN-00035 must be specified.

Variable name | Type | Permitted range | Dimension
log_achs_nr_master | UNS16 | 1 ... MAX(UNS16) | ----

EXAMPLE: The axis with the logical number 1 is defined within the coupled axis pair[1] as the master axis with the logical number 1.

Extract from channel parameters list:

# Settings for the synchronous operation

synchro_data.koppel_gruppe[0].paar[1].log_achs_nr_master 1


Mode of the coupled axes pair (P-CHAN-00061)

The synchronous operation is possible for linear axes and also for spindle axes. For this for each axes pair the type of coupling must be declared by the element "mode".

Variable name | Type | Permitted range | Dimension
mode | UNS16 | 0, 1 | ----

0 | Coupled axis pair consists of linear axes
1 | Coupled axis pair consists of spindle axes

EXAMPLE: The coupled axes pair[0] within the coupling group [0] consists of linear axes (mode 0).
The coupled axes pair[1] within the coupling group [0] consists of spindle axes (mode 1).

Extract from channel parameters list:

# Predefinition of axes links for synchronous operation of coupling group [0]

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

#synchro_data.koppel_gruppe[0].paar[0].log_achs_nr_slave 4

#synchro_data.koppel_gruppe[0].paar[0].log_achs_nr_master 1

#synchro_data.koppel_gruppe[0].paar[0].mode 0

#synchro_data.koppel_gruppe[0].paar[1].log_achs_nr_slave 11

#synchro_data.koppel_gruppe[0].paar[1].log_achs_nr_master 6

#synchro_data.koppel_gruppe[0].paar[1].mode 1

:


Restore coupling after RESET (P-CHAN-00104)

An active axes coupling (synchronous operation) is deselected by NC-RESET. If the parameter "restore_coupling_after_reset" is 1, during the next NC-program start this axes coupling is restored again.

Variable name | Type | Permitted range | Dimension
restore_coupling_after_reset | BOOLEAN | 0/1 | ----


Restore coupling after Program end (P-CHAN-00105)

If an active axes coupling (synchronous operation) is not finished explicitly during the NC-program (#DISABLE AXLINK), it is deselected at program end. If the parameter "preserve_coupling_after_prog_end " is 1, during the next NC-program start this axes coupling is restored again.

Variable name | Type | Permitted range | Dimension
preserve_coupling_after_prog_end | BOOLEAN | 0/1 | ----


Parametering of the protocolling of decoder changes (aep.*)

The protocolling of changes gives out the changes done to the preceding status within an NC-program.

More:

button Protocolling mode (P-CHAN-00024)

button Protocolling of P-parameter (P-CHAN-00068)

button Protocolling of self defined variables (P-CHAN-00088)

button Protocolling of G-functions (P-CHAN-00022)

button Protocolling of tool data (P-CHAN-00093)


Protocolling mode (P-CHAN-00024)

The protocolling mode determines where to display the data output.

Variable name | Type | Permitted range | Dimension
output_mode | UNS08 | 0, 1, 2 | ----

0 | Without protocolling
1 | Protocolling through BF-own display fields and display fifos
2 | Protocolling through channel

EXAMPLE: The output data is displayed by BF-own display fields and display-FIFO's.

Extract from channel parameters list:

# Parametering of the protocolling of changes:

aep.output_mode 1


Protocolling of P-parameter (P-CHAN-00068)

With "p_parameter", the protocolling of P-parameters is determined.

Variable name | Type | Permitted range | Dimension
p_parameter | BOOLEAN | 0/1 | ----

EXAMPLE: The P-parameters are to be protocolled.

Extract from channel parameters list:

# Parametering of the protocolling of changes:

aep.p_parameter 1


Protocolling of self defined variables (P-CHAN-00088)

With "v_eigendef" the protocolling of self defined variables are defined.

Variable name | Type | Permitted range | Dimension
v_eigendef | BOOLEAN | 0/1 | ----

EXAMPLE: The self defined variables are to be protocolled.

Extract from channel parameters list:

# Parametering of the protocolling of changes:

aep.v_eigendef 1


Protocolling of G-functions (P-CHAN-00022)

The G-functions are classified into different groups according to table 2.1. The functions that exclude themselves mutually are found respectively in the same group. If a group g_gruppe[i] is set to 1, then the active G-function of the group will be protocolled.

The G-Functions are documented in [PROG].

Group | Contained G-Functions
g_gruppe[0] | G00, G01, G02, G03, G04, G33, G63, G74, G98, G99, G160, G301, G302
g_gruppe[1] | G08, G193
g_gruppe[2] | G09, G900, G901
g_gruppe[3] | G10, G11
g_gruppe[4] | G17, G18, G19
g_gruppe[5] | G20, G21, G22, G23, G351
g_gruppe[6] | G25, G26
g_gruppe[7] | G40, G41, G42
g_gruppe[8] | G51, G52
g_gruppe[9] | G53,..., G59, G159
g_gruppe[10] | G60, G359, G360, G61, G260, G261
g_gruppe[11] | G166
g_gruppe[12] | G70, G71
g_gruppe[13] | G80 - G89, G800 - G819
g_gruppe[14] | G90, G91
g_gruppe[15] | G92
g_gruppe[16] | G93, G94, G95, G194
g_gruppe[17] | G96, G97, G196
g_gruppe[18] | G112
g_gruppe[19] | G115, G116, G117
g_gruppe[20] | G130, G131
g_gruppe[21] | G135, G136, G137
g_gruppe[22] | G05, G138, G139, G237, G238, G239
g_gruppe[23] | G161, G162
g_gruppe[24] | G163
g_gruppe[25] | G164, G165
g_gruppe[26] | G200, G201, G202
g_gruppe[27] | idle
g_gruppe[28] | G132, G133, G134
g_gruppe[29] | G150, G151
g_gruppe[30] | G100, G101, G102, G106, G107, G108
g_gruppe[31] | G12, G13
g_gruppe[32] | G140, G141
g_gruppe[33] | idle
g_gruppe[34] | G310
g_gruppe[35] | G167
g_gruppe[36] | not available (G335, G337)
g_gruppe[37] | G129

Table 2.1: Group classification of G-functions

Variable name | Type | Permitted range | Dimension
g_gruppe[i] | BOOLEAN | 0 / 1 | ----
i | UNS16 | 0 ... [MAX_G_GRP - 1] | ----

Value MAX_G_GRP | Significance
38 | Maximum number of G-groups

EXAMPLE: The path conditions ("g_gruppe[0]") are to be protocolled, but not the feed adaptation for tool radius compensation ("g_gruppe[3]").

Extract from channel parameters list:

# Parametering of the protocolling of changes:

aep.g_gruppe[0] 1

aep.g_gruppe[3] 0


Protocolling of tool data (P-CHAN-00093)

With "wz_daten" the protocolling of tool data are determined.

Variable name | Type | Permitted range | Dimension
wz_daten | BOOLEAN | 0/1 | ----

EXAMPLE: The tool data are to be protocolled.

Extract from channel parameters list:

# Parametering of the protocolling of changes:

aep.wz_daten 1


Definition of symbolic character strings (makro_def[i].*)

Symbolic character strings are macros, that can be defined instead of other expressions. It is also possible to replace one or more complete NC commands by a symbol string. For this purpose, the symbol string and the text to be replaced must be specified.

Variable name | Type | Index | Dimension
makro_def[i] | MAKRO_DEF | i = 0 ... [MAKRO_DEF_ANZAHL_MDS - 1] | ----

Value MAKRO_DEF_ANZAHL_MDS | Significance
application-dependent | Maximum number of symbolic character strings in channel parameters list.

The symbolic character strings are also described in [PROG].

More:

button Specification of symbol strings (P-CHAN-00085)

button Specification of the text to be replaced (P-CHAN-00062)


Specification of symbol strings (P-CHAN-00085)

With this element, the symbol string can be specified.

Variable name | Type | Permitted range | Dimension
symbol | SYMBOL_NAME | String | ----

The structure SYMBOL_NAME consists out of following array:

Variable name | Type | Index | Dimension
zeichen[m] | ISG_CHAR | m = 0 ... [MAKRO_SYMBOL_LAENGE - 1] | ----

Value MAKRO_SYMBOL_LAENGE | Significance
application-dependent | Maximum number of characters of symbolic string


Specification of the text to be replaced (P-CHAN-00062)

With this element the text to be replaced can be specified.

Variable name | Type | Permitted range | Dimension
nc_code | NC_CODE | String | ----

The structure NC_CODE consists of the following array:

Variable name | Type | Index | Dimension
zeichen[m] | ISG_CHAR | m = 0 ... [MAKRO_ERSATZ_LAENGE - 1] | ----

Value MAKRO_ERSATZ_LAENGE | Significance
application-dependent | Maximum number of characters of the text to be replaced.

EXAMPLE: The parameter calculation should be replaced by the string "CODE_1".

Extract from channel parameters list:

# Definition of symbolic character chains

#

makro_def[4].symbol CODE_1

makro_def[4].nc_code P5 = P2 + 3

EXAMPLE: The programming of traverse movement is to be replaced by the string CODE_2.

Extract from channel parameters list:

# Definition of symbolic character chains

#

makro_def[6].symbol CODE_2

makro_def[6].nc_code G01 G91 X10 Y20 F100


Configuration with tool radius compensation (P-CHAN-00092)

If tool radius compensation (WRK) is present in the system configuration, then this parameter is to be set to 1.

Variable name | Type | Permitted range | Dimension
wrk_im_kanal_vorhanden | BOOLEAN | 0/1 | ----

EXAMPLE: The tool radius compensation is present in the system configuration. The parameter "wrk_im_kanal_vorhanden" has to be set to 1.

Extract from channel parameters list:

# Flag for tool radius compensation

wrk_im_kanal_vorhanden 1


Configuration of syntax check (syn_chk.*)

TwinCAT CNC: Overview

Configuration of syntax check (syn_chk .*)

This functionality allows to check the syntax of NC-programs by the NC. Errors are over run if possible. Only actual processed NC-blocks are checked. The NC channel is furthermore provided, but axes or drives are not moved and also no techno informations are executed or synchronized.

More:

button Number of errors in a NC-block (P-CHAN-00020)

button Number of errors in a NC-program (P-CHAN-00019)

button Declaration of the operation mode (P-CHAN-00028)


Number of errors in a NC-block (P-CHAN-00020)

TwinCAT CNC: Overview

Number of errors in a NC-block ( P-CHAN-00020)

The element "fehler_pro_zeile" defines the number of errors after that it is switched to the next NC-block.

Variable name | Type | Permitted range | Dimension
fehler_pro_zeile | UNS16 | 0 ... MAX(UNS16) | ----

EXAMPLE: After a maximum of 2 errors it should be jumped to the next NC-block.

Extract from channel parameters list:

# Parametering of syntax check:

syn_chk.fehler_pro_zeile 2


Number of errors in a NC-program (P-CHAN-00019)

TwinCAT CNC: Overview

Number of errors in a NC-program ( P-CHAN-00019)

The element "fehler_gesamt" defines the number of errors in a NC-program after that decoding is aborted.

Variable name | Type | Permitted range | Dimension
fehler_gesamt | UNS16 | 0 ... MAX(UNS16) | ----

EXAMPLE: After a maximum of 20 errors in the NC-program the syntax check should be aborted.

Extract from channel parameters list:

# Parametering of syntax check:

syn_chk.fehler_gesamt 20


Declaration of the operation mode (P-CHAN-00028)

TwinCAT CNC: Overview

Declaration of the operation mode ( P-CHAN-00028)

The parameter "interaktiv" defines the operation mode of the syntax check.

Mode 1 - Automatic operation:

After an error the decoding will automatically be continued. Syntax check will be aborted when the corresponding limits will be reached (see P-CHAN-00019 and P-CHAN-00020).

Mode 2 - Interactive operation:

After an error the decoding will be stopped. The user decides, whether the syntax check should be continued or the decoding should be aborted. When the corresponding limits will be reached (see P-CHAN-00019 and P-CHAN-00020), the syntax check also will be aborted.

Variable name | Type | Permitted range | Dimension
interaktiv | BOOLEAN | 0/1 | ----

EXAMPLE: Syntax check should run in automatic mode.

Extract from channel parameters list:

# Parametering of syntax check:

syn_chk.interaktiv 0

2.30.4 Protocolling of channel block ( P-CHAN-00021)

The element "fkts_ausgabe" defines, if the channel blocks should be stored for a checking at a later date.

Variable name | Type | Dimension
fkts_ausgabe | UNS16 | ----

0 | Channel blocks will internally be discarded.
1 | Output of decoder channel blocks for protocolling.


Parametering of kinematic transformation for 5-axis-machining

More:

button Selection of kinematic type (P-CHAN-00032)

button Kinematic data (kinematik[i].*)

button Mode of orientation angle (P-CHAN-00112)

button Activation of TCP display data (P-CHAN-00145)

button Parameters for automatic orientation function (tool_ori_cs.*)

button Transformation with gapping axis (P-CHAN-00213)


Selection of kinematic type (P-CHAN-00032)

The selection of kinematic transformation for 5-axis machines is done by the element "kinematik_id". The various kinematic types are laid down machine-specifically.

Variable name | Type | Permitted range | Dimension
kinematik_id | UNS16 | 1 < kinematik_id < KINEMATIK_MAX | ----

Value KINEMATIK_MAX | Significance
application-dependent | Maximum number of permissible kinematic types

For more details regarding kinematic type and 5-axis-machining see [PROG].

EXAMPLE: Selection of kinematics transformation for ISW model machine.

Extract from channel parameters list:

# Selection of default kinematic type

kinematik_id 1 Model machine


Kinematic data (kinematik[i].*)

TwinCAT CNC: Overview

Kinematic data (kinematik[i] .*)

In this structure the tool head offset parameters are stored.

Variable name | Type | Index | Dimension
kinematik[j] | KINEMATIK | 1 < i < KINEMATIK_MAX | ----

Value KINEMATIK_MAX | Significance
application-dependent | Maximum number of permissible kinematic types

More:

button Kinematic parameter (P-CHAN-00094)


Kinematic parameter (P-CHAN-00094)

The element "param[j]" is used to configure the kinematic transformation. The setting is application dependent.

Parameter name from V263:

Variable name | Type | Index | Dimension
param[i] | REAL64 | j = 0 ... [KOPF_VERSATZ_MAX - 1] | 0,1 µm / 0,0001 inch

Parameter name up to V260:

wz_kopf_versatz[j]

REAL64

j = 0 ... [KOPF_VERSATZ_MAX - 1]

0,1 µm / 0,0001 inch

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

It is also possible to set the kinematic parameter via tool data list P-TOOL-00009 (those are independent to the selected kinematic and only relevant if the tool is selected). If both parameters are set (channel parameters list and tool data list) then the given values are added by the NC.

For more details regarding kinematic type and 5-axis-machining see [PROG].

EXAMPLE: Definition of offsets for three tool sets.

Extract from channel parameters list:

kinematik_id 2 Default kinematic: 2

#

kinematik[1].param[0] 1088000

kinematik[1].param[1] 1987000

kinematik[1].param[2] 342000

#

kinematik[2].param[0] 1538000

kinematik[2].param[1] 25000

kinematik[2].param[2] 0

kinematik[2].param[5] 1800000

#

kinematik[3].param[0] 1487000

kinematik[3].param[1] 25000

kinematik[3].param[2] 0


Mode of orientation angle (P-CHAN-00112)

Dependend on the transformation type in a complete transformation the orientation either can be programmed by an orientation vector with the components U, V, W or via the three rotation angles A, B, C around the coordinate system axes. Due to the additional degree of freedom in the manual orientation the definition of the orientation vector via the three rotation angles usual is a characteristic of robotic structures.

In the last case the order of this rotations around the assigned axes X, Y, Z leads to the target orientation respectively to the target effector coordinate system. If not defined in another way, the single rotations are executed in mathematic positive direction around the coordinate system axes.

Some kinematics use special sequences of rotations, which are not described in this chapter. In these cases a switching via P-CHAN-00112 is not possible. For standard five axes kinematics P-CHAN-00112 is not relevant.

Variable name | Type | Permitted range | Dimension
ori_rotation_angle | UNS16 | 0, 1 , 2 | ----

0 | Default, YPR (Yaw Pitch Role) order of rotation: 1. Rotation around Z, 2. Negative rotation around Y, 3. Rotation around X
1 | Euler, order of rotation: 1. Rotation around Z, 2. Rotation around Y, 3. Rotation around Z
2 | Robotics, order of rotation: 1. Rotation around Z (A), 2. Rotation around Y(B), 3. Rotation around X(C)


Activation of TCP display data (P-CHAN-00145)

The parameter is used for the activation of the basic system display data (W0: TCP positions relating to the cartesian basic machine coordinate system). The TCP position is calculated dependent on the kinematic ID (P-CHAN-00032) based on the current commanded axes coordinates, the selected tool (length) and the kinematic offset parameters. The calculation is also done during inactive transformation. All axes of the kinematic structure have to be available in the channel.

Variable name | Type | Permitted range | Dimension
kin_trafo_display | BOOLEAN | 0/1 | ----

0 | W0 display function not active (Default)
1 | W0 display function active

For correct display the axes have been homed!

Programmed tool offsets (V.G.WZ_AKT.V.*) are only considered before the programming of #KIN ID[<kinematic-ID>].


Parameters for automatic orientation function (tool_ori_cs.*)

By means of the CNC command "#TOOL ORI CS" and a subsequent motion block with main axis movement, the CNC can generate an alignment motion that aligns the tool, perpendicular to the first two main axes of the workpiece coordinate system, for example ( [PROG]).

More:

button Axis in parallel with the tool (P-CHAN-00188)


Axis in parallel with the tool (P-CHAN-00188)

By means of the parameter, it is possible to define which axis of the current coordinate system the tool is to be aligned to.

Variable name | Type | Permitted range | Dimension
axis | UNS16 | 1, 2, 3 | ----

1 | Alignment to the first main axis of the current coordinate system X
2 | Alignment to the second main axis of the current coordinate system Y
3 | Alignment to the third main axis of the current coordinate system Z (default).

Variablenname | Typ | erlaubter Bereich | Dimension
mode | UNS16 | 0, 1, 2, 3 | ----

0 | Default, Ausrichten gemäß internem Algorithmus
1 | Ausrichten mit Lösung 1
2 | Ausrichten mit Lösung 2
3 | Ausrichten gemäß kürzestem Verfahrweg (Shortest Way)


Transformation with gapping axis (P-CHAN-00213)

For the use of cartesian or kinematic transformation a gap free axes configuration is expected. At selection of transformation the CNC checks, weather in the current configuration the required number of axes without gaps is available. If necessary, an inserted simulation axis can complete the axes configuration.

In some special cases it's also necessary, to allow gapping axes configurations (e.g. a tool head without a physical Z slide). For example an axes configuration with gaps can be identified by the "non-linear" sequence of axes indices within the axes exchange command (see programming example below).

Gap free axes configuration by NC command:

#SET AX[X, 1, 0][Y, 2, 1][Z, 3, 2][C, 4, 3]

Axes configuration with gaps by NC command:

#SET AX[X, 1, 0][Y, 2, 1][C, 4, 3]

Variable name | Type | Permitted range | Dimension
gap_in_trafo_axis_sequence | BOOLEAN | 0: Axes configuration with gaps not allowed (default). 1: Axes configuration with gaps allowed. | ----


Initialization at program start (prog_start.*)

TwinCAT CNC: Overview

Initialization at program start (prog_start .*)

With the following elements an initialization of G-, M-, F- and addition-functions is possible. For this the functions are grouped according to their functionality.

If for a group no settings are given, then the compile time default settings are used.

More:

button Initialization of G-functions (prog_start.g_gruppe[i].*)

button Initialization of M-functions (prog_start.m_gruppe[i].*)

button Initialization of slope parameters (prog_start.slope.*)

button Initialization of default feedrate (P-CHAN-00099)

button Initialization of the unit of feedrate(P-CHAN-00108)

button Late synchronization at program end (P-CHAN-00033)


Initialization of G-functions (prog_start.g_gruppe[i].*)

TwinCAT CNC: Overview

Initialization of G-functions (prog_start.g_gruppe[i] .*)

For the decoder protocolling of changes in the NC-kernel (aep.*) the G-functions were grouped according to their functionality. This is also used analogous for the initialization of the G-functions.

This initialization is possible only for some specific G-groups (see chapter 2.31.1.1)!

Variable name | Type | Index | Dimension
g_gruppe[i] | START_G_GRP | i = 0 ... [MAX_G_GRP - 1] | ----

Value MAX_G_GRP | Significance
38 | Maximum number of G-function groups

More:

button Number of default G-function (P-CHAN-00063)


Number of default G-function (P-CHAN-00063)

TwinCAT CNC: Overview

Number of default G-function ( P-CHAN-00063)

This element defines the default G-function for the specific G-function group.

Group | Possible Default G-Functions
g_gruppe[0] | 0, 1, 2, 3, 4 (G00, G01, G02, G03, G04)
g_gruppe[4] | 17, 18, 19 (G17, G18, G19)
g_gruppe[6] | 25, 26 (G25, G26)
g_gruppe[8] | 51, 52 (G51, G52)
g_gruppe[12] | 70, 71 (G70, G71)
g_gruppe[14] | 90, 91 (G90, G91)
g_gruppe[21] | 135, 137 (G135, G137)
g_gruppe[22] | 138, 139 (G138, G139)
g_gruppe[23] | 161, 162 (G161, G162)
g_gruppe[25] | 164, 165 (G164, G165)
g_gruppe[32] | 140, 141 (G140, G141)

Variable name | Type | Permitted range | Dimension
nr | SGN16 | -1 < nr < MAX(UNS16) | ----

EXAMPLE: At program start the following initialization of the permissible G-Groups should be active:

Extract from channel parameters list:

# Default values for G-Functions

prog_start.g_gruppe[0].nr 0 (Area: WEG_BED)

prog_start.g_gruppe[4].nr 17 (Area: EBENE)

prog_start.g_gruppe[6].nr 25 (Area: WRK_UEBER)

prog_start.g_gruppe[8].nr 52 (Area: DURCHM)

prog_start.g_gruppe[12].nr 71 (Area: MASSEINH)

prog_start.g_gruppe[14].nr 90 (Area: MASSANG)

prog_start.g_gruppe[21].nr 135 (Area: VORST)

prog_start.g_gruppe[22].nr 139 (Area: WRK_E_A)

prog_start.g_gruppe[23].nr 162 (Area: MPKT_A_R)

prog_start.g_gruppe[25].nr 165 (Area: MPKT_KORR)

prog_start.g_gruppe[32].nr 140 (Area: CONT_MASK)


Initialization of M-functions (prog_start.m_gruppe[i].*)

TwinCAT CNC: Overview

Initialization of M-functions (prog_start.m_gruppe[i] .*)

M-functions are also grouped. But up to now there is only the group of spindle-M-functions.

Up to now initializations are only possible for the group spindle-M-functions (m_gruppe[0])!

Variable name | Type | Index | Dimension
m_gruppe[i] | START_M_GRP | i = 0 ... [MAX_M_GRP - 1] | ----

Value MAX_M_GRP | Significance
2 | Maximum number of M-function groups

More:

button Number of default M-function (P-CHAN-00064)


Number of default M-function (P-CHAN-00064)

TwinCAT CNC: Overview

Number of default M-function ( P-CHAN-00064)

This element defines the default M-function for the specific M-function group.

Group | Possible Default G-Functions
m_gruppe[0] | 3, 4, 5 (M03, M04, M05)

Variable name | Type | Permitted range | Dimension
nr | SGN16 | -1 < nr < MAX(UNS16) | ----

EXAMPLE: At program start the spindle-M-function "spindle stop" (M05) should be active.

Extract from channel parameters list:

# Initialization of M-functions

prog_start.m_gruppe[0].nr 5 (Bereich: SPDL_M_FCT)


Initialization of slope parameters (prog_start.slope.*)

TwinCAT CNC: Overview

Initialization of slope parameters (prog_start.slope .*)

The following elements initialize the default slope parameters. At program start these parameters are sent to the Look-ahead function.

More:

button Acceleration profile (P-CHAN-00071)

button Effect of the ramp time weighting (P-CHAN-00073)

button Effect of the acceleration weighting (P-CHAN-00001)


Acceleration profile (P-CHAN-00071)

Default value for the selected acceleration profile for path movements and movements of oscillating axes.

Variable name | Type | Permitted range | Dimension
profile | SGN16 | 0, 1, 2, 3 | ----

0 | Step shaped acceleration profile (Default)
1 | Trapezoidal shaped acceleration profile
2 | Sine quadratic shaped acceleration profile
3 | HSC slope


Effect of the ramp time weighting (P-CHAN-00073)

Default value for the adjustment of ramp time weighting. This value is only relevant to trapezoidal or sine quadratic acceleration profiles.

Variable name | Type | Permitted range | Dimension
ramp_time | SGN16 | 0, 1, 2, 3, 4 | ----

0 | Weighting affects on all ramp times (Default)
1 | Weighting affects on TR,beschl,zu
2 | Weighting affects on TR,beschl,ab
3 | Weighting affects on TR,brems,zu
4 | Weighting affects on TR,brems,ab


Effect of the acceleration weighting (P-CHAN-00001)

Default value for the adjustment of acceleration weighting.

Variable name | Type | Permitted range | Dimension
acceleration | SGN16 | 0, 1, 2 | ----

0 | Weighting affects on all accelerations (Default)
1 | Weighting affects on abeschl
2 | Weighting affects on abrems

EXAMPLE: At program start the slope should be initialized with a trapezoidal acceleration profile. The ramp time weighting affects on all ramp times and the acceleration weighting affects on abrems.

Extract from channel parameters list:

prog_start.slope.profile 1

prog_start.slope.ramp_time 0

prog_start.slope.acceleration 2


Initialization of default feedrate (P-CHAN-00099)

Default value for the feed rate in active feed movement blocks.

Variable name | Type | Permitted range | Dimension
feedrate | REAL64 | ---- | mm/min

EXAMPLE: If feed movement block (G01/G02/G03) is programmed without feed rate the velocity should be initialized with 1000 mm/min.

Extract from channel parameters list:

prog_start.feedrate 1000


Initialization of the unit of feedrate(P-CHAN-00108)

This parameter determines, in what kind of unit the feedrate value (e.g F1000) is interpreted.

Variable name | Type | Permitted range | Dimension
feedrate_factor | REAL64 | 0.1, 100 | ----

0.1 | Unit of the F-word is m/min
100 | Unit of the F-word is mm/min
<= 0 | Output of a warning. Default value 100 (mm/min) is set internally. Exception: For value -1 or if the parameter is not programmed in the list, no warning is created. The default value 100 (mm/min) is also set internally.

EXAMPLE: The programmed feedrate should be interpreted in the unit mm/min.

Extract from channel parameters list::

prog_start.feedrate_factor 100


Late synchronization at program end (P-CHAN-00033)

This parameter is used in conjunction with the snchronization types MVS_SLM and MVS_SLP (Late Sync). It controls the reaction on open Late-sync M-functions at program end. This is possible if there was no G01 until program end (for MVS_SLM) or if no explicite synchronization was programmed (for MVS_SLP).

Variable name | Type | Permitted range | Dimension
late_sync_ready | BOOLEAN | 0/1 | ----

0 | All open Late-sync M-functions at program end are still active at next program start. This means, that all open Late-sync M-functions of the first part program will be triggered firstly by a Late-sync event (G01 or #EXPL SYN) of the second part program.
1 | Waiting at program end until all open Late-sync M-functions have been acknowledged by PLC.

EXAMPLE: It should be waited at program end until all open Late-sync M-functions have been acknowledged by PLC.

Extract from channel parameters list::

prog_start.late_sync_ready 1


Reduction of tangential transition speed (P-CHAN-00009)

TwinCAT CNC: Overview

Reduction of tangential t ransition speed (P-CHAN-00009)

Tangential contour transition between circles and circles with different radius, between circles and linear blocks and vice versa leads to jump in jerk depending on circle radius. To reduce excitation of vibrations of machine, with nonlinear slope profiles this jerk can be reduced by activation this function. At tangential block transition the speed is reduced to a lower value. The calculation is based on jerk adjustment of axis specific parameters (see also [AXIS]).

On the other hand in some specific technologies the reduction of velocity at tangential block transition is not acceptable.

Variable name | Type | Permitted range | Dimension
corr_v_trans_jerk | BOOLEAN | 0/1 | ----

0 | No limitation of jerk at tangential block transition.
1 | Limitation of jerk at tangential block transition.


Check of jerk on polynomial path (P-CHAN-00110)

The curvature of the programmed path (Polynom) results in an axis specific jerk. If the value is 1, this jerk is checked with the axis specific jerk parameter (P-AXIS-00199) [AXIS]. If the value is 2, for the check of the jerk the ramp times P-AXIS-00195...P-AXIS-00198 are used. If the maximum jerk of the axis is relative small the velocity on the path will be reduced. If for technological reasons this reduction is not wanted, the monitoring of the jerk within the polynomial path can be suppressed.

Variable name | Type | Permitted range | Dimension
check_jerk_on_poly_path | BOOLEAN | 0/1/2 | ----

0 | No limiting of jerk within the polynomial path.
1 | Limiting of jerk within the polynomial path based on P-AXIS-00199 .
2 | Limiting of jerk within the polynomial path based on the maximum of P-AXIS-00195 , P-AXIS-00196 , P-AXIS-00197 , P-AXIS-00198 .


Mode for jerk limiting at block transition (P-CHAN-00117)

This parameter allows the selection of several modes for parameterization of jerk limiting at any block transitions. For example the jerk can be adjusted via the weighting of acceleration or directly via the predefinition of the maximum jerk values.

Variable name | Type | Permitted range | Dimension
mode_trans_jerk | UNS32 | 0/1/2 | ----

0 | Weighting parameter P-AXIS-00013 depends on P-AXIS-00154 , this means P-AXIS-00013 can not be set smaller than P-AXIS-00154.
1 | The weighting parameters P-AXIS-00154 and P-AXIS-00013 are independently adjustable.
2 | The jerk parameters P-AXIS-00339 and P-AXIS-00340 are active and independently adjustable.


Speed limit look ahead (speed_limit_look_ahead.*)

Depending on technology it can be necessary that the CNC informs the PLC about changes in velocity. In this case, if velocity will fall below a speed limit the CNC generates a logic signal Speed limit detected (SLD).

Fig. 2-7: Timing example of speed limit look ahead

Extract from channel parameters list:

speed_limit_look_ahead .f_enable 1 0: disabled 1: enabled

speed_limit_look_ahead .v_limit 750 [0.1%] of programmed speed

speed_limit_look_ahead .f_time 1 unit of following parameters

speed_limit_look_ahead .dist_to_corner 5000 [0.1µm or µs]

speed_limit_look_ahead .dist_from_corner 6000 [0.1µm or µs]

speed_limit_look_ahead .f_override_weight_v_limit 0 0: disabled 1: enabled

More:

button Enable / disable (P-CHAN-00017)

button Weighting of speed limit (P-CHAN-00089)

button Unit selection (P-CHAN-00018)

button Distance to corner (P-CHAN-00013)

button Distance from corner (P-CHAN-00012)

button Weighting the speed limit value by override (P-CHAN-00155)


Enable / disable (P-CHAN-00017)

Parameter for enable or disable functionality speed limit look ahead.

Variable name | Type | Permitted range | Dimension
f_enable | BOOLEAN | 0/1 | ----

0 | Disable speed limit look ahead.
1 | Enable speed limit look ahead.


Weighting of speed limit (P-CHAN-00089)

Speed limit value in 0.1 percent of programmed speed. If current vector speed falls or will fall below the value

v = vprog*v_limit/1000

the logic signal SLD 0 ->1 is generated.

Variable name | Type | Permitted range | Dimension
v_limit | UNS32 | 0 ..MAX(UNS32) | 0.1%


Unit selection (P-CHAN-00018)

Logic signal SLD is generated depending on parameter type path or time.

Variable name | Type | Permitted range | Dimension
f_time | BOOLEAN | 0/1 | ----

0 | The distance parameters P-CHAN-00012 and P-CHAN-00013 are interpreted with unit path.
1 | The distance parameters P-CHAN-00012 and P-CHAN-00013 are interpreted with unit time.


Distance to corner (P-CHAN-00013)

Logic signal SLD 0 ->1 is generated in prediction depending on distance to corner and speed will fall below speed limit in corner.

Variable name | Type | Permitted range | Dimension
dist_to_corner | UNS32 | 0 .MAX(UNS32) | [0.1 μ m] or [ μ s]


Distance from corner (P-CHAN-00012)

Logic signal SLD 1 -> 0 is reset after speed exceeds speed limit and distance from corner is reached.

Variable name | Type | Permitted range | Dimension
dist_from_corner | UNS32 | 0 .MAX(UNS32) | [0.1 μ m] or [ μ s]


Weighting the speed limit value by override (P-CHAN-00155)

The influencing of the speed limit via the real time feed override can be controled by this parameter. In default case the real time feed override does not influence the speed limit value P-CHAN-00089 (v_limit). The parameter is set on 1, if this is desirable e.g. for the comissioning or the running in of contours. Then the parametrized speed limit value is weighted by the override value. It has to be taken into account for non constant programmed feed, that the SLD signal is getting active each in acceleration phases, because at block beginning the speed limit is set on the new value.

Variable name | Type | Permitted range | Dimension
f_override_weight_v_limit | BOOLEAN | 0/1 | ----

0 | No weighting of P-CHAN-00089 (Default).
1 | Weighting of P-CHAN-00089 by override.

Fig. 2- 8 : Timing diagram without override weighting ( f_override_weight_v_limit = 0 )

Fig. 2- 9 : Timing diagram with override weighting ( f_override_weight_v_limit = 1 )


Settings for manual mode

More:

button Rejection of manual mode path (P-CHAN-00113)

button Relative manual mode offset limits with G200 (P-CHAN-00114)

button Override at manual mode (P-CHAN-00186)


Rejection of manual mode path (P-CHAN-00113)

Active manual mode G201 can be deactivated either via G202 or implicit at program end. The G200 mode only can be deactivated by means of the change of operation mode or via "Continue of processing" in automatic mode. Depending on manual operation mode (incremental jog, continues jog), dynamic parameters and active realtime influences (e.g. feed override) at the time of deactivation of manual mode a residual path can still be active. This residual path can cause an unexpected overtravel of the axis.

If this behaviour is not acceptable this residual path can be rejected with parameter setting "path_reject_std_manual_mode". Then the movement stops immediately at the moment of deactivation of manual mode.

Variable name | Type | Permitted range | Dimension
path_reject_std_manual_mode | BOOLEAN | 0/1 | ----

0 | Active residual manual mode path is completely executed after deactivation.
1 | Rejection of active residual manual mode at deactivation.


Relative manual mode offset limits with G200 (P-CHAN-00114)

With active G200, travel limitation is controlled by predefined software limit switches if homing was done before.

If also the relative offset limits should be taken into consideration this can be controlled by parameter setting of "rel_offset_limits_std_manual_mode".

Variable name | Type | Permitted range | Dimension
rel_offset_limits_std_manual_mode | BOOLEAN | 0/1 | ----

0 | No consideration of relative offset limits with manual mode G200.
1 | Consideration of relative offset limits with manual mode G200.


Override at manual mode (P-CHAN-00186)

The axis or path specific override affects on the feedrate during tip or jog mode. During handwheel operation no feedrate override weighting is executed. The current feedrate is a result from the rotation speed of the handwheel, the parameter setting of the resolution and the increments per CNC cycle. The nominal feedrate is defined by the axis specific manual mode parametrization.

By the parameter P-CHAN-00186 the effectivness of the override also during handwheel operation can be set.

Variable name | Type | Permitted range | Dimension
override_v_handwheel | BOOLEAN | 0/1 | ----

0 | No override feedrate weighting during handwheel operation (default).
1 | Feedrate weighting by override during handwheel operation.


Exclusivity of dimension programming (P-CHAN-00116)

By the parameter "multi_dimension_in_block" the exclusivity of the G90/G91 programming in the same NC block can be disabled. ([PROG - Chapter Absolute or incremental dimensioning (G90/G91)].

Variable name | Type | Permitted range | Dimension
multi_dimension_in_block | BOOLEAN | 0/1 | ----

0 | G90/G91 may be programmed only exclusively in the same NC block. (Default).
1 | G90/G91 may be programmed at the same time in the same NC block. The dimension programmed last is valid for all following positions up to the next G90/G91.


Exclusivity of axes programming (P-CHAN-00148)

By the parameter "multi_axes_in_block" the exclusivity of the axes programming can be disabled. This parameter is only evaluated, if also the multiple dimension programming is enabled (P-CHAN-00116).

In this case the multiple axes programming for the same axes in identical dimension (G90/ G91) in the same NC block is allowed.

Programming example

Nxx G90 X10 G91 Y10 Z20 Y1 -> Y relative for 11

Nxx G90 X10 Y10 X2 G91 Z30 -> X absolute on 2

Nxx G90 X10 Y20 G91 Z30 G90 Y5 -> Y absolute on 5

Variable name | Type | Permitted range | Dimension
multi_axes_in_block | BOOLEAN | 0/1 | ----

0 | Axes may be programmed only exclusively in the same NC block. (Default).
1 | Identical axes can be programmed several times in the same NC block. For these axes the same dimension programming (G90/G91) has to be used.


Sub program call with M6 (P-CHAN-00118)

The parameter "m6_prog_file" defines the name of a global sub program, which is implicitly called, if M6 in the NC program has been detected.

In this case a M6 is not processed as a normal M function, but in the sense of a global sub program call analogous to "L ..." . So also no techno process is initiated.

If the parameter "m6_prog_file" is not set or it is not available in the channel parameters list, the M6 is processed as a normal M function.

In NC program the sub program name also can be defined by the command #FILENAME [M6="<prog_name>"]. This new sub program name is valid until program end M30 or until a further #FILENAME [M6="<prog_name>"] [PROG].

After RESET or program start the entry of "m6_prog_file" in the channel parameters list is valid again.

Variable name | Type | Permitted range | Dimension
m6_prog_file | PROG_NAME | String | ----

Extract from channel parameters list:

m6_prog_file tool_change1.nc


Sub program call at program start (P-CHAN-00119)

If in the parameter "start_init_prog_file" the name of a (global) sub program is entered, at NC program start as a first action this sub program is implicitly executed.

In MDI or manual mode this sub program is not executed.

Variable name | Type | Permitted range | Dimension
start_init_prog_file | PROG_NAME | String | ----

Extract from channel parameters list:

start_init_prog_file init.nc


Settings for software limit monitoring

More:

button Software limit monitoring with tolerance (P-CHAN-00120)

button Error reaction for command value based software limit monitoring (P-CHAN-00147)


Software limit monitoring with tolerance (P-CHAN-00120)

The actual value based software limit monitoring is fundamentally done on the basis of P-AXIS-00177 and P-AXIS-00178 and under consideration of the tolerance P-AXIS-00179.

The command value based software limit monitoring is done in the path preparation on the basis of P-AXIS-00177 and P-AXIS-00178. If during program start some axes are outside the software limit positions mentioned above, the CNC reports a software limit error.

By the parameter "soft_limit_tolerance" the user can activate a software limit monitoring with tolerance. In this case in addition the axis parameter P-AXIS-00179 is considered in the path preparation. If the current axis position is outside the software limit positions, but inside the tolerance, no software limit error is reported. The tolerance is only considered, if the axis is not programmed respectively is not moved.

Variable name | Type | Permitted range | Dimension
soft_limit_tolerance | BOOLEAN | 0/1 | ----

0 | Software limit monitoring without tolerance
1 | Software limit monitoring with tolerance at stationary axes


Error reaction for command value based software limit monitoring (P-CHAN-00147)

This parameter defines the error reaction for specific axes of the channel for command value based software limit monitoring. The error reaction of the actual value based monitoring is not affected. The function is a characteristic of the channel axes.

Variable name | Type | Permitted range | Dimension
soft_limit_warning_axes | UNS32 | 0x0..0xFFFFFFFF | ----

0 | Error reaction is feedhold of all axes at command value based exceeding of software limits, channel remains in error state until CNC RESET. (Default)
!=0 | Only output of a warning at command value based exceeding of software limits for the defined axes, machining is continued.

EXAMPLE: Warning at command value based software limit exceeding for the axes 1 to 3 of the channel.

Extract from channel parameters list:

soft_limit_warning_axes 0x7


Display format during machining simulation (P-CHAN-00121)

By the parameter "simu_output_wcs" at the interface of the machining simulation the format of the display data concerning the coordinate system can be switched.

Variable name | Type | Permitted range | Dimension
simu_output_wcs | BOOLEAN | 0/1 | ----

0 | Display of the axes coordinates including all offsets (Machine coordinates)
1 | Display of absolute coordinates without any offsets (Programmed coordinates)


List interpretation during active NC program (P-CHAN-00146)

Normally the reinterpretation of configuration lists during an active NC program is not allowed.

By the parameter "parameter_change_during_execution" this blocking can be cancelled. The user has to ensure, that at the time of reinterpretation of the new list the buffering effect of the channel is removed by a suitable programming (e.g #FLUSH WAIT in combination with M function).

So the taking over of zero offsets, clamping offsets, tool data, external variables and channel parameters also during active NC program is possible.

Variable name | Type | Permitted range | Dimension
parameter_change_during_execution | BOOLEAN | 0/1 | ----

0 | List interpretation during active NC program is blocked (Default).
1 | List interpretation during active NC program is allowed.


Adoption of block number at sub program call (P-CHAN-00150)

In default case at sub program call the internal value of the last evaluated block number is set to zero.

The read access via the variable V.G.SATZ_NR at the beginning of a sub program delivers the value 0.

If the parameter "remain_block_number_sub_prog_call" is enabled, at sub program call the internal value of the last evaluated block number from the superior (main) program is unchanged.

The read access via the variable V.G.SATZ_NR at the beginning of a sub program delivers a value > 0 (in condition that block numbers are programmed).

Variable name | Type | Permitted range | Dimension
remain_block_number_sub_prog_call | BOOLEAN | 0/1 | ----

0 | The internal value of the last programmed block number is set to zero at sub program call (Default).
1 | The internal value of the last programmed block number is unchanged at sub program call.

Programming example

With disabled "remain_block_number_sub_prog_call" 0

:

N1000 X100 Y200 Z300

N1010 LL SUB1.NC

-> V.G.SATZ_NR access on the beginning of SUB1.NC delivers 0

With enabled "remain_block_number_sub_prog_call" 1

:

N1000 X100 Y200 Z300

N1010 LL SUB1.NC

-> V.G.SATZ_NR access on the beginning of SUB1.NC delivers 1010


Parameterisation of HSC machining (hsc.*)

HSC machining is parameterised via an internal-controller basic initialisation. With the aid of the parameters described below, this internal basic setting can be additionally modified for HSC machining. A distinction is made between special parameters for HSC machining with BSPLINE and general HSC parameters.

By way of the appropriate HSC instructions, basic parameterisation after program start can also be modified (#HSC.. [...]) or selected [PROG].

More:

button BSPLINE parameters (hsc.bspline.*)

button General HSC parameters (hsc.gen.*)

button HSC filter parameters (hsc.filter.*)


BSPLINE parameters (hsc.bspline.*)

More:

button Deviation from the path contour (P-CHAN-00122)

button Deviation of the dragged axes (P-CHAN-00123)

button Path length of relevant blocks (P-CHAN-00124)

button Contour bend angle for linear block transitions (P-CHAN-00125)

button Cancellation criteria for merging blocks (P-CHAN-00126)

button Start criteria for merging blocks (P-CHAN-00127)

button Spline cancellation in the case of G00 blocks (P-CHAN-00128)

button Response to maximum path deviation (P-CHAN-00129)

button Response to maximum dragged axis deviation (P-CHAN-00130)

button Limiting the corner distance (P-CHAN-00131)


Deviation from the path contour (P-CHAN-00122)

The "path_deviation" parameter determines the maximum deviation of the B-spline from the programmed path contour. The spline is cancelled automatically if this deviation is exceeded.

Variable name | Type | Permitted range | Dimension
path_deviation | REAL64 | 0 .MAX(REAL64) | 0.1µm


Deviation of the dragged axes (P-CHAN-00123)

The "track_deviation" parameter determines the maximum deviation of the dragged axes.

Variable name | Type | Permitted range | Dimension
track_deviation | REAL64 | 0 .MAX(REAL64) | 0.1µm oder 0,0001º


Path length of relevant blocks (P-CHAN-00124)

The "max_path_length" parameter determines the maximum path length of relevant blocks. If blocks are longer than the specified length, the B-spline is implicitly cancelled.

Variable name | Type | Permitted range | Dimension
max_path_length | REAL64 | 0 .MAX(REAL64) | 0.1µm


Contour bend angle for linear block transitions (P-CHAN-00125)

The "max_angle" parameter determines the maximum contour bend angle for transitions between two linear blocks up to which a B-spline is inserted. The B-spline is cancelled internally if the angle between the two linear blocks is greater.

Variable name | Type | Permitted range | Dimension
max_angle | REAL64 | 0 .MAX(REAL64) | 0,0001º


Cancellation criteria for merging blocks (P-CHAN-00126)

The "merge_retry" parameter determines the maximum number of attempts to merge blocks in the current merge window P-CHAN-00127 into one spline segment.

Variable name | Type | Permitted range | Dimension
merge_retry | UNS32 | 0 .MAX(UNS32) | ----


Start criteria for merging blocks (P-CHAN-00127)

Merging into spline segments is started whenever the number of blocks defined in the "merge_window" parameter is reached.

Variable name | Type | Permitted range | Dimension
merge_window | UNS32 | 0 .MAX(UNS32) | ----


Spline cancellation in the case of G00 blocks (P-CHAN-00128)

The "auto_off_g00" parameter determines automatic cancellation of B-spline interpolation in the case of G00 blocks.

Variable name | Type | Permitted range | Dimension
auto_off_g00 | BOOLEAN | 0/1 | ----

0 | No implicit cancellation due to a rapid traversing block
1 | Implicit cancellation due to a rapid traversing block


Response to maximum path deviation (P-CHAN-00129)

When the maximum path deviation is exceeded, the "auto_off_path" parameter determines what measure is to be applied during spline generation.

Variable name | Type | Permitted range | Dimension
auto_off_path | BOOLEAN | 0/1 | ----

0 | The spline is altered (the corner distance is reduced) so that the predefined maximum corner deviation is kept to and the spline touches the original contour before and after the corner. The spline is not cancelled.
1 | The spline is automatically cancelled at the corner. Therefore, any contour bend at the corner is retained ("sharp corner").


Response to maximum dragged axis deviation (P-CHAN-00130)

When the maximum dragged axis deviation is exceeded, the "auto_off_track" parameter determines which measure is to be applied during spline generation.

Variable name | Type | Permitted range | Dimension
auto_off_track | BOOLEAN | 0/1 | ----

0 | The spline is reduced (the corner distance is reduced) so that the predefined maximum deviation is kept to and the spline touches the original contour before and after the corner. The spline is not cancelled.
1 | The spline is automatically cancelled at the corner. Therefore, any contour bend at the corner is retained.


Limiting the corner distance (P-CHAN-00131)

The "limit_corner_dist" parameter determines the minimum corner distance depending on the original block length to which limiting is to apply during spline generation, especially in the case of prismatic parts.

Variable name | Type | Permitted range | Dimension
limit_corner_dist | REAL64 | 0 .250 (25%) | 0.1%


General HSC parameters (hsc.gen.*)

More:

button Segmentation of linear blocks (P-CHAN-00132)

button Block selection in the case of linear segmentation (P-CHAN-00133)

button Segmentation specification (P-CHAN-00134)

button Segment length in the case of linear blocks (P-CHAN-00135)

button Basis of segmentation of circular blocks (P-CHAN-00136)

button Segmentation of circular blocks (P-CHAN-00137)

button Contour error in the case of segmentation of circular blocks (P-CHAN-00138)

button Handling short blocks (P-CHAN-00139)

button Minimum segment length in the case of block segmentation (P-CHAN-00140)

button Jerk limiting algorithm (P-CHAN-00141)

button Factor for permissible jerk during 5 axes operation (P-CHAN-00142)

button Factor for permissible jerk during 2.5D operation (P-CHAN-00143)


Segmentation of linear blocks (P-CHAN-00132)

The "linear_segmentation" parameter defines whether linear blocks are to be segmented before splining.

Variable name | Type | Permitted range | Dimension
linear_segmentation | BOOLEAN | 0/1 | ----

0 | Segmentation of linear blocks inactive
1 | Segmentation of linear blocks active


Block selection in the case of linear segmentation (P-CHAN-00133)

The "linear_center_point" parameter determines how many blocks are generated during linear segmentation. To this end, the P-CHAN-00134 parameter must be set to 0. Depending on the available block travel distance, 4 or 3 block segments are generated. In both cases, the segments have the length P-CHAN-00135 at the start and the end of the block. If not enough block travel distance is available (shorter than 3* P-CHAN-00135), the original block travel distance is split over two blocks.

Variable name | Type | Permitted range | Dimension
linear_center_point | BOOLEAN | 0/1 | ----

0 | Three block segments, the first and last segments being P-CHAN-00135 long, the middle segment has the length of the remaining distance.
1 | Four block segments, the first and last segments being P-CHAN-00135 long, and the two middle segments share the remaining distance.


Segmentation specification (P-CHAN-00134)

The "linear_continuous_split" parameter determines whether linear blocks are generated continuously, i.e. with equal segment lengths, or whether the special segmentation specification in compliance with P-CHAN-00133 applies.

Variable name | Type | Permitted range | Dimension
linear_continuous_split | BOOLEAN | 0/1 | ----

0 | Special segmentation specification in compliance with P-CHAN-00133 is active.
1 | Continuous block segmentation, i.e. all segments are of equal length.


Segment length in the case of linear blocks (P-CHAN-00135)

The "linear_split_length" parameter defines the segment length in the case of linear blocks.

Variable name | Type | Permitted range | Dimension
linear_split_length | UNS32 | 1 .MAX(UNS32) | 0.1µm

Default value

1000


Basis of segmentation of circular blocks (P-CHAN-00136)

The "circular_secant_error" parameter determines whether the block length during segmentation of circular blocks results on the basis of the secant error or the path length. The secant error or the path length is specified via P-CHAN-00138 .

Variable name | Type | Permitted range | Dimension
circular_secant_error | BOOLEAN | 0/1 | ----

0 | Segmentation of circular blocks on the basis of the secant error.
1 | Segmentation of circular blocks on the basis of the path length.


Segmentation of circular blocks (P-CHAN-00137)

The "circular_segmentation" parameter determines whether circular blocks are segmented before splining.

Variable name | Type | Permitted range | Dimension
circular_segmentation | BOOLEAN | 0/1 | ----

0 | Segmentation of circular blocks inactive (default).
1 | Segmentation of circular blocks active.


Contour error in the case of segmentation of circular blocks (P-CHAN-00138)

The "circular_param" parameter determines the permissible contour error in the case of segmentation of circular blocks. Depending on P-CHAN-00136, either the secant error or the path length of the segment is specified.

Variable name | Type | Permitted range | Dimension
circular_param | UNS32 | 1 .MAX(UNS32) | 0.1µm

Default value

50


Handling short blocks (P-CHAN-00139)

The "filter_deviation" parameter determines whether blocks that fall below a minimum length are to be removed.

Variable name | Type | Permitted range | Dimension
filter_deviation | UNS32 | 0 .MAX(UNS32) | 0.1µm

0 | No removal of short blocks (default).
>0 | Blocks that are shorter than P-CHAN-00139 are removed.


Minimum segment length in the case of block segmentation (P-CHAN-00140)

The "min_segment_length" parameter determines the minimum segment length on block segmentation due to the dynamics in the contour. Lower values lead to improved use of the dynamics, but also to a larger number of blocks.

Variable name | Type | Permitted range | Dimension
min_segment_length | UNS32 | 1 .MAX(UNS32) | 0.1µm

Default value

200


Jerk limiting algorithm (P-CHAN-00141)

The "jerk_monitoring_mode" parameter determines which algorithm is to be used for jerk limiting.

Variable name | Type | Permitted range | Dimension
jerk_monitoring_mode | UNS32 | 0/1/2 | ----

0 | Jerk limiting without consideration of internal derivations of the polynomials (du/ds).
1 | Jerk limiting with consideration of internal derivations of the polynomials (dr/ds) (default).
2 | Jerk limiting with minimum speed from 0 and 1, MIN[du/ds, dr/ds]


Factor for permissible jerk during 5 axes operation (P-CHAN-00142)

The "jerk_weighting_5ax" parameter determines the weighting factor for the permissible jerk during 5 axes operation.

Variable name | Type | Permitted range | Dimension
jerk_weighting_5ax | UNS32 | 1....MAX(UNS32) | [0.1%]

Default value

2000


Factor for permissible jerk during 2.5D operation (P-CHAN-00143)

The "jerk_weighting_5ax" parameter determines the weighting factor for the permissible jerk during 2.5D operation.

Variable name | Type | Permitted range | Dimension
jerk_weighting | UNS32 | 1 .MAX(UNS32) | [0.1%]

Default value

2000


HSC filter parameters (hsc.filter.*)

More:

button Automatc selection during program start (P-CHAN-00201)

button Filter order for cartesian filters (P-CHAN-00202)

button Filter order for orientation filters (P-CHAN-00203)


Automatc selection during program start (P-CHAN-00201)

The parameter "auto_enable defines the selection mode of the HSC filter during program start.

Variable name | Type | Permitted range | Dimension
auto_enable | UNS32 | 0 .3 | ----

Value auto_enable | Significance
0 | No automatic selection during program start.
1 | All filters are automatically selected during program start.
2 | Only cartesian filters are automatically selected.
3 | Only orientation filters are automatically selected.


Filter order for cartesian filters (P-CHAN-00202)

The parameter "order_cart" defines the filter order for cartesian filters. With increasing order the filter effect also is getting stronger. Value 0 means no filter effect.

Variable name | Type | Permitted range | Dimension
order_cart | UNS32 | 0 .40 | ----


Filter order for orientation filters (P-CHAN-00203)

The parameter "order_track" defines the filter order for orientation filters. With increasing order the filter effect also is getting stronger. Value 0 means no filter effect.

Variable name | Type | Permitted range | Dimension
order_track | UNS32 | 0 .40 | ----


Channel synchronization during axes exchange (P-CHAN-00154)

The parameter "ax_exchange_with_implicit_flush" offers the posssibility, that during the axes exchange commands #CALL AX, #AX REQUEST, #SET AX and #AX DEF an implicit FLUSH WAIT is executed. During the axes exchange commands #PUT AX and #AX RELEASE an implicit FLUSH CONTINUE is executed. This can avoid blockings between NC channels during axes exchange operations.

Variable name | Type | Permitted range | Dimension
ax_exchange_with_implicit_flush | BOOLEAN | 0/1 | ----

0

Default execution of all axes exchange commands according to the programming manual (Default).

1

Output of an implicit FLUSH WAIT during the axes exchange commands #CALL AX, #AX REQUEST, #SET AX and #AX DEF. Output of an implicit FLUSH CONTINUE during the axes exchange commands #PUT AX and #AX RELEASE.

The output of the FLUSH WAIT and FLUSH CONTINUE is always initiated before the creation of the axes exchange sequence.


Program name for automatic streaming (P-CHAN-00158)

If this program is opend as main or global sub program, the ASCII data are requested from the data streaming interface and not from the file system. This means, the data input is switched transparently on the streaming interface.

If the program name is not entered, the streaming function can not be activated.

Variable name | Type | Permitted range | Dimension
streaming_prog_file | PROG_NAME | String | ----

<empty_string> | Streaming function deactivated (Default).
<prog_name> | Name of the file (main program / global sub program) which automatically starts the streaming.

Extract from channel parameters list:

streaming_prog_file streaming.nc (Name of streaming program)


Modal effect of I/J/K for circle programming (P-CHAN-00159)

By the parameter "modal_i_j_k_for_circle" for circles the local/modal effectiveness of the center point coordinates I, J, K can be defined [PROG - Chapter Circular interpolation (G02/G03)].

Variable name | Type | Permitted range | Dimension
modal_i_j_k_for_circle | BOOLEAN | 0/1 | ----

0 | The circle center point coordinates I, J, K are non-modal (local). This means, they have to be programmed again for each new G02/G03 NC block (Default).
1 | The circle center point coordinates I, J, K are modal. This means, they remain valid in all following G02/G03 NC blocks.


Sub programm calls by the use of G functions

More:

button Implicit calls by G80-G89 (P-CHAN-00160 - P-CHAN-00169)

button Additional implicit calls by G800-G819 (P-CHAN-00187)


Implicit calls by G80-G89 (P-CHAN-00160 - P-CHAN-00169)

TwinCAT CNC: Overview

Implicit calls by G80G89 (P-CHAN-00160 - P-CHAN-00169)

The parameters " g80_prog_file" - "g89_prog_file " define the names of global sub programms, which are implicitly called, if G80  G89 has been detected in the NC program.

If in the channel parameter list the related parameter is empty or not available, the programming of G80  G89 causes the error message P-ERR-20131 "Unknown G function"

In NC program the sub program names also can be overwritten respectively temporary defined by the command #FILENAME [G8x="<prog_name>"]. This new sub program names are valid until program end M30 or until a further #FILENAME [G8x="<prog_name>"] [PROG].

After RESET or program start the entries of "g8x_prog_file" in the channel parameters list are valid again.

Variable name | Type | Permitted range | Dimension
g80_prog_file - g89_prog_file | PROG_NAME | String | ----

Extract from channel parameters list:

g80_prog_file G80_up_test.nc (Name of sub program for G80)

g81_prog_file G81_up_test.nc (Name of sub program for G81)

g82_prog_file G82_up_test.nc (Name of sub program for G82)

g83_prog_file G83_up_test.nc (Name of sub program for G83)

g84_prog_file G84_up_test.nc (Name of sub program for G84)

g85_prog_file G85_up_test.nc (Name of sub program for G85)

g86_prog_file G86_up_test.nc (Name of sub program for G86)

g87_prog_file G87_up_test.nc (Name of sub program for G87)

g88_prog_file G88_up_test.nc (Name of sub program for G88)

g89_prog_file G89_up_test.nc (Name of sub program for G89)


Additional implicit calls by G800-G819 (P-CHAN-00187)

TwinCAT CNC: Overview

Additional implicit calls by G800G819 (P-CHAN-00187)

In addition to the implicit call of sub programms by G80-G89 the parameter "g800_prog_file[i]" offers the possibility to define further 20 names of global sub programms, which are implicitly called, if G800  G819 has been detected in the NC program.

If in the channel parameter list the related parameter is empty or not available, the programming of G800  G819 causes the error message P-ERR-20131 "Unknown G function"

In NC program the sub program names also can be overwritten respectively temporary defined by the command #FILENAME [G8xx="<prog_name>"]. This new sub program names are valid until program end M30 or until a further #FILENAME [G8xx="<prog_name>"] [PROG].

After RESET or program start the entries of "g800_prog_file[i]" in the channel parameters list are valid again.

Variable name | Type | Permitted range | Dimension
g800_prog_file[i] | PROG_NAME | String | ----
i | UNS16 | 0 ... 19 | ----

Extract from channel parameters list:

g800_prog_file[0] G800_up_test.nc (Name of sub program for G800)

g800_prog_file[1] G801_up_test.nc (Name of sub program for G801)

g800_prog_file[2] G802_up_test.nc (Name of sub program for G802)

g800_prog_file[3] G803_up_test.nc (Name of sub program for G803)

g800_prog_file[4] G804_up_test.nc (Name of sub program for G804)

g800_prog_file[5] G805_up_test.nc (Name of sub program for G805)

g800_prog_file[6] G806_up_test.nc (Name of sub program for G806)

g800_prog_file[7] G807_up_test.nc (Name of sub program for G807)

g800_prog_file[8] G808_up_test.nc (Name of sub program for G808)

g800_prog_file[9] G809_up_test.nc (Name of sub program for G809)

g800_prog_file[10] G810_up_test.nc (Name of sub program for G810)

g800_prog_file[11] G811_up_test.nc (Name of sub program for G811)

g800_prog_file[12] G812_up_test.nc (Name of sub program for G812)

g800_prog_file[13] G813_up_test.nc (Name of sub program for G813)

g800_prog_file[14] G814_up_test.nc (Name of sub program for G814)

g800_prog_file[15] G815_up_test.nc (Name of sub program for G815)

g800_prog_file[16] G816_up_test.nc (Name of sub program for G816)

g800_prog_file[17] G817_up_test.nc (Name of sub program for G817)

g800_prog_file[18] G818_up_test.nc (Name of sub program for G818)

g800_prog_file[19] G819_up_test.nc (Name of sub program for G819)


Active testing whether axis group is "in position" (P-CHAN-00173)

By means of this parameter, actual value checking of the accurate stop window can be suppressed for the single step mode, programmed stop or optional stop (i.e. typical functions where a handshake with the operator is necessary).

In the case of other functions such as programmed accurate stop G60, the check whether the axis group is in the actual value accurate stop window always takes place and is independent of this parameter.

Variable name | Type | Permitted range | Dimension
suppress_ax_group_in_pos_check | BOOLEAN | 0/1 | ---

0 | Actual value check is performed before changing to the next motion block also for single step mode, programmed stop or optional stop (Default).
1 | Actual value check is not performed before changing to the next motion block also for single step mode, programmed stop or optional stop.

EXAMPLE: No "in-window" check in the case of programmed or optional stop or single step mode.

Extract from channel parameters list:

# Check axis group in position inactive for single step, prog. optional stop

suppress_axgr_in_pos_check 1


Definition of channel display information

More:

button Channel name (P-CHAN-00174)

button Channel type (P-CHAN-00175)


Channel name (P-CHAN-00174)

This parameter enables user-specific definition of a channel name, which is made available for display in the PLC interface (HLI).

Variable name | Type | Permitted range | Dimension
channel_name | CHANNEL_NAME | String | ----

<Blank string> | No display of a channel name (Default).
<Channel_name> | Name of the NC channel (string 16 characters long or depending on the application).

Extract from channel parameters list:

channel_name CHANNEL-1 (Name of NC channel for display)


Channel type (P-CHAN-00175)

This parameter enables user-specific definition of a channel identifier, which is made available for display in the PLC interface (HLI).

Variable name | Type | Permitted range | Dimension
channel_type | SGN32 | MIN(SGN32) < channel_type < MAX(SGN32) | ----

Extract from channel parameters list:

channel_type 123 (NC channel identifier for display)


Default axis configuration in the channel after reset (P-CHAN-00179)

Via the "ax_default_config_after_reset" parameter, you can define whether the axis configuration is to be restored in compliance with the channel parameter list after a reset in the NC channel.

It only makes sense to use this parameter if P-CHAN-00075 (reset_no_axis_-to_axv) is defined with FALSE.

Variable name | Type | Permitted range | Dimension
ax_default_config_after_reset | BOOLEAN | 0/1 | ----

0 | Handling of the path axes in compliance with P-CHAN-00075 and P-CHAN-00115 (Default).
1 | Restore basis configuration of axes after RESET in compliance with channel parameter list.


Suppressing display of file name/offset (P-CHAN-00180)

By way of the "suppress_prg_display_level" parameter, you can define up to which program level the active file name and file offset are updated for display. At all program levels under this limit, display of the file name and of the file offset are frozen. If the parameter is not defined or is set to 0, the file name and the file offset are displayed for all permissible program levels.

If the parameter is assigned the value 1, the data is current for the main program only. Each time the parameter is increased, the data is updated for a further subroutine level.

Variable name | Type | Permitted range | Dimension
suppress_prg_display_level | UNS16 | 0. MAX(UNS16) | ----

Default value

50 (maximum permissible nesting depth of NC programs)


Ignore internal stop conditions during rapid contour visualization (P-CHAN-00183)

By the parameter "simu_ignore_internal_stop_cond" the stopping of the NC program because of internal stop conditions (e. g. M00) during rapid contour visualization can be suppressed.

Variable name | Type | Permitted range | Dimension
simu_ignore_internal_stop_cond | BOOLEAN | 0/1 | ----

0 | Internal stop conditions are effective (default).
1 | Internal stop conditions are ignored.


Orientation programming (ori.*)

In the case of 5-axis machining with active complete transformation, the Cartesian coordinates are programmed either in a point/Euler angle representation or in a point/direction vector representation.

The orientation is specified by means of the address letters A/B/C or also I/J/K.

In the basic setting, the point/Euler angle representation is active in the NC channel (orientation specified via the rotation angles A, B, C) and, typically, two rotation angles are sufficient for 5-axis machining. All three rotation angles are typically used only for machines with six axes (e.g. robots) to define the manual coordinate system.

In CAD/CAM systems, the coordinates of a workpiece are usually stored in vector representation and, also in the automatically generated NC programs, the axis coordinates are represented in vector notation.

To enable direct execution of such NC programs, it is possible to set by means of the following channel parameters whether the values programmed with A,B,C or I,J,K are to be interpreted as angle values or as vector components.

Alternatively, the default setting set in the channel parameters can be modified at any time in the NC program by means of a corresponding NC command [PROG - command #ORI].

More:

button Type of orientation representation (P-CHAN-00177)

button Index of the fixed rotation axis (P-CHAN-00178)


Type of orientation representation (P-CHAN-00177)

With the "mode" parameter, you determine whether the values programmed in the NC program with A, B, C or I, J, K are to be interpreted as coordinate or angle values when complete kinematic transformation is active, or whether they are to be interpreted as corresponding vector components.

Variable name | Type | Permitted range | Dimension
mode | String | ANGLE, VECTOR_ABC, VECTOR_IJK | ----

ANGLE | A, B, C or I, J, K represent coordinate or angle values (default).
VECTOR_ABC | A, B, C represent vector components.
VECTOR_IJK | I, J, K represent vector components.

Note that the I, J, K coordinate values are used for circle programming in compliance with DIN 66025 and so circle programming in combination with vector component programming via I, J, K is not admissible!


Index of the fixed rotation axis (P-CHAN-00178)

The tool's direction vector is defined via the three vector components (e.g. "VECTOR_ABC"). These vector components result in two Euler rotation angles.

If the orientation can be defined by way of more than two angles (e.g. robots), the free third Euler angle must be specified via the "fixed_axis_index" parameter when using vector representation.

This index results from considering the sequence of the axes by means of which the position and manual orientation of the machine (e.g. a robot) are defined.

Variable name | Type | Permitted range | Dimension
fixed_axis_index | UNS32 | 0. MAX(UNS32) | ----

Example: Kinematic structure with 3 main axes X, Y, Z and 3 rotary axes A, B, C (e.g. robot):

The convention for rotation is: A around Z -> B around Y -> C around X

Axis name | Index | Axis type
X Y Z A B C | 0 1 2 3 4 5 | 1. main axis 2. main axis 3. main axis 1. rotary axis 2. rotary axis 3. rotary axis

According to the rotation convention above, the last axis (C) rotates about the X axis. If this axis is simultaneously a tool axis, a rotation about this axis only produces a change in the position of the manual coordinate system.

For example, if the rotation axis (C) is to be the fixed axis, then the value 5 must be assigned to "fixed_axis_index".


Path dependend dynamic weighting

For reducing the machine excitation in some special technologies (e.g. punching) it is required, to weight during rapid feed motion the dynamic limit values (velocity, acceleration, jerk) depending on the contour path (path distance).

A programmed weighting with G129 overwrites the values of the path dependend dynamic weighting!

More:

button Activation of dynamic weighting (P-CHAN-00190)

button Table of dynamic weightings (dynamic_weighting[i].*)

button Path distance limit (P-CHAN-00191)

button Weighting factor for rapid feed velocity (P-CHAN-00192)

button Weighting factor for rapid feed acceleration (P-CHAN-00193)

button Weighting factor for rapid feed ramp time (P-CHAN-00194)

button Example of a table


Activation of dynamic weighting (P-CHAN-00190)

This parameter enables generally the path dependend dynamic weighting.

Variable name | Type | Permitted range | Dimension
dynamic_weighting_active | BOOLEAN | 0/1 | ----

0 | Table of dynamic weightings not active. Path dependend weighting factors not effective.
1 | Table of dynamic weightings active. . Path dependend weighting factors are effective.


Table of dynamic weightings (dynamic_weighting[i].*)

In the channel parameters there is a table, which contains definitions of weighting factors for the dynamic characteristics (v, a, tr) dependent on the contour path distance. The weighting factors of a table index entry are used, if the contour path is smaller than the corresponding path limit value in the table. If the contour path is equal to the path limit value, the dynamic factors of the next index entry are used.

Variable name | Type | Index | Dimension
dynamic_weighting[i] | DYN_WEIGHT_DATA | i = 0 .. [MAX_NBR_DYN_WEIGHT - 1] | ----

Value MAX_NBR_DYN_WEIGHT | Significance
10 (application-dependent) | Maximum number of table entries

For the definition of the table entries the following further conditions have to take into consideration:

For increasing indices also the path distance limit values are increasing.

Axes, which form the contour path for the dynamic weighting, have to be marked by a flag (P-AXIS-00015). Only for these axes the weighting is executed.

The weighting factor is limited on a minimum value of 1 %. In addition as lower limit for the ramp time the minimum ramp time tr_min (P-AXIS-00201) has to take into consideration.

To the upper limit the weighting is possible to the maximum value of vb_max (P-AXIS-00212) and a_max (P-AXIS-00008). There is no upper limit for the weighting of the ramp time tr_grenz (P-AXIS-00200).


Path distance limit (P-CHAN-00191)

By this element the upper path distance limit is defined. Up to this limit the weighting factors of the other current entries under the same index i are effective.

The maximum index i in the table has a special importance:

Here the upper limit of the path distance corresponds to the machine specific maximum contour path distance. Therefore this area is valid for all motion blocks, which are not covered by the path distance limits of the lower areas of the table.

Variable name | Type | Permitted range | Dimension
path_limit | UNS32 | 0 < path_limit < MAX(UNS32) | 0.1µm oder 0,0001º


Weighting factor for rapid feed velocity (P-CHAN-00192)

By this element under index i the weighting factor for rapid feed velocity is defined.

Variable name | Type | Permitted range | Dimension
velocity_fact | UNS32 | 10 < velocity_fact < MAX(UNS32) | 0.1%


Weighting factor for rapid feed acceleration (P-CHAN-00193)

By this element under index i the weighting factor for rapid feed acceleration is defined.

Variable name | Type | Permitted range | Dimension
acceleration_fact | UNS32 | 10 < acceleration_fact < MAX(UNS32) | 0.1%


Weighting factor for rapid feed ramp time (P-CHAN-00194)

By this element under index i the weighting factor for rapid feed ramp time is defined.

Variable name | Type | Permitted range | Dimension
ramp_time_fact | UNS32 | 10 < ramp_time_fact < MAX(UNS32) | 0.1%


Example of a table

Basis is the following table of dynamic weighting values with 6 rows:

Index | Path limit value path_limit [0.1 µm] (range limits) | Weighting factors velocity_fact [0.1%] | Weighting factors acceleration_fact [0.1%] | Weighting factors ramp_time_fact [0.1%]
0 | 10000 (0-10000) | 100 | 1000 | 1000
1 | 20000 (10000-20000) | 200 | 900 | 1500
2 | 40000 (20000-40000) | 300 | 800 | 2000
3 | 80000 (40000-80000) | 400 | 700 | 3000
4 | 160000 (80000-160000) | 500 | 600 | 4000
5 | 200000000 (160000-200000000) | 1000 | 500 | 5000

Mapping of the weighting table on the structure of the channel parameters:

# Path dependend dynamic weighting

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

dynamic_weighting_active 1 0: not active 1: active

#

dynamic_weighting[0].path_limit 10000 [0.1µm]

dynamic_weighting[0].velocity_fact 100 [0.1%]

dynamic_weighting[0].acceleration_fact 1000 [0.1%]

dynamic_weighting[0].ramp_time_fact 1000 [0.1%]

dynamic_weighting[1].path_limit 20000 [0.1µm]

dynamic_weighting[1].velocity_fact 200 [0.1%]

dynamic_weighting[1].acceleration_fact 900 [0.1%]

dynamic_weighting[1].ramp_time_fact 1500 [0.1%]

dynamic_weighting[2].path_limit 40000 [0.1µm]

dynamic_weighting[2].velocity_fact 300 [0.1%]

dynamic_weighting[2].acceleration_fact 800 [0.1%]

dynamic_weighting[2].ramp_time_fact 2000 [0.1%]

dynamic_weighting[3].path_limit 80000 [0.1µm]

dynamic_weighting[3].velocity_fact 400 [0.1%]

dynamic_weighting[3].acceleration_fact 700 [0.1%]

dynamic_weighting[3].ramp_time_fact 3000 [0.1%]

dynamic_weighting[4].path_limit 160000 [0.1µm]

dynamic_weighting[4].velocity_fact 500 [0.1%]

dynamic_weighting[4].acceleration_fact 600 [0.1%]

dynamic_weighting[4].ramp_time_fact 4000 [0.1%]

dynamic_weighting[5].path_limit 200000000 [0.1µm]

dynamic_weighting[5].velocity_fact 1000 [0.1%]

dynamic_weighting[5].acceleration_fact 500 [0.1%]

dynamic_weighting[5].ramp_time_fact 5000 [0.1%]


Cycle programming settings

More:

button Modal effect of changes in the cycle (P-CHAN-00210)

button Suppressing cycle blocks in trace data and display (P-CHAN-00211)


Modal effect of changes in the cycle (P-CHAN-00210)

The modal G functions, circle geometry data and the current feed rate active before a cycle call are restored when the cycle ends, i.e. changes in the cycle with respect to this data are not retained.

If the "cycle_changes_modal" parameter is assigned the value 1, changes in the cycle with regard to this data are retained after the cycle ends (modal). Then, with regard to effectiveness, the cycle behaves like a normal subroutine.

Variable name | Type | Permitted range | Dimension
cycle_changes_modal | BOOLEAN | 0/1 | ----

0 | Changes of modal G functions, circle data and the feed rate in the cycle are effective only up to the end of the cycle (default).
1 | Changes of modal G functions, circle data and the feed rate in the cycle are also effective after the end of the cycle (modal).


Suppressing cycle blocks in trace data and display (P-CHAN-00211)

The "suppress_cycle_logging" parameter defines whether the cycle blocks are to be hidden or visible in the display in the running NC program or in the single block mode during execution of a cycle and whether these are to be recorded in the trace data. When display is off, only the cycle call is displayed during this time.

In TwinCat systems, all cycle lines are visible in the display by default.

Variable name | Type | Permitted range | Dimension
suppress_cycle_logging | BOOLEAN | 0/1 | ----

0 | Cycle blocks are displayed and are recorded in the trace (default).
1 | No display and recording of cycle blocks.