Jun 12, 2023 Eine Nachricht hinterlassen

Makroprogramm nutzlos? Das liegt daran, dass man sich nicht versöhnen kann!

 

Heutzutage verstehen viele CNC-Techniker Makroprogramme nicht. Sie denken, dass sie mit automatischer Programmiersoftware keine Makroprogramme lernen müssen. Tatsächlich sind die Funktionen von Makroprogrammen sehr leistungsfähig. Um beispielsweise einige Batch- und Wiederholungsprogramme zu schreiben, müssen Sie bei Verwendung von Makroprogrammen nur wenige Daten ändern. Eine große Anzahl wiederholter Programmierungen ist nicht erforderlich, was den Betrieb erheblich vereinfachen und die Arbeitseffizienz erheblich verbessern kann.

Makroprogramme können Variablen verwenden, um gemischte Operationen aus arithmetischen Operationen, logischen Operationen und Funktionen auszuführen und außerdem Schleifenanweisungen, Verzweigungsanweisungen und Unterprogrammaufrufanweisungen bereitzustellen.

Generell gilt: Ein Makroprogramm eignet sich für die Programmierung einer Reihe von Teilen mit der gleichen Grafik, aber unterschiedlicher Größe; Es eignet sich für die Programmierung einer Reihe von Teilen mit demselben Prozesspfad, aber unterschiedlichen Positionsparametern. Es eignet sich zur Programmierung von Parabeln, Ellipsen, Hyperbeln und anderen Kurven ohne Interpolationsanweisungen.


01
Darstellung und Verwendung von Variablen

1. Variablendarstellung

#I(I=1,2,3,…) oder #[]
Beispiel: #5, #109, #501, #[#1 plus #2-12]

Zweitens die Verwendung von Variablen

1. Geben Sie die Variablennummer oder Formel nach dem Adresswort an
Format:

#I
Hier steht „I“ für variable Zahl
Beispiel: F#103, wenn #103=15, dann ist es F15
Z-#110, wenn #110=250, ist es Z-250
X[#24 plus #18*COS[#1]]

2. Die Variablennummer kann durch Variable ersetzt werden
Beispiel: #[#30], wenn #30=3, ist es #3

3. Variablen können die Adressen O, N, I nicht verwenden
Beispiel: Die folgenden Methoden sind zulässig
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4. Die der Variablennummer entsprechende Variable hat für jede Adresse einen bestimmten Wertebereich
Beispiel: Bei #30=1100 ist M#30 nicht zulässig

5. #0 ist eine leere Variable, und eine Variable ohne definierten Variablenwert ist ebenfalls eine leere Variable

6. Variablenwertdefinition:
Der Dezimalpunkt kann bei der Programmdefinition weggelassen werden, zum Beispiel: #123=149


02
Art der Variablen

Fügen Sie Bilder zu WeChat hinzu: mvm9987 sendet ein CNC-Tutorial

1. Lokale Variablen #1~#33

Eine Variable, die lokal in einem Makroprogramm verwendet wird. Ihr Operationsergebnis kann nicht von anderen Programmen verwendet werden.
Beispiel: Ein Makroprogramm B Makroprogramm
...
#10=20 X#10 bedeutet nicht X20
...
Es wird nach dem Ausschalten gelöscht und der Variablenwert wird beim Aufruf des Makroprogramms ausgefüllt

2. Öffentliche Variablen #100~#199, #500~#999

Die gemeinsame Variable in jedem Benutzermakroprogramm hat bei jedem Programmaufruf das gleiche Operationsergebnis.
Beispiel: Wenn #10 im obigen Beispiel in #100 geändert wird, wird die
X#100 bedeutet X20
#100~#149 Nach dem Ausschalten leer
#500~#531 Persistente Variablen (verloren nach dem Ausschalten nicht)

3. Systemvariablen

Variable mit festem Zweck, deren Wert vom Zustand des Systems abhängt
Beispiel: #2001 ist der X-Achsen-Kompensationswert der Werkzeugkompensation Nr. 1
Der Wert #5221 ist der X-Achsen-G54-Werkstück-Ursprungsversatzwert
Bei der Eingabe muss ein Dezimalpunkt eingegeben werden, bei Weglassen des Dezimalpunkts ist die Einheit μm


03
Bedienungsanleitung

Die rechte Seite des Ausdrucks kann Konstanten, Variablen, Funktionen und Ausdrücke sein
In der Formel können #j und #k auch Konstanten sein
Die rechte Seite des Ausdrucks ist die variable Zahl, der Ausdruck


4. Funktion

Bild

1) Winkel werden in Grad angegeben
Beispiel: 90 Grad und 30 Minuten sind 90,5 Grad

