Kennis

Wie zegt dat macroprogramma's nutteloos zijn? Dat komt omdat je het niet kunt verzinnen!

Veel CNC-technici begrijpen tegenwoordig geen macroprogramma's. Ze zijn van mening dat het met automatische programmeersoftware niet nodig is om macroprogramma's te leren. In feite zijn de functies van macroprogramma's zeer krachtig. Bij het schrijven van batch- en repetitieve programma's vereist het gebruik van macroprogramma's bijvoorbeeld slechts het wijzigen van een paar datapunten, zonder de noodzaak van uitgebreide repetitieve programmering. Dit kan de werkzaamheden aanzienlijk vereenvoudigen en de werkefficiëntie verbeteren.
Macroprogramma's kunnen variabelen gebruiken voor rekenkundige bewerkingen, logische bewerkingen en gemengde bewerkingen van functies, en bieden ook lusinstructies, vertakkingsinstructies en subroutineaanroepinstructies.
Over het algemeen zijn macroprogramma's geschikt voor het programmeren van series onderdelen met dezelfde grafische weergave maar verschillende afmetingen; Geschikt voor het programmeren van serieonderdelen met hetzelfde procespad maar verschillende positionele parameters; Geschikt voor curveprogrammering zonder interpolatie-instructies zoals parabolen, ellipsen, hyperbolen, enz.
1.
Representatie en gebruik van variabelen
1, Variabele representatie
#I (I=1,2,3,...) of # []
Voorbeeld: # 5, # 109, # 501, # [# 1+# 2-12]
2, Het gebruik van variabelen
1. Geef een variabel getal of formule op na het adreswoord
Formaat:

