Documentation PLC Basic Program ITNC530
Documentation PLC Basic Program ITNC530
03/2011
Contents
Page
1 PLC Basic Program................................................................................................................5
1.1 Advantages of the PLC Basic Program ..........................................................................5
1.2 Adaptation of the PLC Basic Program ............................................................................5
1.3 PLC Program Structure...................................................................................................6
1.4 Functions ........................................................................................................................7
1.5 Conventions for Symbol Names .....................................................................................8
1.6 Configuration.................................................................................................................11
1.7 PLC Input/Output Assignment ......................................................................................22
1.7.1 iTNC without HSCI .................................................................................................22
1.7.2 iTNC with HSCI ......................................................................................................35
1.8 Other Definition and Include Files .................................................................................37
1.9 Machine parameters .....................................................................................................38
1.9.1 Timers and counters ..............................................................................................38
1.9.2 General MP data for the PLC ................................................................................41
1.9.3 General Config data for the PLC ...........................................................................43
2 PLC Soft Keys ......................................................................................................................45
2.1 Structure .......................................................................................................................45
1.1 Description ....................................................................................................................48
3 Mask Files ............................................................................................................................60
4 Torque Monitoring ................................................................................................................65
5 Automatic Tool Changer ......................................................................................................67
5.1 Fundamentals ...............................................................................................................67
5.2 Tool Call ........................................................................................................................68
5.3 Tool Table .....................................................................................................................69
5.4 Pocket Table .................................................................................................................69
5.5 Tool Change .................................................................................................................70
5.5.1 Tool change with single gripper (fixed pocket) ......................................................70
5.5.2 Tool change with dual gripper ................................................................................71
5.6 Manual Tool Change.....................................................................................................73
5.7 Automatic Tool Change ................................................................................................73
5.7.1 Sequence of actions (single gripper) .....................................................................76
5.7.2 Sequence of actions (dual gripper) ........................................................................81
5.7.3 Sequence of actions (dual gripper with cam disk) .................................................88
5.8 Tool Magazine ..............................................................................................................96
5.9 Loading the Tool Magazine...........................................................................................96
5.9.1 Sequence of actions (magazine as asynchronous axis) ........................................97
5.9.2 Sequence of actions (magazine with counting pulse control) ................................99
5.10 Tool Change Service ..................................................................................................103
5.11 Signal States during Tool Change ..............................................................................104
6 Variants of Emergency Stop End Positions .......................................................................107
7 Test Functions of the Basic Circuit Diagram ......................................................................109
8 Basic Circuit Diagram.........................................................................................................113
• Know how
- TNC functions
- OEM experience
• Reliability
- Tested by many PLC programmers and OEMs
• Efficient
- Saves time
- Extensive library
• Support
- Easy problem analysis
- Executable on test stations (MSU) and iTNC 530 programming station
• Universal
- TNC310 .. iTNC530
- Analog / digital
- Various machine types
• Update
- File base (www.heidenhain.de)
- Available free of charge
The PLC Basic Program can easily be adapted to the requirements of a machine tool.
Basically three steps are required for this purpose.
• Configuration of OEM.cfg
- Operation with clamped axes
- C-axis mode
- Tool changer / tool magazine type
- Pallet changer type
- Number of input/output units
- Temperature compensation
- Type with EMERGENCY STOP end positions
<OEM.cfg>
<Main_PGM.src>
DEFINE CFG_Emergency_end_coded = "inactive"
DEFINE CFG_Number_PL =0
#define /g Glb_IO.def DEFINE CFG_brake_active = %000000001111100
DEFINE CFG_Tool_changing_system = "TC_type_10"
USES Library.src
EXTERN Init_after_Reset
EXTERN Library
<Glb_IO.def>
USES Axes.src
#Type
EXTERN NC_Axes
O_unclamping_X M
USES Spindle.src
O_unclamping_Y M
EXTERN Spindle
O_unclamping_Z O13
O_unclamping_4 O14
L NP_M4172_1st_PLC_run
I_reference_end_posit_X I0
CMT Init_after_Reset
I_reference_end_posit_Y I1
I_reference_end_posit_Z I2
I_control_operational I3
CM Library
I_reference_end_posit_4 M
CM NC_Axes
CM Spindle
EM
<Axes.src>
GLOBAL NC_Axes
<Spindle.src>
GLOBAL Spindle
<Library.src>
GLOBAL Init_after_Reset
GLOBAL Library
;----------------------------
LBL Init_after_Reset
...
File types EM
;----------------------------
LBL Library
• PLC Main (.src) ...
• PLC Module (.src)
• Definition (.def) CMT Absolute
...
• Configuration (.cfg) EM
;----------------------------
LBL Absolute
...
EM
General information
The symbol of a symbolic operand is supposed to clearly define the type and status of an
operand. The name of an operand should explain its function without requiring any further
comments.
XY_Function_description
Separators
Example: DG_Pos_Window_S
Special cases
XY_Operand_function_description
Separators
Separators
Example: NP_M4000_S_in_Position
X_Function_description
Separators
Example: I_Release_Tool
IX_Function_description
Separators
Example: IP_Release_Tool
4. Timer:
These operands are always global.
TY_Function_description
Separators
Example: TS_5_Clamp_Unclamp
CY_Function_description
Separators
Example: CS_RS_Err_ReStart
The first configuration step is selecting the control model and the NC software version in the
Project menu item of the PLCdesignNT software.
The actual configuration takes place in OEM.cfg, where the following settings can be made:
• Tool-specific torque monitoring
A maximum torque can be allocated to each tool via TOOL.T.
• EMERGENCY STOP limit switch
Type of the EMERGENCY STOP limit switches used (coded, non-coded)
• Spindle with star/delta switchover
For TNC controls with separate spindle DSP star/delta switchover can be activated.
• Additional error markers
Markers can be provided for up to 800 additional PLC error messages.
The standard quantity of error markers from the NC is 200 for iTNC530.
• Monitoring of working space
If certain areas within the software limits defined in MP91x and MP92x need to be blocked.
• Lubrication of axes
Lubrication can be deselected, if there is no need to lubricate the axes.
• Cycle 332 Tuning
With the cycle 332, machine parameter subfiles can be edited according to the desired
milling plan (roughing, finishing…) while an NC program is running.
• Machine operating panel TE535Q MB520
The TE535Q MB520 may be used as an alternative to MB420.
• Additional timers MP4111
If the standard timers (48) are not sufficient, additional timers may be generated via an entry
in OEM.SYS (MP4111). The PLC configuration CFG_MP4111_additional = “active“ provides
convenient access to these timers via the markers TS_xxx and TR_xxx.
• Rapid traverse instead of spindle override
With the configuration CFG_Override_rapid_traverse_instead_spindle the spindle override
is used as rapid traverse override. By this means NC programs can be influenced by two
different feed-rate overrides, depending on whether NC blocks are machined at machining
feed rate or at rapid traverse. If the Fmax override is active, a bar diagram can be displayed.
In this case, the spindle override is adapted via keys or soft keys.
• AxesNT with CC/UM brake control
With digital axes only the signals WG_drives_ready (CM 9162) and WL_standstill_CCU
(CM 9159 ) are now evaluated for controlling the brakes The hardware of the brakes should
be powered as long as the switch-off delayed relays of the pulse release (X71) are live.
Therefore, the PLC outputs for the brakes must be of the "cannot be switched off by an
Emergency Stop" type (e.g. O24..O30). When HEIDENHAIN inverters are used, one could
do without the outputs O_unclamping_xxx and connect the brakes directly to X392.
• IPC_61x0
Introducing the IPC 6110/IPC 6120 created the possibility of installing a second control
section at the machine tool. Data exchange takes place via Ethernet interface, similar to
a Teleservice connection.
• Python
After activating this configuration Python OEM processes (SIK option #46) are supported.
An additional soft-key row is displayed to start examples of Python scripts.
If the iTNC 530 operates with source code, variables from MP4000 can be provided in
OEM.CFG for conditional compilation. Moreover, the non-volatile memory of the TNC and
the output paths for compilation can be modified on the computer with PLCdesignNT.
Screen resolution
Machine type:
- Typ OEM specific (e.g. RS100) [Type]
- MSU (Motor Simulation Unit) [MSU_530]
- Programming station OEM [PS_OEM]
- Programming station public [PS]
Machine variant:
- not jet specified [inaktiv]
- MSU with CC422 (single-channel I32) [MSU_CC422]
- MSU with CC424 (two-channel X150) [MSU_CC424]
- MSU with HSCI (two-channel PL6xxx) [MSU_HSCI]
HSCI (CFG_HSCI)
- iTNC530 without HSCI [inactive]
- iTNC530 with HSCI [active]
Temperature Compensation
- inactive [inactive]
- Factor from PLC:\MP\MP_Data.tab [MP_factor]
- with Table PLC:\CORRECT\TMP_COMP.TAB [Table]
3D Head
- 3D Head [inactive, active]
- Selection reference value from PLC (non volatile 3D head position)
or transfer reference in mode reference (reference dog available)
[&inactive/&active]
- Index of the 1./2. 3D head axis [-1:inactive,3:axis_4 .. 8:axis_9]
- Torque limitation spindle motor before 3D head clamping
[value in MP_data.tab]
Note:
After introduction of
MP4031 : x ;Monitoring the really connected PLs
the activation of PLs will be made by machine parameter.
Axes configuration
- Axes with clamping mode (brake) and clamping signal
- Axes with central drive or C axes mode
- Move axes after traverse reference to a position defined in
file MP_Data.tab
[%876543210987654321]
* 876543210987654321
DEFINE CFG_axis_brake_active = %000000010011111100
DEFINE CFG_power_on_clamping_mode_off = %000000000000000100
DEFINE CFG_axes_with_signal_clamped = %000000000000000000
DEFINE CFG_axes_with_signal_unclamped = %000000000000000000
TC manual
- If in MP_Config.tab the option -MG_TC_position_manual_inactive-
has not been deactivated, the tool change of maual tools
(tools not in pocket table) will be made after axes PLC
positioning.
- 1. Z to Z safe - DG_TC_pos_X_manual
- 2. X to X manual - DG_TC_pos_Y_manual
- 3. Y to Y manual - DG_TC_pos_Z_manual
- 4. Z to Z manual - DG_TC_pos_Z_safety
MP7480.0 MP7480.1
inactive (1) 1 0
single arm 5 0
double arm 3 3
Legend:
(1) - an existing automatic tool change system can be temporary
switched off
TC_type_xx -> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
single arm X X X X
pickup Z Y X
pickup Z X
pickup Z X X
pickup Z X+/X-/Y+/Y- X
mag moving with X axis X
mag moving to spindle X
mag on fixed position X
no magazine X
(1)
TC_type_xx -> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
double arm X X X X X X X X
(hydraulic system)
TC arm middle position X X X X
(as basic position)
TC arm middle position X X X X
(for exchange Tspecial)
TC gripper X X X X
(output)
TC_type_xx -> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
double arm X X X X
(cam driven)
TC arm middle position X X
(Tfixed or Tspecial)
TC gripper X X
(output)
OEM spezific
TC_type_OEM
Legend:
(1) - will be prepared
Mag_type_xx -> 01 02 03 04 05 06 07 08 09 10
Pulse X X X X X X X X
Reference sensor X X X X
Pocket 90 deg shift X X X X
Index X X X X
PLC axis X X
Pocket 90 deg shift X
Note:
for Mag_type_09..10 (PLC axis) it is necessary to assign to an index
of the magazine axis (CFG_TC_magazine_axis_x_index)
- inactive [-1]
.. ..
- axis 4 [3]
- axis 5 [4]
.. ..
- axis 18 [17]
In the file GLB_IO.DEF the inputs and outputs of the machine must be assigned to the
appropriate symbolic addresses.
Non-assigned inputs and outputs are not deleted, but are assigned a marker (M). Inputs
at which 24 V are present in default state and which are not used, receive the logic state 1
(MG_marker_one).
Inputs and outputs that are not available yet must be added to this file and assigned to
symbolic addresses as well.
Inputs and outputs additionally added must of course be programmed accordingly in the
PLC program. To retain easy updatability the module OEM_func.src or new PLC modules
are used.
File: Glb_IO.def
#type
O_lamp_NC_start O0
O_lamp_NC_stop O1
O_lamp_power_on O2
O_lamp_spindle_M5 M
O_lamp_spindle_M3 M
O_lamp_spindle_M4 M
O_lamp_coolant_M08 M
O_lamp_coolant_M07 M
O_lamp_tool_unclamped M
O_lamp_TC_enable M
O_lamp_chip_conveyor M
O_lamp_lubrication_on M
O_lamp_table_1 M
O_lamp_table_2 M
O_lamp_TC_pocket_loading M
O_lamp_axes_motion_from_end_position M
O_lamp_TNC_alarm M
O_lamp_program_end M
O_lamp_special_mode M
O_lamp_PC_release M
O_program_run M
O_servo_drive_release_X O8
O_servo_drive_release_Y O9
O_servo_drive_release_Z O10
O_servo_drive_release_4 O11
O_servo_drive_release_5 M
O_servo_drive_release_6 M
O_servo_drive_release_7 M
O_servo_drive_release_8 M
O_servo_drive_release_9 M
O_servo_drive_release_10 M
O_servo_drive_release_11 M
O_servo_drive_release_12 M
O_servo_drive_release_13 M
O_servo_drive_release_14 M
O_servo_drive_release_15 M
O_servo_drive_release_16 M
O_servo_drive_release_S1 O12
O_servo_drive_release_S2 M
O_unclamping_X M
O_unclamping_Y M
O_unclamping_Z O13
O_unclamping_4 O14
O_unclamping_5 M
O_unclamping_6 M
O_unclamping_7 M
O_unclamping_8 M
O_unclamping_9 M
O_unclamping_10 M
O_unclamping_11 M
O_unclamping_12 M
O_unclamping_13 M
O_unclamping_14 M
O_unclamping_15 M
O_unclamping_16 M
O_chip_conveyor O15
O_chip_conveyor_back O16
O_spindle_blow_clean M
O_S1_tool_unclamping O17
O_S1_tool_clamping M
O_S2_tool_unclamping M
O_S2_tool_clamping M
O_TC_magazine_cw O18
O_TC_magazine_ccw O19
O_TC_magazine_rapid_traverse M
O_TC_magazine_slow_motion M
O_TC_magazine_lock_pin_out M
O_TC_magazine_lock_pin_in M
O_TC_magazine_to_spindle_position O20
O_TC_magazine_to_basic_position O21
O_TC_pocket_put_out M
O_TC_pocket_put_in M
O_TC_magazine_load_position_unlock M
O_TC_arm_put_out M
O_TC_arm_put_in M
O_TC_pickup_put_out M
O_TC_pickup_put_in M
O_pallet_in_machine_unclamping M
O_pallet_in_machine_clamping M
O_PC_door_open M
O_PC_door_close M
O_PC_1_to_load_position M
O_PC_1_to_machine_position M
O_PC_2_to_load_position M
O_PC_2_to_machine_position M
O_PC_1_rapid_traverse M
O_PC_2_rapid_traverse M
O_PC_release_stop_position M
O_PC_release_machine_position M
O_workpiece_unclamping M
O_PC_load_door_open M
O_PC_bit_0 M
O_PC_bit_1 M
O_PC_bit_2 M
O_PC_bit_3 M
O_PC_bit_4 M
O_PC_bit_5 M
O_PC_bit_6 M
O_PC_bit_7 M
O_PC_table_empty M
O_PC_start M
O_coolant_M07_on O22
O_coolant_M08_on O23
O_coolant_M17_on M
O_S1_wye_delta_switchover O24
O_S1_gear_range_1 O25
O_S1_gear_range_2 O26
O_S2_wye_delta_switchover M
O_S2_gear_range_1 M
O_S2_gear_range_2 M
O_S1_spindle_fan M
O_S2_spindle_fan M
O_axes_motion_from_end_position O27
O_power_relais_voltage O28
O_TC_magazine_guard_unlock O29
O_guard_1_unlock O30
O_guard_2_unlock M
O_start_index_table M
O_release_special_mode M
O_lubrication_on M
O_hydraulic_on M
O_working_light M
* Variant 45
O_HR410_lamp_spindle_M3 O109
O_HR410_lamp_NC_start O110
O_HR410_lamp_NC_stop O111
* Variant 44
* O_HR410_lamp_spindle_M3 M
O_HR410_lamp_spindle_M5 M
O_HR410_lamp_spindle_M4 M
I_emergency_button_unlocked I0
I_control_operational I3
I_not_ref_end_posit_X I4
I_not_ref_end_posit_Y I5
I_not_ref_end_posit_Z I6
I_not_ref_end_posit_4 I7
I_not_ref_end_posit_5 M
I_not_ref_end_posit_6 M
I_not_ref_end_posit_7 M
I_not_ref_end_posit_8 M
I_not_ref_end_posit_9 M
I_not_ref_end_posit_10 M
I_not_ref_end_posit_11 M
I_not_ref_end_posit_12 M
I_not_ref_end_posit_13 M
I_not_ref_end_posit_14 M
I_not_ref_end_posit_15 M
I_not_ref_end_posit_16 M
I_X_not_overtravelled M
I_X_Y_not_overtravelled M
I_X_Y_Z_not_overtravelled M
/c I_X_Y_Z_4_not_overtravelled M &MG_marker_one
/c I_X_Y_Z_4_5_not_overtravelled M &MG_marker_one
I_end_posit_axis_X I8
I_end_posit_axis_Y I9
I_end_posit_axis_Z I10
I_end_posit_axis_4 M
I_end_posit_axis_5 M
I_unclamped_axis_X M
I_unclamped_axis_Y M
I_unclamped_axis_Z M
I_unclamped_axis_4 M
I_unclamped_axis_5 M
I_unclamped_axis_6 M
I_unclamped_axis_7 M
I_unclamped_axis_8 M
I_unclamped_axis_9 M
I_unclamped_axis_10 M
I_unclamped_axis_11 M
I_unclamped_axis_12 M
I_unclamped_axis_13 M
I_unclamped_axis_14 M
I_unclamped_axis_15 M
I_unclamped_axis_16 M
I_guard_1_closed I11
I_guard_1_closed_locked I12
/c I_guard_2_closed I11
/c I_guard_2_closed_locked I12
/c I_circuit_breaker_ok M &MG_marker_one
/c I_pneumatic_pressure_ok M &MG_marker_one
/c I_hydraulic_pressure_ok M &MG_marker_one
I_S1_gear_range_1 I13
I_S1_gear_range_2 I14
I_S2_gear_range_1 M
I_S2_gear_range_2 M
I_emergency_stop_circuit_ready I15
I_S1_tool_unclamped I16
I_S1_tool_clamped I17
I_S2_tool_unclamped M
I_S2_tool_clamped M
I_TC_arm_put_out M
I_TC_arm_put_in M
I_TC_arm_cw M
I_TC_arm_ccw M
I_TC_arm_middle_pos M
I_TC_arm_basic_pos M
I_TC_arm_spindle_pos M
I_TC_arm_brake_pos M
I_TC_pocket_out M
I_TC_pocket_in M
I_TC_arm_gripper_opened M
I_S1_tool_located_in_spindle M
I_S2_tool_located_in_spindle M
I_tool_pocket_not_empty M
I_PC_door_opened M
I_PC_door_closed M
I_PC_position_1_occupy M
I_PC_position_2_occupy M
I_PC_1_in_stop_position M
I_PC_2_in_stop_position M
I_PC_1_in_load_position M
I_PC_2_in_load_position M
I_PC_1_in_machine_position M
I_PC_2_in_machine_position M
I_PC_load_door_closed M
I_pallet_in_machine_unclamped M
I_pallet_in_machine_clamped M
I_key_workpiece_clamping_on_off M
I_key_PC_cabin_open M
I_workpiece_unclamped M
I_PC_cabin_opened M
I_PC_cabin_closed M
I_PC_cabin_closed_locked M
I_PC_ready M
I_PC_alarm M
I_PC_3R_selected_in_auto_mode M
I_lubricant_level_ok M
I_lubricant_pressure_ok M
I_index_table_in_position M
I_additional_axes_mounted M
/c I_coolant_level_ok M &MG_marker_one
/c I_SM_1xx_temperature_ok M &MG_marker_one
/c I_PW_210_temperature_ok M &MG_marker_one
/c I_DA300_pressure_ok M &MG_marker_one
I_servo_drive_release I32
I_servo_drive_release M
/c I_Siemens_supply_recover_unit_operational M &MG_marker_one
only for Indramat Power Drive supply unit HVE (X7 3-4)
/c I_Indramat_power_supply_ok M &MG_marker_one
/c I_temp_drives_power_stage_ok M &MG_marker_one
/c I_drives_operational M &MG_marker_one
/c I_S1_spindle_operational M &MG_marker_one
/c I_S2_spindle_operational M &MG_marker_one
/c I_S1_spindle_temperature_ok M &MG_marker_one
/c I_S2_spindle_temperature_ok M &MG_marker_one
I_S1_spindle_I_max M
I_S2_spindle_I_max M
I_S1_actual_equal_nominal_rpm M
I_S1_actual_lower_nominal_rpm M
I_S2_actual_equal_nominal_rpm M
I_S2_actual_lower_nominal_rpm M
I_S2_spindle_active M
I_key_function_1 I24
I_key_function_2 I25
I_key_function_3 I26
I_key_permissive_mode I27
I_key_S_jog_right_cw I28
I_key_S_jog_left_ccw I29
I_key_axis_6_plus I30
I_key_axis_6_minus I31
/c I_key_axis_X_minus I128
I_key_axis_Y_minus I129
I_key_axis_Z_minus I130
I_key_axis_4_minus I131
I_key_axis_5_minus I132
I_key_axis_X_plus I133
I_key_axis_Y_plus I134
I_key_axis_Z_plus I135
I_key_axis_4_plus I136
I_key_axis_5_plus I137
I_key_axis_7_plus M
I_key_axis_7_minus M
I_key_axis_8_plus M
I_key_axis_8_minus M
I_key_axis_9_plus M
I_key_axis_9_minus M
I_key_axis_10_plus M
I_key_axis_10_minus M
I_key_axis_11_plus M
I_key_axis_11_minus M
I_key_axis_12_plus M
I_key_axis_12_minus M
I_key_axis_13_plus M
I_key_axis_13_minus M
I_key_axis_14_plus M
I_key_axis_14_minus M
I_key_axis_15_plus M
I_key_axis_15_minus M
I_key_axis_16_plus M
I_key_axis_16_minus M
I_key_release_toolchange I138
I_key_tool_unclamping I139
I_key_tool_unclamping_foot_switch M
I_key_chip_conveyor_back I140
I_key_guard_unlock I141
I_key_chip_conveyor I142
I_key_spindle_M3 I143
I_key_spindle_M4 M
I_key_spindle_M5 I144
I_key_coolant_M08 I145
I_key_NC_start I146
I_key_NC_stop I147
I_key_NC_stop_2_axes_spindle M
I_key_rapid_traverse I148
I_key_axes_motion_from_end_position I149
I_key_coolant_M07 I150
I_key_TC_magazine_guard_unlock M
I_key_axes_plus M
I_key_axes_minus M
I_key_lubrication_axes M
I_key_enable_table_1 M
I_key_enable_table_2 M
I_key_enable_new_workpiece_on_pallet M
I_key_working_light M
I_key_TC_magazine_cw M
I_key_TC_magazine_ccw M
I_key_TC_mag_load_unclamp_foot_switch M
I_keylock_switch_special_mode M
I_key_override_F_100 M
I_key_override_S_100 M
I_key_override_S_plus M
I_key_override_S_minus M
/c I_key_axis_X_minus I128
I_key_axis_Y_minus I129
I_key_axis_Z_minus I130
I_key_axis_4_minus I131
I_key_axis_5_minus I132
I_key_axis_X_plus I133
I_key_axis_Y_plus I134
I_key_axis_Z_plus I135
I_key_axis_4_plus I136
I_key_axis_5_plus I137
I_key_axis_6_plus M
I_key_axis_6_minus M
I_key_axis_7_plus M
I_key_axis_7_minus M
I_key_axis_8_plus M
I_key_axis_8_minus M
I_key_axis_9_plus M
I_key_axis_9_minus M
I_key_axis_10_plus M
I_key_axis_10_minus M
I_key_axis_11_plus M
I_key_axis_11_minus M
I_key_axis_12_plus M
I_key_axis_12_minus M
I_key_axis_13_plus M
I_key_axis_13_minus M
I_key_axis_14_plus M
I_key_axis_14_minus M
I_key_axis_15_plus M
I_key_axis_15_minus M
I_key_axis_16_plus M
I_key_axis_16_minus M
I_key_release_toolchange I138
I_key_tool_unclamping I139
I_key_tool_unclamping_foot_switch M
I_key_TC_magazine_guard_unlock I140
I_key_guard_unlock I141
I_key_chip_conveyor I142
I_key_spindle_M3 I143
I_key_spindle_M4 M
I_key_spindle_M5 I144
I_key_coolant_M08 I145
I_key_NC_start I146
I_key_NC_stop I147
I_key_NC_stop_2_axes_spindle M
I_key_rapid_traverse I148
I_key_axes_motion_from_end_position I149
I_key_coolant_M07 I150
I_key_power_on I151
I_key_coolant_M17 M
#endif
I_HR330_key_plus I160
I_HR330_key_minus I161
I_HR330_key_rapid_traverse I162
/c I_HR4x0_key_permissive_mode M &MG_marker_one
I_HR4x0_key_permissive_mode I23
Variant 45
I_HR410_key_spindle_M3 I173
I_HR410_key_NC_start I174
I_HR410_key_NC_stop I175
I_HR410_key_spindle_jog M
Variant 44
* I_HR410_key_spindle_M3 M *I173
I_HR410_key_spindle_M5 M *I174
I_HR410_key_spindle_M4 M *I175
Variant xx
I_HR410_key_enable_VT M *I173
* I_HR410_key_NC_start M *I174
* I_HR410_key_NC_stop M *I175
/c I_HRA110_S1_Bit0 I160
/c I_HRA110_S1_Bit1 I161
/c I_HRA110_S1_Bit2 I162
/c I_HRA110_S1_Bit3 I163
/c I_HRA110_S1_Bit4 I164
/c I_HRA110_S1_Bit5 I165
/c I_HRA110_S1_Bit6 I166
/c I_HRA110_S1_Bit7 I167
/c I_HRA110_S2_Bit0 I168
/c I_HRA110_S2_Bit1 I169
/c I_HRA110_S2_Bit2 I170
/c I_HRA110_S2_Bit3 I171
/c I_HRA110_S2_Bit4 I172
/c I_HRA110_S2_Bit5 I173
/c I_HRA110_S2_Bit6 I174
/c I_HRA110_S2_Bit7 I175
The HSCI serial interface (HEIDENHAIN Serial Controller Interface) is a bus system to connect
HEIDENHAIN control components. When an HSCI/PROFIBUS system is configured, the
components are specified in a project and their arrangement is described. On the basis of this
data, IOconfig generates the IOC file (*.IOC) that contains all relevant configuration data.
MC 6xxx HEIDENHAIN controls have an HSCI master integrated as standard. The PL 6xxx
input/output system is connected as a slave to the HSCI bus.
IOconfig generates and exports symbol definition files (*.DEF). These DEF files describe the
PLC inputs/outputs that are integrated in the PLC program of the control
(GLB_IO_CONFIG.DEF).
Unused inputs and outputs must be entered in GLB_IO_CONFIG.LIB.
*######################################################################
* HEIDENHAIN IOconfig Thu Mar 03 17:08:09 2011 (1299168489)
*######################################################################
#TYPE
CONF_TIME_STAMP K 1299168489
* HSCI:
#TYPE
…
[GLB_IO_CONFIG.LIB]
Legend:
TC = tool change
TC_mag = tool magazine
PC = pallet change
#type
;HSCI O_lamp_NC_start O0
;HSCI O_lamp_NC_stop O1
;HSCI O_lamp_power_on O2
O_lamp_spindle_M5 M
O_lamp_spindle_M3 M
O_lamp_spindle_M4 M
File: GLB_TCMB.DEF
In the file GLB_TCMB.DEF, all markers, bytes, words, double words, timers, counters and
constants that are used globally in the PLC program are defined with symbolic operands.
This file also contains the definitions of the additionally required symbolic addresses entered
by the PLC programmer.
File: GLB_NC.DEF
The file GLB_NC.DEF contains all variables with symbolic addresses that concern data
exchange between NC and PLC.
File: ASCIICOD.DEF
The ASCII codes of the connected keyboard are listed in this file and can be addressed using
the respective symbol name.
File: MAC_LIB.INC
In the file MAC_LIB.INC the macros for error handling when calling PLC modules are defined.
These macros are used in the entire PLC program.
All other DEF files are only required to assign the already existing settings and it is not neces-
sary to make any alterations.
File: SYSTEM.DEF
The SYSTEM.DEF file must be called before all other definition files. In this file the definitions
for conditional compilation (control model, symbols, machine variants, maximum number of
axes) are entered.
File: INTERN.DEF
With the file INTERN.DEF the definitions for conditional compilation are created. This is required
to decode CONFIG.DEF settings for tool-change or tool-magazine systems.
File: *.MP
MP 4111.96 : 0 ;Unclamping 1
MP 4111.97 : 0 ;Unclamping 2
MP 4111.98 : 0.5 ;Unclamping 3
MP 4111.99 : 0.5 ;Unclamping 4
MP 4111.100: 0.5 ;Unclamping 5
MP 4111.101: 0.5 ;Unclamping 6
MP 4111.102: 0.5 ;Unclamping 7
MP 4111.103: 0.5 ;Unclamping 8
MP 4111.104: 0.5 ;Unclamping 9
MP 4111.105: 0.5 ;Unclamping 10
MP 4111.106: 0.5 ;Unclamping 11
MP 4111.107: 0.5 ;Unclamping 12
MP 4111.108: 0.5 ;Unclamping 13
MP 4111.109: 0.5 ;Unclamping 14
MP 4111.110: 0.5 ;Unclamping 15
MP 4111.111: 0.5 ;Unclamping 16
MP 4111.112: 0.5 ;Unclamping 17
MP 4111.113: 0.5 ;Unclamping 18
MP 4111.114: 0 ;Clamping 1
MP 4111.115: 0 ;Clamping 2
MP 4111.116: 0.5 ;Clamping 3
MP 4111.117: 0.5 ;Clamping 4
MP 4111.118: 0.5 ;Clamping 5
MP 4111.119: 0.5 ;Clamping 6
MP 4111.120: 0.5 ;Clamping 7
MP 4111.121: 0.5 ;Clamping 8
MP 4111.122: 0.5 ;Clamping 9
MP 4111.123: 0.5 ;Clamping 10
MP 4111.124: 0.5 ;Clamping 11
MP 4111.125: 0.5 ;Clamping 12
MP 4111.126: 0.5 ;Clamping 13
MP 4111.127: 0.5 ;Clamping 14
MP 4111.128: 0.5 ;Clamping 15
MP 4111.129: 0.5 ;Clamping 16
MP 4111.130: 0.5 ;Clamping 17
MP 4111.131: 0.5 ;Clamping 18
MP 4111.132: 3 ;Timeout axis 1
MP 4111.133: 3 ;Timeout axis 2
MP 4111.134: 3 ;Timeout axis 3
MP 4111.135: 3 ;Timeout axis 4
MP 4111.136: 3 ;Timeout axis 5
MP 4111.137: 3 ;Timeout axis 6
MP 4111.138: 3 ;Timeout axis 7
MP 4111.139: 3 ;Timeout axis 8
MP 4111.140: 3 ;Timeout axis 9
MP 4111.141: 3 ;Timeout axis 10
MP 4111.142: 3 ;Timeout axis 11
MP 4111.143: 3 ;Timeout axis 12
MP 4111.144: 3 ;Timeout axis 13
MP 4111.145: 3 ;Timeout axis 14
MP 4111.146: 3 ;Timeout axis 15
MP 4111.147: 3 ;Timeout axis 16
MP 4111.148: 3 ;Timeout axis 17
MP 4111.149: 3 ;Timeout axis 18
PLC data (e.g. positions, feed rates, temperatures, …) are filed in the table
PLC:\MP\MP_Data.tab (as of Basic_53). These tables – which you can expand to your require-
ments – are read together with the machine parameters.
They are accessed by soft keys that are part of the vertical soft-key row in the operating mode
Machine Parameter Programming.
PLC configurations (e.g. reference autostart, coolant without M3/M4 – on/off…) are stored in
the table PLC:\MP\MP_Config.tab PLC:\MP\MP_Data.tab (as of Basic_53).
These tables – which you can expand to your requirements – are read together with the
machine parameters.
They are accessed by soft keys that are part of the vertical soft-key row in the operating mode
Machine Parameter Programming.
Diagnosis function
Python function
Machine functions:
Machine functions
Spindle functions
Tool functions
NC-Start
NC-Stop
Lubrication on
Clamp/unclamp tool
Magazine loading
Diagnosis functions:
To be prepared
Change mode of the upper moving-bar diagram in the small PLC window
Change mode of the lower moving bar diagram in the small PLC window
Display strobes
M_error.a:
/* ERROR QUEUE
------------
*/
CHARSIZE=AUTO;
"\n";
CHARSIZE=MEDIUM;
"ERROR TABLE";
CHARSIZE=AUTO;
LINEDIST=LINEDIST-1;
CURSOR=ON;
"\nNR STAT TEXT \n";
CURSOR=OFF;
ERRQUE=10/c/l/s;
" STATUS - C: CE possible\n";
" S: Error generates NC-STOP\n";
" E: Error generates EMERGENCY STOP\n";
" 0-2: Priority";
/* Diagnosis axes/spindle
----------------------
*/
CHARSIZE=AUTO;
"\n";
CHARSIZE=MEDIUM;
"DIAG AXES/SPINDLE";
CHARSIZE=AUTO;
LINEDIST=LINEDIST-1;
CURSOR=ON;
"\n";
" X Y Z 4 5 6 S \n";
CURSOR=OFF;
"Motor Temperature [Degree] \n";
" %4D %4D %4D %4D %4D %4D %4D\n",
$WG_drive_temperature_X$/c,$WG_drive_temperature_Y$/c,
$WG_drive_temperature_Z$/c,$WG_drive_temperature_4$/c,
$WG_drive_temperature_5$/c,$WG_drive_temperature_6$/c,
$WG_drive_temperature_S$/c;
"Motor Utilization [%%] \n";
" %4D %4D %4D %4D %4D %4D %4D\n",
$WG_drive_utilization_X$/c,$WG_drive_utilization_Y$/c,
$WG_drive_utilization_Z$/c,$WG_drive_utilization_4$/c,
$WG_drive_utilization_5$/c,$WG_drive_utilization_6$/c,
$WG_drive_utilization_S$/c;
"Motor rpm [1/min] \n";
"%+5.0F%+5.0F%+5.0F%+5.0F%+5.0F%+5.0F%+5.0F\n",
$DG_actual_drive_rpm_X$/n=3/c,$DG_actual_drive_rpm_Y$/n=3/c,
$DG_actual_drive_rpm_Z$/n=3/c,$DG_actual_drive_rpm_4$/n=3/c,
$DG_actual_drive_rpm_5$/n=3/c,$DG_actual_drive_rpm_6$/n=3/c,
$DG_actual_drive_rpm_S$/n=3/c;
CURSOR=ON;
" S 9 8 7 6 5 4 Z Y X \n";
CURSOR=OFF;
"I2T Warning : %D %D %D %D %D %D %D %D %D %D\n",
$MG_I2t_S_pre_warning$/c,$MG_I2t_9_pre_warning$/c,
$MG_I2t_8_pre_warning$/c,$MG_I2t_7_pre_warning$/c,
$MG_I2t_6_pre_warning$/c,$MG_I2t_5_pre_warning$/c,
$MG_I2t_4_pre_warning$/c,$MG_I2t_Z_pre_warning$/c,
$MG_I2t_Y_pre_warning$/c,$MG_I2t_X_pre_warning$/c;
"I2T Limitation: - %D %D %D %D %D %D %D %D %D\n",
$MG_I2t_9_limitation$/c,$MG_I2t_8_limitation$/c,
$MG_I2t_7_limitation$/c,$MG_I2t_6_limitation$/c,
$MG_I2t_5_limitation$/c,$MG_I2t_4_limitation$/c,
$MG_I2t_Z_limitation$/c,$MG_I2t_Y_limitation$/c,
/* Diagnosis TC
------------
*/
CHARSIZE= AUTO;
"\n";
CHARSIZE= MEDIUM;
"DIAG TOOL CHANGE";
CHARSIZE=AUTO;
LINEDIST=LINEDIST-1;
"\n";
"(-1) : %s\n",S1/c;
CURSOR=ON;
"CASE(%2d): %s\n",$BG_step_toolchange$/c,S2/c;
CURSOR=OFF;
"(+1) : %s\n\n",S3/c;
"Standby Pocket : %4D\n",
$WG_TC_magazine_actual_pocket$/c;
"TOOL Pocket W262 : %4D\n",
$NP_W262_tool_pocket_number$/c;
"TOOL Number W264 : %4D\n\n",
$NP_W264_tool_number$/c;
CURSOR=ON;
" X Y Z 4 5 6 7 8 9 \n";
CURSOR=OFF;
"PLC-Positioning : %d %d %d %d %d %d %d %d %d\n",
$PN_M4120_strobe_PLC_posit_axis_X$/c,
$PN_M4121_strobe_PLC_posit_axis_Y$/c,
$PN_M4122_strobe_PLC_posit_axis_Z$/c,
$PN_M4123_strobe_PLC_posit_axis_4$/c,
$PN_M4124_strobe_PLC_posit_axis_5$/c,
$PN_M4125_strobe_PLC_posit_axis_6$/c,
$PN_M4126_strobe_PLC_posit_axis_7$/c,
$PN_M4127_strobe_PLC_posit_axis_8$/c,
$PN_M4128_strobe_PLC_posit_axis_9$/c;
If the torque [%] entered in the PLC-VAL column of the tool table is exceeded, the feed rate
is reduced by a defined factor.
When operating with a digital spindle the actual torque [%] is determined via module 9166.
For analog spindles the utilization must be provided through an analog input (64 X48).
ActOverride[%]
OverrideF = ( MaxUtilization[%] − ActUtilization[%]) * Re ductionFactor + 100[%]) *
100[%]
Example:
MaxUtilization = 80%
ActUtilization = 84%
ActOverride = 90%
ReductionFactor = 1.5
90%
OverrideF = (80% − 84%) *1.5 + 100%) * = 84.6%
100%
Configuration
Oem.cfg
- CFG_Tool_specific_torque_monitoring = "active"
Requirements
Parameterization
PLC:\MP\MP_Data.tab:
- DG_S1/2_factor_feed_reduction
- DG_S1/2_min_torque [%]
- DG_S1/2_max_torque [%]
Tool table
- Tool-specific torque in "PLC-VAL" column
Sources
- TC_Autox.src
- T-Status.src
- Diagnos.src
- SPINDLE.SRC
- FEED.SRC
WZ_STAT.SRC DIAGNOS.SRC
no
Cur. utilization > max. utilization &
spindle speed reached
yes
FEED.SRC
1. The tool number is transferred in W264 (tool data L, R ... from tool table.)
3. Additional information
To handle the four possible variants of tool change, four different tool types must be
distinguished:
For a tool changer with single gripper (old tool is returned first), there are the following
eight change possibilities:
N O M I N A L T O O L
¦ ¦ ¦ ¦
¦ T0 ¦ Tauto ¦ Tmanu ¦
---------+-------------+-------------+-------------¦
¦ ¦ 1 ¦ 0 ¦
¦ not ¦ 0 ¦ 1 ¦
A T0 ¦ ¦ ¦ ¦
C ¦ available ¦ 0 ¦ 0 ¦
T ¦ ¦ (mP) ¦ (oP) ¦
U --------+-------------+-------------+-------------¦
A ¦ 0 ¦ 0 1 ¦ 0 0 ¦
L ¦ 0 ¦ 0 0 ¦ 0 1 ¦
Tauto ¦ ¦ ¦ ¦
T ¦ 1 ¦ 1 0 ¦ 1 0 ¦
O ¦ (mP) ¦ (mP) (mP) ¦ (mP) (oP) ¦
O ---------+-------------+-------------+-------------¦
L ¦ 0 ¦ 0 1 ¦ 0 ¦
¦ 0 ¦ 0 0 ¦ 1 ¦
Tmanu ¦ ¦ ¦ ¦
¦ 1 ¦ 1 0 ¦ 0 ¦
¦ (oP) ¦ (oP) (mP) ¦ (oP) ¦
---------------------------------------------------+
Legend:
+-------------> 1. TOOL CALL-strobe
| +--------> 2. TOOL CALL-strobe
-+---|----|----+
¦ 0 1 -------> M4522: TOOL CALL with tool pocket
¦ 0 0 -------> M4523: TOOL CALL w/o tool pocket
¦ ¦
¦ 1 0 -------> M4521: TOOL CALL T0 programmed
¦ (oP) (mP) -----> W262: oP - tool w/o tool pocket [==-1]
-+-------------+ mP - tool with tool pocket [>= 1]
For a tool changer with dual gripper (new tool is taken from magazine first), there are the
following 15 change possibilities:
N O M I N A L T O O L
¦ ¦ ¦ ¦ ¦
¦ T0 ¦ Tauto ¦ Tspecial ¦ Tmanu ¦
---------+-------------+-------------+-------------+-------------¦
¦ ¦ 1 ¦ 1 ¦ 0 ¦
¦ not ¦ 0 ¦ 0 ¦ 1 ¦
T0 ¦ ¦ ¦ ¦ ¦
¦ available ¦ 0 ¦ 0 ¦ 0 ¦
¦ ¦ (mP) ¦ (mP) ¦ (oP) ¦
A ---------+-------------+-------------+-------------+-------------¦
C ¦ 0 ¦ 1 ¦ 1 0 ¦ 0 0 ¦
T ¦ 0 ¦ 0 ¦ 0 0 ¦ 0 1 ¦
U Tauto ¦ ¦ ¦ ¦ ¦
A ¦ 1 ¦ 0 ¦ 0 1 ¦ 1 0 ¦
L ¦ (mP) ¦ (mP) ¦ (mP) (mP) ¦ (mP) (oP) ¦
---------+-------------+-------------+-------------+-------------¦
T ¦ 0 ¦ 1 0 ¦ 1 0 ¦ 0 0 ¦
O ¦ 0 ¦ 0 0 ¦ 0 0 ¦ 0 1 ¦
O Tspecial ¦ ¦ ¦ ¦ ¦
L ¦ 1 ¦ 0 1 ¦ 0 1 ¦ 1 0 ¦
¦ (mP) ¦ (mP) (mP) ¦ (mP) (mP) ¦ (mP) (oP) ¦
---------+-------------+-------------+-------------+-------------¦
¦ 0 ¦ 0 1 ¦ 0 1 ¦ 0 ¦
¦ 0 ¦ 0 0 ¦ 0 0 ¦ 1 ¦
Tmanu ¦ ¦ ¦ ¦ ¦
¦ 1 ¦ 1 0 ¦ 1 0 ¦ 0 ¦
¦ (oP) ¦ (oP) (mP) ¦ (oP) (mP) ¦ (oP) ¦
-----------------------------------------------------------------+
Legend:
+-------------> 1. TOOL CALL-strobe
| +--------> 2. TOOL CALL-strobe
-+---|----|----+
¦ 0 1 -------> M4522: TOOL CALL with tool pocket
¦ 0 0 -------> M4523: TOOL CALL w/o tool pocket
¦ ¦
¦ 1 0 -------> M4521: TOOL CALL T0 programmed
¦ (oP) (mP) -----> W262: oP - tool w/o tool pocket [==-1]
-+-------------+ mP - tool with tool pocket [>= 1]
1. a tool must be replaced by hand (operator removes tool from spindle and puts it
someplace outside the magazine)
or
2. an automatic tool change must be performed
(tool gripper removes tool from spindle and places it in tool magazine).
L NP_W262_tool_pocket_number
== KL_tool_without_pocket ;[-1]
ON MG_TC_auto_active
S MG_TC_manual
L NP_W262_tool_pocket_number
>= KL_tool_with_pocket ;[+1]
S MG_TC_automatic
Functions (toolmanu.src):
• Manual tool change with operator guidance
• Touch probe recognition
• Activation of tool data
The module is activated by pressing the "Select TC" button in the Manual operating mode
or
by a TOOL CALL for a tool without pocket in the magazine (Tmanu). Instructions are then
displayed to exchange the tool by hand.
If in the tool table the #bit 0 of the PLC status is set (%00000001), the tool called by the
TOOL CALL is identified as touch probe (see Touch Probe module.)
The new tool data will be active after the tool change was confirmed and the NC Start
button pressed.
Functions:
• Automatic tool change with single gripper (Toolaut1.src)
• Automatic tool change with dual gripper (Toolaut2.src)
• Positioning of tool magazine (Toolmag1.src / Toolmag2.src)
• Touch probe recognition
• Activation of tool data
The module is activated by a TOOL CALL for a tool with a pocket in the magazine (Tauto).
If the tool in the spindle was unclamped without TOOL CALL since the last automatic tool
change, the operator must decide whether the tool change may be performed (yes/no).
The tool change process starts with a positioning of the magazine, a spindle orientation
and axis positionings to the tool change position.
Subsequently a dual gripper replaces the tools.
While the exchanged tool is clamped, its technological data is being activated. By pressing
NC Stop or by a system error the process can be interrupted. In addition to the error message
"TC timeout", additional text is displayed in the PLC window informing about the next step to
be performed. With NC Start the process can be continued; pressing NC Stop again aborts
the tool change. When a tool change was aborted, the pocket table must be checked (error
message).
If in the tool table the #bit 0 of the PLC status is set (%00000001), the tool called by the TOOL
CALL is identified as touch probe (see Touch Probe module.)
CM TC_auto_start ;00
CM Tool_spindle_ok ;01
CM T_mag_start ;02
CM S_start ;03
CM Z_start ;04
CM PW_door_open ;05
CM Z_in_TC_posit ;06
CM X_Y_start ;07
CM T_status_read ;08
CM PW_door_opened ;09
CM Magazine_in_pos ;10
CM T_pocket_put_out ;11
CM T_pocket_time ;12
CM S_in_TC_posit ;13
CM X_in_TC_posit ;14
CM Y_in_TC_posit ;15
CM Mag_full_empty ;16
CM Spi_full_empty ;17
CM T_pocket_pos_out ;18
CM T_arm_to_spindle ;19
CM T_arm_on_spindle ;20
CM T_gripper_close ;21
CM T_gripper_closed ;22
CM T_unclamping ;23
CM Tool_unclamped ;24
CM TC_auto_time ;25
CM T_arm_put_out ;26
CM Tnew_store ;27
CM T0_in_status ;28
CM T_status_ok ;29
CM T_arm_pos_out ;30
#if Middle_position_exchange = &active
CM Tool_Call_2nd ;31
CM Tool_Call_wait ;32
CM Jump_TC_arm ;33 ---> (1)
CM T_arm_to_middle ;34
CM T_arm_in_middle ;35
CM T_mag_start ;36
CM Magazine_in_pos ;37
CM T_pocket_put_out ;38
CM T_pocket_pos_out ;39
CM Mag_empty ;40
#endif ;
CM T_arm_to_cw_ccw ;41 ;31 <--- (1)
CM T_arm_in_cw_ccw ;42 ;32
CM T_arm_put_in ;43 ;33
CM T_arm_pos_in ;44 ;34
CM T_clamping ;45 ;35
CM Tool_clamped ;46 ;36
CM Spi_empty_full ;47 ;37
CM Tnew_in_status ;48 ;38
CM T_status_ok ;49 ;39
CM T_arm_to_basic ;50 ;40
CM T_standby_read ;51 ;41
CM T_arm_on_basic ;52 ;42
CM T_gripper_open ;53 ;43
CM T_gripper_opened ;54 ;44
CM T_pocket_in_out ;55 ;45
CM T_pocket_pos_ok ;56 ;46
CM PW_door_close ;57 ;47
CM PW_door_closed ;58 ;48
CM TOOL_CALL_quit ;59 ;49
ToolCall programmed
(Actl. or noml. tool is of
Tmanu type)
Start Z1-positioning
02 (LBL Z1_in_out_start)
Z-positioning started
Z-axis positioned
03
(LBL TC_Magazin_1Start)
Orient spindle
04 (LBL S_start)
Z1 position reached?
05
(LBL Z1_posit_in_out)
Z1 position is reached
Spindle oriented
Magazine check ok
(Initiators ok)
Plausibility check ok
(Initiators ok)
active
Magazine to spindle
10
(LBL Mag_to_spindle)
TC_magazine_is_moving_to_spindle
Magazine in spindle position?
11
(LBL Mag_in_spindle)
inactive
Start Y-positioning
10
(LBL Y_in_start)
Y-positioning started
Y-position reached?
11
(LBL Y_posit_in)
Y-position reached
Unclamp tool
12
(LBL T_unclamping)
Tool unclamped?
13
(LBL Tool_unclamped)
Tool is unclamped
Start Z2-positioning
17 (LBL Z2_in_out_start)
Z-positioning started
Z2 position reached?
18
(LBL Z2_in_pos_in_out)
Z2 position is reached
TOOLMAG1.SRC
Start tool magazine
20 TOOLMAG2.SRC
(LBL TC_magazine_2start)
Magazine is started
Magazine check
22
(LBL Mag_full)
Error
Magazine check ok
(Initiators ok)
Z-positioning started
Z3 position reached?
24
(LBL Z3_in_pos_on)
Z3-position reached
Clamp tool
25
(LBL Tool_clamping)
Tool clamped?
26
(LBL Tool_clamped)
Tool clamped
Plausibility check ok
(Initiators ok)
active
TC_magazine_is_moving_to_spindle
inactive
Start Y-positioning
28
(LBL Y_out_start)
Y-positioning started
Status Tnew
29
(LBL Tnew_in_status)
active
TC_magazine_is_moving_to_spindle
Magazine in basic position?
31
(LBL Mag_on_basic)
inactive
Y position reached?
31
(LBL Y_posit_out)
Y position reached
ToolCall quit
32 (LBL Tool_call_quit)
ToolCall is quit
End of ToolCall
33
(LBL TC_auto_end)
ToolCall programmed
(Actl. or noml. tool is of Tauto
type)
TOOLMAG1.SRC
Start tool magazine TOOLMAG2.SRC
02
(LBL TC_magazine_1start)
Magazine started
Magazine positioned
Orient spindle S_ORIENT.SRC
03 (LBL S_start)
Spindle oriented
Start Z-positioning
04 (LBL Z_start)
Z-positioning started
Z-position reached?
05
(LBL Z_in_TC_position)
Z-position reached
Start X/Y-positioning
06
(LBL X_Y_start)
X/Y-axis positioned
X/Y-positioning started
TC_pocket_out_90_deg = &active
Spindle oriented
Start waiting time
X/Y-axis positioned
09 (LBL T_pocket_time)
X-postion reached?
11 (LBL X_in_TC_posit)
X-position reached
Y-postion reached?
12 (LBL Y_in_TC_posit)
Y-position reached
Magazine check
13
(LBL Mag_full_empty)
Error
Magazine check ok
(Initiators ok)
Plausibility check ok
TC_pocket_out_90_deg = &active
(Initiators ok)
Middle_position_basic = &active
Arm on spindle?
17 (T_arm_on_spindle)
Arm is on spindle
Close gripper
18
(LBL TC_arm_gripper_close)
TC_gripper = &active
Gripper closed?
19
(LBL T_gripper_closed)
Gripper closed
Unclamp tool
20
(LBL Tool_unclamping)
Tool unclamped?
21
(LBL Tool_unclamped)
Tool is unclamped
Status T0
25
(LBL T0_in_status)
Magazine started
34 Magazine check
(LBL Mag_full_empty)
Error
Magazine check ok
(Initiators ok)
Put in TC arm
37 (LBL TC_arm_put_in)
Clamp tool
39
(LBL Tool_clamping)
Tool clamped
Plausibility check ok
(Initiators ok)
Status Tnew
42
(LBL Tnew_in_status)
Open gripper
47
(LBL TC_gripper_open)
TC gripper open
Confirm ToolCall
51 (LBL Tool_call_quit)
ToolCall confirmed
End of ToolCall
52
(LBL TC_auto_end)
ToolCall programmed
(Actl. or noml. tool is of
Tauto type)
TOOLMAG1.SRC
Magazine started TOOLMAG2.SRC
Magazine positioned
Orient spindle S_ORIENT.SRC
03 (LBL S_start)
Spindle oriented
Start Z-positioning
04 (LBL Z_start)
Z-positioning started
Z-position reached?
05
(LBL Z_in_TC_posit)
Z- position reached
Start X/Y-positioning
06
(LBL X_Y_start)
X/Y-axis positioned
X/Y-positionierung started
TC_pocket_out_90_deg = &active
Spindle oriented
Start waiting time
X/Y-axis positioned
09 (LBL T_pocket_time)
Spindle in TC position
X-postion reached?
11 (LBL X_in_TC_posit)
X-position reached
Y-postion reached?
12 (LBL Y_in_TC_posit)
Y-position reached
Magazine check
13
(LBL Mag_full_empty)
Error
Magazine check OK
(initiators OK)
Plausibility check OK
TC_pocket_out_90_deg = &active
(initiators OK)
TC arm at spindle?
17 (TC_arm_on_spindle)
TC arm at spindle
Close gripper
18
(LBL Gripper_close)
T_gripper = &active
Gripper closed?
19
(LBL T_gripper_closed)
Gripper closed
Unclamp tool
20
(LBL T_unclamping)
Tool unclamped?
21
(LBL T_unclamped)
Tool unclamped
Magazine started
Middle_position_basic = &active
TC_pocket_out_90_deg = &active
Magazine pocket folded out?
33 (LBL T_pocket_pos_out)
34 Magazine check
(LBL Mag_full_empty)
Error
Magazine check ok
(Initiators ok)
37 Clamp tool
(LBL Tool_clamping)
38
Tool clamped
39
Error
Plausibility check ok
(Initiators ok)
Status request
43
of tool to be placed in magazine (excess length)
Middle_position_basic = &avtive
Open gripper
45
(LBL T_gripper_open)
WZ_Zange = &akiv
Gripper open?
46
(LBL T_gripper_opened)
Gripper open
ToolCall quit
49 (LBL TOOL_CALL_quit)
ToolCall is quit
End of ToolCall
50
(LBL TC_auto_end)
Spindle position
sensor
Center position
sensor
Brake position
sensor
Functions:
• Positioning of a tool magazine with a PLC axis (Toolmag1.src)
• Positioning of a tool magazine with counting pulse control (Toolmag2.src)
The tool magazine can be positioned by pressing external keys or by a TOOL DEF or a
TOOL CALL. When called by the NC program a direction logic controls the movement so
that the shortest path is used.
As soon as the target position is reached a 2nd redundant counter is evaluated.
In the event of an error referencing must be repeated.
Functions:
• Move the tool magazine by keys.
With the "Turn magazine" button the desired pocket can be selected for loading.
Press the button briefly to rotate the magazine by exactly one pocket at a time.
Otherwise the magazine rotates continuously until you release the button.
ToolDef confirmed
TC_pocket_out_90_deg = &active
Magazine folded in?
03
(LBL Pocket_pos_in)
Magazine folded in
Start magazine
04 (PLC positioning)
(LBL S_start)
Magazine END
10 (only for tools w/o excess length)
(LBL TC_magazine_end)
Confirm ToolDef
01 (LBL Tool_Def_quit)
ToolDef confirmed
TC_pocket_out_90_deg = &active
Magazine folded in?
03
(LBL Pocket_pos_in)
Magazine folded in
TC_magazine_lock_pin = active
Waiting time expired
Magazine in position
Functions:
• Execution of individual functions of the tool changer
• Monitoring of the basic position of the tool changer
• Non-volatile storage of outputs
With the HELP soft key a *.hlp file is activated to carry out individual functions of the tool
changer. This may be required if a tool change was aborted and the magazine must be brought
to basic position, or if an adjustment needs to be performed. The movements may be performed
continuously or in the jog mode. When the nominal position is reached and the related encoder
sends a confirmation, the message "FUNCTION OK!" is displayed.
Outputs whose last logic state must be retained when the power is switched off, must be
programmed non-volatile in the subdirectories "LBL Output_restore" and "LBL Output_backup".
W262=2
W264=1/0/1
W262=1
W264=0
W262=1
W264=1/0/1
W262=1/-1
W264=0/3/0
W262=3/1
W264=3/0/3
W262=1/3
W264=1/0/1
1
24 V 24 V
EMERGENCY STOP EMERGENCY STOP
i a i a
24 V
End Position X End Position X
b e
24 V
End Position Y End Position Y
c f
24 V
End Position Z End Position Z
d g
K1 K1
Variant A Variant B
Emerg. stop end positions: Coded Emerg. stop end positions: Not coded
Legend:
a) I_emergency_button_unlocked
b) I_X_not_overtravelled
c) I_X_Y_not_overtravelled
d) I__X_Y_Z_not_overtravelled
e) I_end_posit_axis_X
f) I_end_posit_axis_Y
g) I_end_posit_axis_Z
h) I_guard_closed_locked
i) O_axes_motion_from_end_position
The status of the inputs can be checked by means of the PLC table function.
The following LEDs of the UV are lit (all other LEDs are off):
U DC-LINK ON , READY, AXES, SPINDLE; in addition POWER MODULE READY of UV 120/140
Control voltage ON 1 1 ⊗ Ο Ο
Control voltage ON 1 1 ⊗ Ο Ο
The following LEDs of the UE 2xxB are lit (all other LEDs are off):
U DC-LINK ON , READY, PULSE RELEASE AXES, PULSE RELEASE SPINDLE and ...
Axis-specific LEDs
I3 I32 X111, X112, ...
(no clamped axes)
Control voltage ON 1 1 ⊗ Ο Ο
Control voltage ON 1 1 ⊗ Ο Ο
The following LEDs of the UE 2xx are lit (all other LEDs are off):
U DC-LINK ON , +5V, PULSE RELEASE AXES, PULSE RELEASE SPINDLE and ...
Axis-specific LEDs
I3 I32 AXIS 1, AXIS 2, ...
(no clamped axes)
READY RESET
Control voltage ON 1 1 ⊗ Ο
Control voltage ON 1 1 ⊗ Ο
- In the case of an EMERGENCY STOP no delay is permissible for switching off the input I32 ;
it must become zero immediately.
J The axes are braked by the CCU when the current limit is reached (the current limit is
steeper than the ramp that is used for braking in normal operation; MP1060. Braking is
executed by the MCU in this event.
- With EMERGENCY STOP the servo amplifiers switch from READY to SH2 after a certain delay
time.
Therefore, for a short time the servo amplifiers are still in a position to brake the motors.
- With the servo amplifier for the spindle the LEDs for READY and SH2 may be lit simultaneous-
ly, if. e.g. no M-function is active.
With clamped axes both LEDs may be lit at a time, too.
- With the analog interface HEIDENHAIN control → SIEMENS drive the pulse enable (drive
enable) is removed by an EMERGENCY STOP. → The drive logic is responsible for braking.
- For the holding brakes of the axes a PLC output must be used that can be switched off by
an EMERGENCY STOP (i.e. do not use O24 to O30)!