Status information of a channel
Covered block motion path | |
Description | Part of the path motion traversed in the current block in relation to the total path. This status datum contains the current block position referred to the path distance in space in the motion block in per mil sd(t). |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.covered_distance_r |
Data type | DINT |
Unit | 0.1 % |
Access | PLC is reading |
Special features | If a main axis participates in the motion, the covered path motion is in relation to the block path of the first three axes. If no main axis participates in the motion, the covered path motion is the position lag with the longest motion time in relation to the block path. |
Currently covered path in the NC program (PCS) | |
Description | Reads the current distance covered in the NC program since program start or since the last # DISTANCE PROG START CLEAR NC command. The calculation is based on the current position in the current NC block. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.dist_prog_start |
Data type | UDINT (* LREAL) |
Unit | 0.1 µm |
Access | PLC is reading |
Special features | * As of CNC Build V3.1.3104.01 the data element is provided in LREAL forma. |
Line counter, NC program | |
Description | The datum indicates the NC program line which is the source of the command just processed by the interpolator. The value is derived from the number of NC program lines which the decoder has read since the NC program started. All the lines read the decoder are counted, i.e. repeatedly read lines, empty and comment lines. All commands to the interpolator resulting from decoding a NC program line are assigned to the associated line counter. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_count_r |
Data type | UDINT |
Access | PLC is reading |
Programmed path feed | |
Description | Path feed that was was programmed by the F word in the NC program.. e.g. using F10000 |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.command_feed_r |
Data type | DINT |
Unit | 1 µm/s |
Access | PLC is reading |
Path deed programmed taking into account real-time influences | |
Description | Path feed was programmed in the NC program<value> Weighted by the current real-time influences such as override. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.command_feed_active_r |
Data type | DINT |
Unit | 1 µm/s |
Access | PLC reads |
Current path feed | |
Description | Current path feed during interpolation. This value is displayed with sign when the external path speed (extern_command_speed_valid control unit) is active |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.active_feed_r |
Data type | DINT |
Unit | 1 µm/s |
Access | PLC is reading |
Due to the architecture of the NC kernel in which various components operate asynchronously to each other, certain status information may be provided several times by the various control components.
For example, the program_end_r signal in the decoder status flag means that the decoder has completed program decoding whereas the actual interpolation by the path interpolator may not have finished. The end of interpolation of the path axes is indicated by the program_end_r signal in the status data of the path interpolator.
End of program reached | |
Description | This status information indicates that the interpolator has reached program end or that no NC program is currently under in execution. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.program_end_r |
Data type | BOOL |
Value range | [TRUE = End of program reached, FALSE] |
Access | PLC is reading |
End of program reached | |
Description | Decoder has reached program end. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.decoder_state.program_end_r |
Data type | BOOL |
Value range | [TRUE = End of program reached, FALSE] |
Access | PLC is reading |
Special features | Caution: The machine cannot move any further since the interpolation signal is relevant for machine motion. |
End of program reached | |
Description | Look Ahead function has reached program end |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bavo_state.program_end_r |
Data type | BOOL |
Value range | [TRUE = End of program reached, FALSE] |
Access | PLC is reading |
Special features | Required for diagnosis only. |
Stop condition | |
Description | Displays the condition why the current motion was stopped. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.stop_conditions_r |
Data type | DINT |
Value range | See Value range of stop conditions with explanations. |
Access | PLC is reading |
Value range of stop conditions
Constant in PLC | Value | Explanation |
HLI_SC_FEEDHOLD | 0x0001 | Path feed stop |
HLI_SC_VFG | 0x0002 | No axis-specific feed enable. |
HLI_SC_SINGLE_BLOCK | 0x0004 | Single step mode active. |
HLI_SC_M00_OR_M01 | 0x0010 | M00 (programmed stop), M01 (optional stop) is active. |
HLI_SC_PLC_ACKNOWLEDGE | 0x0020 | Stop occurs due to waiting for an acknowledgement from the SPS. This may occur as a result of the output of M or H technology functions but is not restricted to them alone. |
HLI_SC_OVERRIDE_ZERO | 0x0040 | Override = 0. |
HLI_SC_OVERRIDE_RAPID_ZERO | 0x0080 | Override = 0 with rapid traverse blocks |
HLI_SC_DELAY_TIME | 0x0200 | Dwell time. |
HLI_SC_CHANNEL_SYNC | 0x0800 | Channel synchronisation is active. |
HLI_SC_IPO_INPUT_EMPTY | 0x1000 | Input FIFO of the interpolation is empty. |
HLI_SC_IPO_INPUT_DISABLED | 0x2000 | Input of function blocks (e.g. motion blocks etc.) disabled. |
HLI_SC_WAIT_FOR_AXES | 0x8000 | Stop occurs due to waiting until a commanded axis swap is completed. |
HLI_SC_CHANNEL_ERROR | 0x00010000 | An error occurred in the channel. |
HLI_SC_WAIT_TECHNO_ACK | 0x00020000 | Waiting for acknowledgement of M/H/ST technology functions. |
HLI_SC_W_C_AFTER_COLLISION | 0x00040000 | After a detected collision, waiting for motion resumption. |
HLI_SC_SLOPE_SUPPLY_PROBLEM | 0x00080000 | Block supply problem (only occurs in conjunction with HSC slope). |
HLI_SC_BACK_INTERPOLATION | 0x00100000 | Back interpolation after tracking mode is active. |
HLI_SC_STOP_REVERSIBLE | 0x00200000 | Stop since M00 (programmed stop) is active. However, the NC program can be processed backwards despite M00 (available as of V3.1.3039.01). |
HLI_SC_BREAKPOINT_STOP | 0x00400000 | Stop after a breakpoint (stop point) is reached; available as of V3.1.3039.01. |
HLI_SC_M0_STOP | 0x02000000 | Stop after an M00 function is reached |
HLI_SC_M1_STOP | 0x04000000 | Stop after an M01 function is reached |
HLI_SC_INSERT_STOP_AT_DIST | 0x08000000 | Stop after an M function inserted by the Control Unit “Inserting stop marks” is reached. |
HLI_SC_DEC_SYN_CHAN_EMPTY | 0x10000000 | Decoder is waiting for synchronisation. NC channel has no jobs. |
Error occurred – awaiting clearance | |
Description | An internal error has occurred. The interpolator waits for the error to be cleared. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_error_removal_r |
Data type | BOOL |
Value range | [TRUE = Error occurred - interpolator waiting, FALSE] |
Access | PLC reads |
Error occurred– waiting for external input | |
Description | In syntax check mode, the decoder waits after an error for an external input (continue, abort) |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.decoder_state.wait_after_error_r |
Data type | BOOL |
Value range | [TRUE = Error occurred – decoder waiting, FALSE] |
Access | PLC reads |
Interpolator active | |
Description | Machine is to be/is moved. If a subroutine with path motions is in process, this status is set. Example: N10 G01 F1000 X0 Y0 N20 G01 F1000 Y10 Y20 (block is interpolated) |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.interpolation_active_r |
Data type | BOOL |
Value range | [TRUE = Machine is to be/is moved, FALSE] |
Access | PLC is reading |
Technology function acknowledgement | |
Description | The interpolator waits for the acknowledgement of a technology function from the PLC. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_techno_acknowledge_r |
Data type | BOOL |
Value range | [TRUE = Waiting for acknowledgement of technology function, FALSE] |
Access | PLC reads |
Enable continuation of motion | |
Description | The interpolator waits for an Enable to continue the motion after a stop in single-step mode. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_continue_r |
Data type | BOOL |
Value range | [TRUE = Interpolator waiting motion to continue, FALSE] |
Access | PLC reads |
Dwell time active | |
Description | The interpolator waits due to a programmed dwell time (G04). If a subroutine with a dwell time is in process, this status is set. Example: N10 G01 X10 F1000 N20 #TIME 10 ( Dwell time 10 seconds) |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.dwell_time_active_r |
Data type | BOOL |
Value range | [TRUE = Interpolator waiting, FALSE] |
Access | PLC is reading |
Violation detected in workspace monitoring | |
Description | This datum reads a violation detected by the workspace monitoring system [FCT-C14]. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.area_mon_violation_detected_r |
Data type | BOOL |
Value range | [TRUE = error detected in workspace monitoring, FALSE] |
Access | PLC is reading |
Axis group in position | |
Description | All axes in the axis group have reached their programmed end positions. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.axes_in_position_r |
Data type | BOOL |
Value range | [TRUE, FALSE] |
Access | PLC reads |
Waiting for axis group in position | |
Description | The interpolator waits for all axes to be in position in single-block mode, a programmed stop (M00), an optional stop (M01) or a exact stop set (G60/G360). |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_axes_in_position_r |
Data type | BOOL |
Value range | [TRUE, FALSE] |
Access | PLC is reading |
Waiting for requested axis | |
Description | The look ahead function waits for a programmed axis request (see [PROG//#CALL AX]) top contain the axis. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bavo_state.wait_for_axis_r |
Data type | BOOL |
Value range | [TRUE = Waiting for requested axis, FALSE] |
Access | PLC reads |
Block search active | |
Description | The interpolator works in block search mode. No axis motion occurs. As long the block search process in the interpolator remains in the HLI_BS_ACTIVE or HLI_BS_WAIT_FOR_PLC_OFF state, this value indicates TRUE. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_search_active_r |
Data type | BOOL |
Value range | [TRUE = active - Interpolator works in block search mode., FALSE] |
Access | PLC is reading |
Block search active | |
Description | Look ahead works in block search mode |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bavo_state.block_search_active_r |
Data type | BOOL |
Value range | [TRUE = active – Look ahead works in block search mode, FALSE] |
Access | PLC reads |
Block search active | |
Description | The decoder works in block search mode |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.decoder_state.block_search_active_r |
Data type | BOOL |
Value range | [TRUE = active - Decoder works in block search mode, FALSE] |
Access | PLC reads |
Block search, distance from continuation position | |
Description | If a NC program is started in block search modus, the NC program is processed in simulative mode (without axis motion) until the continuation position is reached. Block search is then in the HLI_BS_WAIT_FOR_PLC_OFF state and calculates the distance between the actual positions of the axis and the continuation position. If block search is in the HLI_BS_RETURNING_TO_CONTOUR state, this value is refreshed cyclically. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_search_path_deviation_r |
Data type | UDINT |
Unit | 0.1 µm |
Value range | [0, MAX_SGN32] |
Access | PLC is reading |
Block search, state | ||
Description | Indicates the current state of the block search mode in the interpolator. | |
Signal flow | CNC → PLC | |
ST path | gpCh[channel_idx]^.bahn_state.block_search_state_r | |
Data type | INT | |
Value range | Constant | Value |
HLI_BS_INACTIVE | 0 | |
HLI_BS_WAIT_FOR_PLC_ON | 1 | |
HLI_BS_ACTIVE | 2 | |
HLI_BS_WAIT_FOR_PLC_OFF | 3 | |
HLI_BS_WAIT_RETURN_TO_CONTOUR | 4 | |
HLI_BS_RETURNING_TO_CONTOUR | 5 | |
HLI_BS_WAIT_FOR_CONTINUE_CONTOUR | 6
| |
Access | PLC is reading |
Rapid traverse velocity, axes move in the channel | |
Description | If the value is TRUE, the path axes move on the programmed path when rapid traverse velocity was specified as path velocity. TRUE is only indicated if at least one axis actually moves. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.rapid_mode_r |
Data type | BOOL |
Value range | [TRUE = at least one path axis moves and rapid traverse velocity is specified, FALSE] |
Access | PLC reads |
Collision detected, wait to continue motion | |
Description | Indicates that after a collision is detected, the axis waits for a command to continue the motion. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_continue_after_collision_r |
Data type | BOOL |
Value range | [TRUE = after a collision is detected, wait to continue the path, FALSE] |
Access | PLC reads |
Block number, current path motion | |
Description | If the N function [PROG//N function] is used in the active NC program to program NC block numbers, this datum indicates the NC block number of the NC block currently processed in the interpolator in this datum. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_nr_r |
Data type | UDINT |
Value range | [0, MAX_UNS32] |
Access | PLC is reading |
NC program, file name | |
Description | Name of the file containing the active NC program. If the active NC program is a global subroutine, the filename containing the global subroutine is indicated. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.file_name_r.zeichen |
Data type | STRING(HLI_NAME_SIZE) |
Access | PLC reads |
NC program, file offset | |
Description | This indicates the current command processed in the interpolator and the offset at which the related NC program line starts in the NC program file. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.active_fileoffset_r |
Data type | DINT |
Unit | Byte |
Value range | [0, MAX_SGN32] |
Access | PLC reads |
NC block, inserted | |
Description | Indicates whether an additional NC block was inserted by the control unit during interpolation. Additional NC blocks may be created by functions such as polynomial contouring or tool radius compensation. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_inserted_r |
Data type | BOOL |
Value range | [TRUE = the control unit inserted an NC block, FALSE] |
Access | PLC reads |
Manual mode is active, without parallel interpolation | |
Description | Indicates whether exclusive manual mode is active. No interpolation is active at the same time. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.g200_active_r |
Data type | BOOL |
Value range | [TRUE = Manual mode is active without parallel interpolation, FALSE] |
Access | PLC reads |
Manual mode active, with parallel interpolation | |
Description | Indicates whether superimposed manual mode is active. This means that the setpoints for the axes to be moved are calculated by superimposing the defaults for path interpolation and the mode interface of a particular axis. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.g201_active_r |
Data type | BOOL |
Value range | [TRUE = Manual mode is active with parallel interpolation, FALSE] |
Access | PLC reads |
Measurement process, active | |
Description | Indicates that a measurement process was commanded by G100 or G108. The rising edge of the datum indicates that the measurement process was started. The value then remains TRUE until a measurement event was triggered for all the axes participating in the measurement run and for which measurement was activated. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.measure_active_r |
Data type | BOOL |
Value range | [TRUE = A measurement process is commanded but the measurement results have not yet been received for all measuring axes, FALSE] |
Access | PLC reads |
Look ahead distance | |
Description | Indicates the look ahead distance up to which the motion was calculated by the interpolator. The distance is referred to program starts or to the position where the last NC command #DISTANCE PROG START CLEAR was executed. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.dist_contour_lah_high gpCh[channel_idx]^.bahn_state. dist_contour_lah _low |
Data type | UDINT |
Unit | 0,1 µm |
Access | PLC reads |
Special features | In the NC this is an integer number which occupies 8 bytes in the memory. At the HLI the number is provided in the form of two 4-byte wide values. The value in dist_prog_start_low represents the 4 lower bytes 0 to 3 and the value in dist_prog_start_high the 4 higher bytes 4 to 7 of the 8-byte value present in the NC kernel. Available as of Build V3.1.3030.0 and higher |
Delete distance to go, state | |
Description | If a command is sent via the delete_distance_to_go control unit, this value is TRUE as long as the NC block which exerts a linear motion to the target position of the next motion block is executed (short cut). It also remains TRUE if the active short cut is itself shortened by a new command. The signal is again reset when the active NC block is no longer related to the command of the delete_distance_to_go control unit. See functional description [FCT-C28]. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.delete_distance_to_go_active_r |
Data type | BOOL |
Value range | [TRUE = linear motion is executed to the target position of the next motion block (short cut), FALSE] |
Access | PLC is reading |
High-resolution velocity setpoint, state | |
Description | The value indicates whether the interface for the external input of velocities continues to process the inputs at high resolution. Processing the input at high resolution is enabled by the NC command #EDM ON and disabled by programming #EDM OFF. This is used in combination with electrical discharge machining. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.edm_active_r |
Data type | BOOL |
Value range | [TRUE = high-resolution processing of input value is active, FALSE = input values are not processed at high resolution] |
Access | PLC reads |
Time to next motion command containing G01, G02 | |
Description | Is rapid traverse velocity is specified for the current path motion, this datum indicates the time until the next motion block containing G01 or G02 is active. This time is only calculated and displayed if it is enabled in the channel parameter P-CHAN-00650 of the channel or, alternatively, in the start-up parameter P-STUP-00070 by specifying FCT_LOOK_AHEAD_STANDARD | FCT_CALC_TIME. (See Activate lift function. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.time_to_next_feed_block_r |
Data type | UDINT |
Value range | [0, MAX_UNS32] |
Access | PLC is reading |
Stop, value | |
Description | When a reversible stop is programmed, an additional user-specific parameter can be specified: #STOP REVERSIBLE[USR_VAL = ....] That value is indicated in this element as soon as a stop is executed at this position. After resuming the motion, the value is deleted. In this context also see the "Reversible stop” control unit (stop_reversible_level) and the functional description [FCT-C7// Automatic reversing after stop]. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.stop_reversible_usr_val_r |
Data type | UDINT |
Value range | [0, MAX_UNS32] |
Access | PLC reads |
Example
Reversible stop
Output of the waiting condition identifier and evaluation of the maximum waiting time
Required channel parameter:
forward_backward.disable_stop_backward 0
forward_backward.disable_stop_2nd_forward 0
forward_backward.disable_stop_1st_forward 0
NC program:
%stop_reversible
N01 X0 Y0 Z0
N10 X100
N20 Y100
N30 X0
N40 Y0
N45 #STOP REVERSIBLE[ USR_VAL=500]
N50 X0 Y0 Z0
N60 X100
N70 Y100
N80 X0
N90 Y0
N95 #STOP REVERSIBLE[ USR_VAL=2000]
M30
Distance to edge below limit | |
Description | This signals that the distance to the edge defined by the channel parameter P-CHAN-00222 (edge_machining.pre_dist), was undershot. As from this time, motion on the programmed path is effective at the path feed defined by the channel parameter P-CHAN-00223 (edge_machining.pre_feed). |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.edge_function_r.signal_1 |
Data type | BOOL |
Value range | [TRUE = active – Distance to edge undershoots parametrised limit, FALSE] |
Access | PLC reads |
Wait time at edge | |
Description | The signal indicates that the motion was stopped at the edge and the wait time specified by the channel parameter P-CHAN-00224 (edge_maching.wait_time) is expiring. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.edge_function_r.signal_2 |
Data type | BOOL |
Value range | [TRUE = active – wait time active, FALSE] |
Access | PLC reads |
Distance after edge below limit | |
Description | The signal indicates that the tool is moving away from the edge but the distance from the edge is still smaller than the value defined by the channel parameter P-CHAN-00225 (edge_machining.post_dist). The path feed valid for this section is defined by the channel parameter P-CHAN-00226 (edge_machining.post_feed). |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.edge_function_r.signal_3 |
Data type | BOOL |
Value range | [TRUE = active - distance after edge not reached, FALSE] |
Access | PLC reads |
Angle between active and next NC block | |
Description | Indicates the angle between 2 consecutive NC blocks if both NC blocks are motion blocks containing programmed feed. The indicated value is in the range of [0, 1800000] which corresponds to [0°, 180°]. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.edge_function_r.angle_end |
Data type | DINT |
Unit | 10-4 ° |
Value range | [0,10000000] |
Access | PLC reads |
Special features | If the the next motion block is a rapid traverse block, value 5000000 is output NC block that leads to motion stop, value 6000000 is output. In all other cases the default value 10000000 is indicated. |
Velocity at end of current NC block | |
Description | Indicates the velocity at transition from currently interpolated to next motion block which results from evaluating the geometrical situation and the velocity of the next block. If the dwell time is programmed or a predictable motion stop is programmed at the transition between the NC blocks caused by the output of a technology function with corresponding synchronisation start in the next block, the value 0 is indicated. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.block_dynamic_r.vel_end_geo |
Data type | DINT |
Unit | 1 μm/s |
Value range | [0, MAX_SGN32] |
Access | PLC reads |
Numerator of the real-time loop | |
Description | The datum shows the number of passes of the real-time loop in which the current machining is located. If a loop transition is in a forward direction, the datum is incremented by 1 and it is decremented in a backward direction. If more loop passes were processed in the backward direction, a negative numeral is displayed. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.rt_loop_count_r |
Data type | DINT |
Access | PLC reads |
Special feature | Date available as of CNC Build V3.1.3105.01 and higher |
Real-time loop active | |
Description | The datum indicates whether current machining is located in a #RT WHILE - #RT ENDWHILE sequence. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.inside_rt_loop_r |
Data type | BOOL |
Value range | [TRUE = Machining within #RT WHILE #RT ENDWHILE, |
Access | PLC is reading |
Special feature | Date available as of CNC Build V3.1.3105.01 and higher |
Waiting for external command velocity | |
Description | The NC channel waits for an external command velocity. |
Signal flow | CNC → PLC |
ST path | gpCh[channel_idx]^.bahn_state.wait_ext_command_speed_r |
Data type | BOOL |
Value range | [TRUE = channel is waiting |
Access | PLC is reading |