May 04, 2024 Laat een bericht achter

CNC-macroprogrammaoproep

 

Er zijn vier typen CNC-macroprogramma's die subroutines aanroepen:

1, M98-oproep

2. G65-oproep

3. G66-oproep

4. Definieer G-opdrachtoproep

5. Definieer M-opdrachtoproep


2. Vandaag zal ik de G65-oproepsubroutine delen


Formaat: G65P-subroutinenaam adresnaam

Laten we eerst eens naar P kijken. In feite lijken de subroutineoproepen van G65 en M98 sterk op elkaar. P wordt gevolgd door de naam van de subroutine.

Als er bijvoorbeeld subroutine O1234 is, kan het hoofdprogramma, wanneer het wordt aangeroepen met G65, worden geschreven als G65 P1234 (de hoofdletter O is niet nodig)

Vervolgens is het tijd om te praten over de zeer kritische adresnaam.

Variabelen in macroprogramma's zijn onderverdeeld in drie categorieën (lokale variabelen, publieke variabelen, systeemvariabelen)

Onder hen zijn #1~#26 lokale variabelen. De corresponderende relatie tussen lokale variabelen en adresnamen A, B, C...Z is als volgt.

afbeelding
Om het bot te zeggen: de adresnaam is bedoeld om gegevens over te dragen naar de overeenkomstige variabele.

De letter A in de bovenstaande tabel komt bijvoorbeeld overeen met #1. Indien A10, komt dit overeen met het doorgeven van de gegevens 10 aan variabele #1. Op dit moment #1=10;

Op dezelfde manier: als B20, dan #2=20, als Z-26, dan #26=-26.

Dit is een beetje leeg, ik zal je een eenvoudig voorbeeld geven om je wat inspiratie te geven, zoals de volgende onderdelen

afbeelding
Frezen M20x1,5 buitendraad

Ik heb willekeurig verschillende lokale variabelen #1, #26, #7, #17 en #11 ingesteld van #1 tot #26 om het volgende weer te geven:

#1 (A) vertegenwoordigt het blanco formaat;

#26 (Z) vertegenwoordigt draaddiepte;

#7 (D) vertegenwoordigt de diameter van de draadfrees;

#17 (Q) vertegenwoordigt de initiële Z-waarde van het snijpunt

#11 (H) vertegenwoordigt toonhoogte

Procedure voor draadfrezen:
afbeelding
Neem het bovenstaande programma als subroutine en gebruik G65 om de subroutine als volgt aan te roepen:

afbeelding

Wanneer ik G65 gebruik om programmanummer O2222 op te roepen, worden de gegevens na de letters A, D, Z, Q en H doorgegeven aan de overeenkomstige variabelen.

op dit moment:
(#1) A staat voor het blanco formaat;

(#26) Z staat voor draaddiepte;

(#7) D vertegenwoordigt de diameter van de draadfrees;

(#17) Q vertegenwoordigt de initiële Z-waarde van het snijpunt

(#11) H staat voor toonhoogte

Als we een soortgelijk onderdeel verwerken, hoeven we alleen maar een hoofdprogramma te schrijven en een subroutine aan te roepen.

Bijvoorbeeld M33x2.0 buitendraad (frezen in twee snijgereedschappen)
afbeelding
afbeelding

De programma-oproep is als volgt:
afbeelding

Voorbeeld twee:

De cyclusprocedure voor het tellen van draaibanken voor diepe gaten is als volgt:

G65 P_K_B_ W_ C_ F_

illustreren:
P: vertegenwoordigt subroutinenummer
K; diepte
B: Uitstelbedrag
W: diepte van elke voeding
C: Eerste voerdiepte
F: Hoeveelheid voer

Bijvoorbeeld:
G65 P1 K-20. B0.3 W1.2 C0.8 F0.05

Onder hen is 1 het nummer van de subroutine en de diepte van het verwerkingsgat is 20. Elke keer dat de terugtrekking 0.3 is, elke keer dat de invoerdiepte 1,2 is, is de eerste invoerdiepte 0.8, en elke omwenteling voedt 0,05

De subroutine is als volgt: (Dit programma kan worden gekopieerd en opgeslagen in de machine)
O0001(Diepe Boor)
ALS [#5002LT0]GA NAAR 100
ALS[#6GE0]GA NAAR 70
G00W0.0
#4=#5002
#3=ABS[#3]
#2=ABS[#2]
ALS[#19EQ98]GA NAAR 1
#19=99
N1 G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DOEN 1
ALS[#27LE#3]GA NAAR 2
GA 3
N2 #27=#3
N3 ALS[#27GE#28]GA NAAR 4
G00 Z[#2-#29]
G1 Z-[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
EINDE 1
N4 G00 Z[#2-#29]
G1Z#6 F#9
G00Z#4
M99
N70 #3000=1(K MOET NEGATIEF ZIJN)
N100
ALS[#6LE#0] G0T0 170
G00W0.0
#4=#5002
#3=ABS[#3]
#2=-[#2]
ALS[#19EQ98]GA NAAR 1
#19=99
N1G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DOEN 1
ALS[#27LE#3]GA NAAR 2
GA 3
N2 #27=#3
N3 ALS[#27GE#28]GA NAAR 4
G00 Z[#2#29]
G1 Z[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
EINDE 1
N4 G00 Z[#2+#29]
G1Z#6 F#9
G00Z#4
M99
N170 #3000=1(K MOET POSITIEF ZIJN)


Wanneer we dit programma gebruiken, hoeven we alleen het subprogramma (bijvoorbeeld O0001) in het geheugen van de machine op te slaan. Als we later diepe gaten boren, hoeven we alleen G65 te gebruiken om het subprogramma op te roepen.

Om bijvoorbeeld een gat van 100 meter diep te boren, gaat de procedure als volgt:
%
O0003
T0101
S1000M03
G0X0.Z2.
G65 P1 K-100. B0.3 W5. C1. F0.05
M30
%

Aanvraag sturen

whatsapp

skype

E-mail

Onderzoek