# I
De "I" vertegenwoordigt hier het variabelenummer
Voorbeeld: F # 103, als # 103=15, is het F15
Z - # 110, aangenomen dat # 110=250, het is Z-250
X [# 24+# 18 * COS [# 1]]
2. Variabele getallen kunnen worden vervangen door variabelen
Voorbeeld: # [# 30], als # 30=3, is het # 3
3. Variabelen kunnen geen adressen O, N, I gebruiken
Voorbeeld: Onder de volgende methoden is dit toegestaan
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. De variabele die overeenkomt met het variabelenummer heeft een specifiek numeriek bereik voor elk adres
Voorbeeld: Wanneer # 30=1100, dan is M # 30 niet toegestaan
5. # 0 is een lege variabele, en variabelen zonder gedefinieerde variabelewaarden zijn ook lege variabelen
6. Definitie van variabele waarden:
Decimale punten kunnen worden weggelaten bij het definiëren van het programma, bijvoorbeeld: # 123=149
2.
Soorten variabelen

1697180776294780.jpg

1. Lokale variabelen # 1~# 33
Een variabele die lokaal in een macroprogramma wordt gebruikt en waarvan het werkingsresultaat niet door andere programma's kan worden gebruikt.
Voorbeeld: A Macroprogramma B Macroprogramma
#10=20 X # 10 vertegenwoordigt niet X20
Wissen na stroomuitval, voer variabelewaarden in bij het oproepen van macroprogramma's
2. Gemeenschappelijke variabelen # 100~# 199, # 500~# 999
De gemeenschappelijke variabelen binnen het macroprogramma van elke gebruiker hebben hetzelfde werkingsresultaat als elke programma-aanroep.
Voorbeeld: In het vorige voorbeeld, toen # 10 werd gewijzigd in # 100, werd de B-macroprogramma
X # 100 vertegenwoordigt X20
#Clear na stroomuitval van 100~# 149
#500~# 531 Variabele vasthoudtype (niet verloren na stroomuitval)
3. Systeemvariabelen
Een variabele met een vast doel waarvan de waarde afhangt van de status van het systeem
Voorbeeld: # 2001-waarde is de X-as-compensatiewaarde voor gereedschap 1-compensatie
#De 5221-waarde is de X-as G54-offsetwaarde van het werkstuk
Bij het invoeren moet een decimaalpunt worden ingevoerd. Als de komma wordt weggelaten, is de eenheid μM
drie
Rekenkundige instructie
Rechts van een uitdrukking kunnen constanten, variabelen, functies en formules staan
In de formule kunnen # j en # k ook constanten zijn
Aan de rechterkant van de vergelijking staan ​​het variabelenummer en de uitdrukking
1, Definitie
#I=# j
2, rekenkundige bewerking
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, Logische bediening
#I=# JOK # k
#I=# JXOK # k
#I=# JAND # k
4, Functie

1697180846458234.jpg

#I=ZONDE [# j] sinus
#I=COS [# j] cosinus
#I=TAN [# j] tangens
#I=ATAN [# j] boogtangens
#I=SQRT [# j] vierkantswortel
#I=Absolute waarde van ABS [# j]
#I=ROND [# j] Rond af naar het dichtstbijzijnde gehele getal
#Ronde I=FIX [# j]
#Ronde I=FUP [# j]
#I=BIN [# j] BCD → BIN (binair)
#I=BCN [# j] BIN → BCD
1) Hoek in graden
Voorbeeld: 90 graden en 30 minuten zijn gelijk aan 90,5 graden
2) De twee zijlengtes na de ATAN-functie moeten worden gescheiden door "/"
Voorbeeld: Wanneer # {{0}}ATAN [1]/[-1], is # 1 35,0
3) RONDE wordt gebruikt voor adressen in afschriften, afgerond op de kleinste vaste eenheid van elk adres
Voorbeeld: Stel # 1=1.2345, # 2=2.3456 in en stel de eenheid in op 1 μM
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Niet teruggestuurd naar de oorspronkelijke locatie, moet worden gewijzigd in
X [RONDE [# 1]+RONDE [# 2]];
4) Indien de absolute waarde na afronding groter is dan de oorspronkelijke waarde, wordt deze naar boven afgerond; anders wordt het naar beneden afgerond
Voorbeeld: Wanneer # 1=1.2, # 2=-1.2
Als # {{0}}FUP [# 1], dan # 3=2.0
Als # {{0}}FIX [# 1], dan # 3=1.0
Als # {{0}}FUP [# 2], dan # 3=-2.0
Als # {{0}}FIX [# 2], dan # 3=-1.0
5) Bij het instrueren van een functie kunnen alleen de eerste twee letters worden geschreven
Voorbeeld: RONDE → RO
FIX → FI
6) Prioriteit
Functie → Vermenigvuldigen en delen (*, 1, AND) → Optellen en aftrekken (+, -, OR, XOR)
Voorbeeld: # 1=# 2+# 3 * ZONDE [# 4];
7) Haakjes zijn vierkante haakjes, maximaal 5 keer, die worden gebruikt voor het becommentariëren van uitspraken
Voorbeeld: # 1=ZONDE [[[# 2+# 3] * # 4+# 5] * # 6]; (Verdrievoudigen)
vier
Overdracht- en lusinstructies
1. Onvoorwaardelijke overdracht
Formaat: GOTO n;
Onvoorwaardelijk overgaan naar programmasegment n
n: Programmasegmentnummer (1-99999)
N kan ook worden vervangen door variabelen of uitdrukkingen
GOTO10;
GA NAAR # 10;
2. Voorwaardelijke overdracht
ALS [] GOTO n;
Als deis voldaan, is de volgende stap het overschakelen naar het programmasegment met segmentnummer n.
Als u niet tevreden bent, voert u het volgende programmasegment uit.
ALS [] DE;
Als dewordt voldaan, voert u na THEN slechts één macroprogramma-instructie uit.
ALS [# 1EQ # 2] DE # 3=0;
Voorwaardelijke formule:

1697180896472742.png

#J en # k kunnen ook worden vervangen door
Voorbeeld: IF [# 1 GT 10] GOTO 100;
N100 G00 G91 X10;
Voorbeeld: het vinden van de som van 1 tot 10
O9500;
#1=0
#2=1
N1 ALS [# 2 GT10] GA NAAR 2
#1=# 1+# 2;
#2=# 2+1;
GA 1
N2 M30
3. Cyclus
Formaat: TERWIJL [] DO m; (m=1, 2, 3)
EINDm
Wanneer aan de voorwaarden is voldaan, voert u het programma uit van DOm naar ENDm en vervolgens vanuit het programmasegment van DOm
Als u niet tevreden bent, voert u het programmasegment na ENDm uit
Als de WHILE-instructie wordt weggelaten en alleen DOm... ENDm aanwezig is, wordt er een dode lus gevormd tussen DOm en ENDm
3. Nesten
Wanneer EQ NE aanwezig is, zijn de nul en "0" verschillend
Onder andere omstandigheden zijn null en "0" hetzelfde
Voorbeeld: het vinden van de som van 1 tot 10
O0001;
#1=0;
#2=1;
TERWIJL [# 2LE10] DO1;
#1=# 1+# 2;
#2=# 2+# 1;
EINDE1;
M30;

 

Misschien vind je dit ook leuk

Aanvraag sturen