# Programmierung

Syntax Anwahl mit Angabe der Position der Werkstückoberfläche:
#DIST CTRL [ WAIT ] ON | DRYRUN [ SURFACE [ SET_POS=.. ] ]

Syntax Anwahl mit Angabe konstanter Abstand zur Werkstückoberfläche:
#DIST CTRL [ WAIT ] ON | DRYRUN [ CONST_DIST [ SET_DIST=.. ] ]

Syntax Abwahl:
#DIST CTRL [ WAIT ] OFF [ NO_MOVE ]

Syntax Offset einfrieren:
#DIST CTRL [ WAIT ] FREEZE

Syntax Sensor prüfen oder referenzieren:
#DIST CTRL [ WAIT ] CHECK_POS | REF

Syntax zusätzliche Parametrierung (kann optional auch in Kombination mit der An-/Abwahl programmiert werden):
#DIST CTRL [ [ MODE=<ident> ] [DIRECTION=<Achsname>] [ KP=.. ] [ I_TN=.. ] [ D_TV=.. ] [ FILTER_TYPE=.. FILTER_TIME=.. ] [ N_CYCLES=.. ] [ FG_F0=.. ] [ ORDER=.. ] [ SMOOTH_FACT=.. ] [ KALMAN_SIGMA=.. ] [SENSOR_SOURCE=<ident>] [SENSOR_VAR=..] [ VAL1=.. - VAL5=.. ] { \ } ]

WAIT | Mit der Option WAIT wird beim Ausführen des Befehls solange gewartet, bis die Abstandsregelung vollständig ein oder ausgeschaltet ist, bevor der nächste NC-Befehl ausgeführt wird.
ON | Abstandsregelung einschalten.
SURFACE | In Verbindung mit ON Abstandsregelung einschalten bei Vorgabe der Position der Werkstückoberfläche. Beim Einschalten muss eine Sollposition mit SET_POS gesetzt sein.
SET_POS=.. | Sollvorgabe der Werkstückoberfläche in [mm, inch] (Absolutposition). Bei Reset oder Programmende wird die Sollposition zurückgesetzt, d.h. vor dem Wiedereinschalten der Abstandsregelung muss eine neue Sollposition vorgegeben werden.
CONST_DIST | In Verbindung mit ON Abstandsregelung einschalten bei Vorgabe eines konstanten Abstandes zur Werkstückoberfläche. Beim Einschalten muss ein Abstand mit SET_DIST gesetzt sein.
SET_DIST=.. | Sollvorgabe des konstanten Abstandes zur Werkstückoberfläche in [mm, inch]. Bei Reset oder Programmende wird der Abstand zurückgesetzt, d.h. vor dem Wiedereinschalten der Abstandsregelung muss ein neuer Abstand vorgegeben werden.
DRYRUN | Im Modus DRYRUN wird die Achse bei Änderungen der Werkstückoberfläche nicht nachgeführt! Dies ermöglicht die Auswertung von Daten (Bsp. Filterwirkung) ohne Rückkopplung der Regelung. [ab V3.1.3079.23] In Verbindung mit SURFACE muss eine Sollposition mit SET_POS gesetzt sein.

In Verbindung mit CONST_DIST muss ein Sollabstand mit SET_DIST gesetzt sein.

OFF | Abstandsregelung ausschalten.

CHECK_POS | Prüfen, ob Position im Toleranzfenster ist.
FREEZE | Einfrieren des ausgeregelten Abstandes über Werkstück. Die Achsposition bzw. der ausgegebene Korrekturwert werden gehalten. Die Nachführung der Achse wird unterbrochen.
REF | Messsystem (Sensor) referenzieren (nur wenn kein Absolutmesssystem vorhanden ist).
MODE=<ident> | Die Überlagerung der Offsets der Abstandsregelung findet auf der entsprechenden Ebene statt. Gültige Kennungen: PCS : Programmierten Koordinate MCS : Im Maschinenkoordinatensystem (kartesisches Grundsystem) ECS : In Werkzeugrichtung ACS : Auf physikalischer Achsebene

OFF : Keine Überlagerung (STANDARD)

