Programming

Syntax:

#FILTER [ON | OFF] [ORDER=.. ORDER_TIME=.. SHARE=.. AX_DEV=.. FCUT=.. ACC_FACT=.. QUALITY=.. ]

ON

Enable FIR filter.

OFF

Disable FIR filter.

ORDER=..

Specify filter order

ORDER_TIME=..

Specify filter order over time in [µs]

SHARE=..

Define the degree of effectiveness (analogous to P-AXIS-00590) of the filter in [%]
value range 0 – 100
default value = 100

AX_DEV=..

Specify the tolerance for tolerance monitoring in [mm, inch *].
Default value = 0 (no tolerance monitoring).
*with active P-CHAN-00439

FCUT=..

Specify the cut-off frequency (analogous to (P-AXIS-00585) of the filter in [Hz]
default value = 30

ACC_FACT=..

Increase the path velocity at block transitions with FIR filter enabled.

The greater the value setting, the less the velocity is reduced at the block transition.

This requires a valid setting of P-AXIS-00013 (a_trans_weight) for the axes.

Value range = 1.0 – 10.0

Default value =: 1.0

QUALITY=..

Specify the filter quality of the filter core curve
value range: 0 < QUALITY <= 1
default value = 1.0

Parameter available as of V3.1.3075.04

Notice

notice

The #FILTER ON/OFF command enables or disables all the FIR filters of the axes in the channel.

It is possible to use FIR filters on all axes. It is also possible to use different filters for each axis by axis-specific configuration in the axis lists.

FIR filters can be globally enabled or disabled and reparameterised across all axes in the NC program during machining (see Programming example).

Notice

notice

Tolerance monitoring can only be configured and activated in the NC program.

Tolerance monitoring is programmed by the parameter AX_DEV. It ensures that every axis remains within the specified tolerance [mm, inch].

Tolerance monitoring always monitors all axes and therefore can only be controlled globally in the NC program.

Tolerance monitoring in only active if AX_DEF was specified with a corresponding tolerance.

Programing Example

prg_example

NC program with 90° corner

Program with a simple square contour. Traverse feed rate=4000mm/min, slope type=TRAPEZ (non-linear) and tolerance (AX_DEV)=0.001mm.

Setting in the axis lists:

The contour is traversed 3 times:

  1. first with filter and tolerance monitoring
  2. only with filter
  3. finally as reference without filter enabled.

N010 G00 G90 X0 Y0 Z0

N020 #SLOPE [TYPE=TRAPEZ]

(Contour with filter and tolerance monitoring)

N030 #FILTER ON [AX_DEV=0.001]

N040 G01 X0 Y1 F4000

N050 G01 X1 Y1

N060 G01 X1 Y0

N070 G01 X0 Y0

(Contour only with filter)

N080 #FILTER ON

N090 G01 X0 Y1 F4000

N100 G01 X1 Y1

N110 G01 X1 Y0

N120 G01 X0 Y0

(Contour without filter or tolerance monitoring)

N130 #FILTER OFF

N140 G01 X0 Y1 F4000

N150 G01 X1 Y1

N160 G01 X1 Y0

N170 G01 X0 Y0

N180 M30

2D contour programming example
2D contour programming example

Blue

without filter

Red

with filter

Green

with filter and tolerance monitoring