2) Die beiden Seitenlängen nach der ATAN-Funktion sollten durch „/“ getrennt werden.
Beispiel: #{{0}}ATAN[1]/[-1], #1 ist 35,0

3) ROUND wird für die Adresse in der Anweisung verwendet und entsprechend der minimalen Einstellungseinheit jeder Adresse aufgerundet
Beispiel: Stellen Sie #1=1.2345, #2=2.3456 ein, die Einstelleinheit ist 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plus #2]; X3.580
wird nicht zurückgegeben und sollte durch ersetzt werden
X[ROUND[#1] plus ROUND[#2]];

4) Wenn der absolute Wert nach dem Runden größer als der ursprüngliche Wert ist, wird er aufgerundet, andernfalls wird er abgerundet
Beispiel: Wenn #1=1.2, #2=-1.2
Wenn #{{0}}FUP[#1], dann #3=2.0
Wenn #{{0}}FIX[#1], dann #3=1.0
Wenn #{{0}}FUP[#2], dann #3=-2.0
Wenn #{{0}}FIX[#2], dann #3=-1.0

5) Beim Befehlen einer Funktion können nur die ersten beiden Buchstaben geschrieben werden
Beispiel: RUND→RO
FIX→FI

6) Priorität
Funktion → Multiplikation und Division (*, 1, AND) → Addition und Subtraktion ( plus , -, OR, XOR)
Beispiel: #1=#2 plus #3*SIN[#4];

7) Die Klammern sind bis zu fünfmal eckige Klammern und werden für Kommentaranweisungen verwendet
Beispiel: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 Gewichte)


04
Branch-and-Loop-Anweisungen

1. Bedingungslose Übertragung

Format: GOTO n;

Verzweige unbedingt zu Block n
n: Blocknummer (1-99999)
n kann auch durch Variablen oder Ausdrücke ersetzt werden
gehe zu 10;
GOTO #10;

2. Bedingte Übertragung

WENN [] GOTO n;
Wenn dieerfüllt ist, wird die nächste Operation zum Block mit der Blocknummer n übertragen.
Wenn Sie nicht zufrieden sind, führen Sie den nächsten Block aus.

WENN [] DANN ... ;
Wenn dieerfüllt ist, wird die Makroprogrammanweisung nach THEN ausgeführt und es wird nur eine Anweisung ausgeführt.
IF[#1EQ #2] THEN #3=0;

Bedingter Ausdruck:
Bild
#j und #k können auch durch ersetzt werden

Beispiel: IF[#1 GT 10] GOTO 100;

N100 G00 G91 X10;
Beispiel: Ermitteln Sie die Summe von 1 bis 10
O9500;
#1=0
#2=1
N1 WENN [#2 GT10] GOTO 2
#1=#1 plus #2;
#2=#2 plus 1;
GEHE 1
N2 M30

3. Zyklus

Format: WHILE[]DO m; (m=1, 2, 3)



ENDEm

1. Wenn die Bedingungen erfüllt sind, führen Sie DOm bis ENDm und dann vom Programmsegment von DOm aus aus
Wenn es nicht erfüllt ist, führen Sie den Programmabschnitt nach ENDm aus
2. Wenn Sie die WHILE-Anweisung weglassen und nur DOm...ENDm haben, wird eine Endlosschleife von DOm bis ENDm gebildet
3. Verschachtelung
4. EQ NE, leer und „0“ sind unterschiedlich
An anderer Stelle ist null dasselbe wie „0“

Beispiel: Ermitteln Sie die Summe von 1 bis 10
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 plus #2;
#2=#2 plus #1;
ENDE1;
M30;

 

Anfrage senden

whatsapp

skype

E-Mail

Anfrage