Hinweis: Für eine Ausgleichsbewegung in ECS wird eine aktive Kinematik ID98 benötigt. (#KIN ID[98], #TRAFO ON)

DIRECTION= <Achsname> | Name der Achse, in welcher die PCS/MCS/ACS-Kompensation beaufschlagt wird. Aktuell wird DIRECTION = Z unterstützt (DIRECTION=X/Y sind in Vorbereitung.)
KP=.. | Gewichten des Ausgabewertes der Abstandsregelung. Die Parametrierung kann analog zu P-CHAN-00821 durchgeführt werden. Der Wertebereich ist auf 0.0 < KP <= 2.0 beschränkt. Bei KP-Werten kleiner 1.0 wird die Dynamik der Abstandsregelung reduziert, bei KP-Werten größer als 1.0 wird die Dynamik erhöht.

Durch einen KP-Faktor kleiner 1 kann ein mögliches Überschwingen der Abstandsregelung reduziert und bei kleinen Abstandsfehlern die Regelung beruhigt werden.

I_TN=.. | Nachstellzeit des Integral-Anteils des PID-Reglers in [s]. Die Nachstellzeit gibt an, nach welcher Zeit der P- und I-Anteil der Stellgröße gleich groß sind. Die Parametrierung kann nach Vorbild von P-CHAN-00822 durchgeführt werden. Der Wertebereich ist auf 0.0 <= I_TN <= 50.0 beschränkt. Eine große Nachstellzeit führt zu einer robusteren Regelung. Je kleiner die Nachstellzeit, desto stärker der I-Anteil und desto schneller die Regelung. Eine kleine Nachstellzeit regt Überschwingen stärker an.
D_TV=.. | Vorhaltezeit des Differential-Anteils des PID-Reglers in [s]. Die Vorhaltezeit gibt an, nach welcher Zeit der P- und D-Anteil der Stellgröße gleich groß sind. Die Parametrierung kann nach Vorbild von P-CHAN-00823 durchgeführt werden. Der Wertebereich ist auf 0.0 <= D_TV <= 2.0 beschränkt. Je größer die Vorhaltezeit, desto stärker der D-Anteil.
FILTER_TYPE=.. | Filtertyp für die Filterung der Geberwerte gemäß P-CHAN-00825.
FILTER_TIME=.. | Wird ein Werte > 0 angegeben, so wird das Ein-/Ausschalten der Abstandsregelung über einen sin² Filter geglättet. Die Angabe der Filterzeit erfolgt in Interpolator-Takten.
N_CYCLES=.. | Anzahl der Messwerte, die für die Filterung verwendet werden gemäß P-CHAN-00800.
FG_F0=.. | Grenzfrequenz für den Tiefpassfilter in [Hz] gemäß P-CHAN-00817.
ORDER=.. | Ordnung des Tiefpassfilters gemäß P-CHAN-00816.
SMOOTH_FACT=.. | Glättungsfaktor des exponentiellen Mittelwertfilters gemäß P-CHAN-00827. Gibt die Gewichtung des aktuellen Messwertes an.
KALMAN_SIGMA=.. | Unsicherheit der aufgenommenen Messwerte gemäß P-CHAN-00826.
SENSOR_SOURCE=<ident> | Angabe der Quelle für das Sensorsignal. Folgende Quellen können für die kanalspezifische Abstandsregelung eingestellt werden: DEFAULT : Ist als Sensorquelle „DEFAULT“ ausgewählt, stellt die CNC intern automatisch auf Sensorquelle „VARIABLE“ VARIABLE : Die Übergabe des Sensorsignals an die CNC erfolgt über eine V.E.-Variable. Zusätzlich muss hierfür der Name der V.E.-Variablen über den Parameter „SENSOR_VAR“ angegeben werden.

SENSOR_VAR=.. | Name der V.E.-Variablen über die das Sensorsignal an die CNC übermittelt wird.
NO_MOVE | Standardmäßig wird beim Ausschalten der Abstandsregelung der entstandene Korrekturoffset ausgefahren. Durch Angabe von NO_MOVE in Kombination mit OFF kann diese Bewegung unterdrückt werden. Der Kanal wird mit den geänderten Achspositionen initialisiert. Das Ausfahren des Positionsoffsets erfolgt erst mit der nächsten, im NC-Programm programmierten Achsbewegung.
VAL1=..-VAL5=.. | Fünf frei belegbare Werte im Realformat.
\ | Trennzeichen ("Backslash") für übersichtliche Programmierung des Befehls über mehrere Zeilen.

## Programmierbeispiel

Abstandsregelung- achsspezifische Verwendung und mit geneigtem Werkzeug

Beispiel 1- Verhalten wie bei achsspezifischer Abstandsregelung

N010 G0 Z10

;Setzen der Sensoreingangsquelle

N020 #DIST CTRL [SENSOR_SOURCE=VARIABLE SENSOR_VAR=V.E.SENSOR]

;Abstandsregelung aktivieren

N030 #DIST CTRL ON [CONST_DIST SET_DIST=1 MODE=ACS DIRECTION=Z]

;...

;Abstandsregelung ausschalten ohne warten. Nächster Satz wird sofort ausgeführt.

N900 #DIST CTRL OFF

N910 G0 Z0

N999 M30

Beispiel 2- Abstandsregelung mit geneigtem Werkzeug und Kinematik ID 98

; Parametrierung der Kinematik 98

: ----------------------------------

; HD1: Werkzeugversatz (100mm)

; HD2: Start-Grenzwinkel (Neigung zur Senkrechten): Start der WZ-Verlängerung (30°)

; HD3: Ende-Grenzwinkel (Neigung zur Senkrechten) : Ende der WZ-Verlängerung (60°)

; HD4: maximale Neigung -> Fehlermeldung (91°)

N010 V.G.KIN_STEP[1].ID[98].PARAM[0] = 1000000

N020 V.G.KIN_STEP[1].ID[98].PARAM[1] = 300000

N030 V.G.KIN_STEP[1].ID[98].PARAM[2] = 600000

N040 V.G.KIN_STEP[1].ID[98].PARAM[3] = 910000

; Werkzeuglänge (80mm)

N050 V.G.WZ_AKT.L = 80

; Aktivierung der Kinematischen Transformationen ID9 und ID98.

N060 #KIN ID[9,98]

N070 #TRAFO ON

N080 G0 Z10

N090 G90 A=-45

; Setzen der Sensoreingangsquelle

N100 #DIST CTRL [SENSOR_SOURCE=VARIABLE SEN-SOR_VAR=V.E.SENSOR]

; Einschalten der Abstandsregelung in Werkzeugrichtung (Oberfläche 1mm)

N110 #DIST CTRL ON [SURFACE SET_POS=1 MODE=ECS DIRECTION=Z]

;...

; Abstandsregelung ausschalten und warten bis der Ausschalt-prozess abgeschlossen ist.

N120 #DIST CTRL WAIT OFF

N130 G0 Z0

N140 M30