Parameter und Parameterrechnung (P)
Parameter können in NC-Programmen als Platzhalter für Zahlenwerte verwendet werden. Der Vorteil von Parametern liegt darin, dass der Wert eines Parameters während des Programmablaufes verändert werden kann. Dies erlaubt die Erstellung flexibler NC-Programme.
Für die Parameterbezeichnung wird "P" gefolgt von einer Zahl ohne Leerzeichen verwendet.
Programmierbeispiel
Parameter und Parameterrechnung
In einem Unterprogramm, z.B. einem Bohrzyklus, werden anstelle von Koordinatenwerten (Bohrtiefe, Bohrvorschub, Verweilzeit usw.) Parameter verwendet. Die Parameter werden dann im jeweils aufrufenden Hauptprogramm mit den endgültigen Werten belegt:
Der Aufruf im Hauptprogramm sieht dann wie folgt aus:
:
N100 P10=20.5 P11=12.6 P12=1.2
N110 L4712
:
| |
P.. | einfacher Parameter |
P.. | Der Parameterindex muss immer größer Null sein, kann jedoch einen beliebigen Wert annehmen. Die maximale Anzahl zu verwendender Parameter im Kanal ist fest vorgegeben [6]-6.19. |
| Zusätzlich zu einfachen Parametern sind auch Parameter-Arrays (z.B. P100[50]) erlaubt. Die Dimension des Arrays ist fest vorgegeben [6]-6.20 . |
| |
P..[<idx>] {[<idx>]} | Parameterarrays |
Bei entsprechender Parametrierung mit P-CHAN-00067 sind die P-Parameter programmübergreifend wirksam.
Parameter können im NC-Programm entweder in einem Deklarationsblock angelegt (und ggf. initialisiert) werden, der mit #VAR beginnt und mit #ENDVAR abgeschlossen wird, oder implizit beim ersten Schreibzugriff. Parameter-Arrays müssen allerdings immer in einem Deklarationsblock angelegt werden.
Zur besseren Übersicht kann die Initialisierung eines Parameter-Arrays mit dem „\“-Zeichen auch über mehrere NC-Zeilen geschrieben werden.
| |
#VAR | Beginn des Deklarationsblockes |
: |
|
: |
|
: |
|
#ENDVAR | Ende des Deklarationsblockes |
Programmierbeispiel
#VAR und #ENDVAR
#VAR
P10[3][6] = [10,11,12,13,14,15, \
20,21,22,23,24,25, \
30,31,32,33,34,35 ]
P20[3][4] = [40,41,42,43, 50,51,52,53, 60,61,62,63]
P100
#ENDVAR
P200 = 10 P201=11
:
Hinweis
Der Zugriff auf Parameterarrays beginnt bei Index 0! Mit obigem Beispiel liefert der Zugriff P10[0][5] somit den Wert 15.
Parameter und Parameter-Arrays können im NC-Programm auch wieder gelöscht werden. Hierzu steht der Befehl #DELETE zur Verfügung:
|
#DELETE P.. {, P..} |
Programmierbeispiel
#DELETE P..
#DELETE P10, P20, P100, P200, P201
Des Weiteren stehen die SIZEOF- und die EXIST-Funktion zur Verfügung (siehe Kapitel Arithmetische Ausdrücke <expr>), die die Dimensionsgröße von Parameter-Arrays ermitteln und die Existenz von Parametern überprüfen.
Parameter erhalten ihre Wertzuweisung durch das NC-Programm, z.B. P12=0.12. Sie ermöglichen auch die Verarbeitung von steuerungs- oder prozessabhängigen Werten des Steuerungssystems, wie z.B.:
- aktuelle Spindeldrehzahlen,
- Momente in den Antrieben,
- Werte externer Messvorrichtungen,
- Werte von Wärme- oder Kraftsensoren,
- Tastatureingaben über das Bedienmenü
usw.
Anstelle der direkten Zuweisung von Zahlen können auch verkettete arithmetische Ausdrücke verwendet werden (siehe Kapitel Mathematische Ausdrücke) Bei der Eingabe gelten die bekannten mathematischen Regeln wie:
- Punkt-vor-Strich-Rechnung,
- die Klammer-Regel, wobei aber eckige Klammern "[ ]" zu verwenden sind.