May 15, 2023 Læg en besked

Makroprogram ubrugeligt? Det er fordi du ikke kan gøre op!

 

Mange CNC-teknikere forstår ikke makroprogrammer. De tror, ​​at med automatisk programmeringssoftware er der ingen grund til at lære makroprogrammer. Faktisk er funktionerne i makroprogrammer meget kraftfulde. For at skrive nogle batch- og gentagne programmer behøver du for eksempel kun at ændre nogle få data, når du bruger makroprogrammer. Der er ikke behov for et stort antal gentagne programmeringer, hvilket i høj grad kan forenkle driften og i høj grad forbedre arbejdseffektiviteten.

Makroprogrammer kan bruge variabler til at udføre blandede operationer af aritmetiske operationer, logiske operationer og funktioner og også levere loop-sætninger, grensætninger og subrutineopkaldssætninger.

Generelt set: makroprogram er velegnet til programmering af en række dele med samme grafik, men med forskellige størrelser; den er velegnet til programmering af en række dele med samme procesvej, men med forskellige positionsparametre; den er velegnet til programmering af parabler, ellipser, hyperbler og andre kurver uden interpolationsinstruktioner.


01
Repræsentation og brug af variable

1. Variabel repræsentation

#I(I=1,2,3,...) eller #[]
Eksempel: #5, #109, #501, #[#1 plus #2–12]

For det andet brugen af ​​variabler

1. Angiv variabelnummeret eller formlen efter adresseordet
Format:

#I
Her står "I" for variabelt tal
Eksempel: F#103, hvis #103=15, så er det F15
Z-#110, hvis #110=250, er det Z-250
X[#24 plus #18*COS[#1]]

2. Variabelnummeret kan erstattes af variabel
Eksempel: #[#30], hvis #30=3, vil det være #3

3. Variabler kan ikke bruge adresser O, N, I
Eksempel: Følgende metoder er tilladt
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4. Variablen svarende til variabelnummeret har et specifikt værdiområde for hver adresse
Eksempel: når #30=1100, er M#30 ikke tilladt

5. #0 er en tom variabel, og en variabel uden en defineret variabelværdi er også en tom variabel

6. Variabel værdidefinition:
Decimaltegnet kan udelades, når programmet er defineret, for eksempel: #123=149


02
type variabel

Tilføj billeder til WeChat: mvm9987 sender en CNC-vejledning

1. Lokale variabler #1~#33

En variabel, der bruges lokalt i et makroprogram, dens driftsresultat kan ikke bruges af andre programmer.
Eksempel: Et makroprogram B makroprogram
...
#10=20 X#10 betyder ikke X20
...
Den slettes efter strømmen er slukket, og variabelværdien vil blive udfyldt, når makroprogrammet kaldes

2. Offentlige variabler #100~#199, #500~#999

Den fælles variabel i hvert brugermakroprogram har det samme operationsresultat i ethvert programkald.
Eksempel: Når #10 i ovenstående eksempel ændres til #100, vil
X#100 betyder X20
#100~#149 Tom efter strømmen er slukket
#500~#531 Vedvarende variabler (ikke tabt efter sluk)

3. Systemvariable

Variabel med fast formål, hvis værdi afhænger af systemets tilstand
Eksempel: #2001 er X-aksekompensationsværdien for nr. 1 værktøjskompensation
#5221 værdi er X-akse G54 emnets oprindelse offset værdi
Et decimaltegn skal indtastes ved indtastning, og enheden er μm, når decimaltegnet er udeladt


03
Driftsinstruktion

Højre side af udtrykket kan være konstanter, variabler, funktioner, udtryk
I formlen kan #j og #k også være konstanter
Højre side af udtrykket er variabeltallet, udtrykket

1. Definition

#I=#j

2. Aritmetiske operationer

#I=#j plus #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. Logiske operationer

#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k

4. Funktion

billede

#I=SIN[#j] sinus
#I=COS[#j] cosinus
#I=TAN[#j] tangens
#I=ATAN[#j] buetangens
#I=SQRT[#j] kvadratrod
#I=ABS[#j] absolut værdi
#I=ROUND[#j] Afrunding
#I=RET[#j] runder op
#I=FUP[#j] Runder ned
#I=BIN[#j] BCD→BIN (binær)
#I=BCN[#j] BIN→BCD

1) Vinkler er i grader
Eksempel: 90 grader og 30 minutter er 90,5 grader

2) De to sidelængder efter ATAN-funktionen skal adskilles med "/"
Eksempel: #{{0}}ATAN[1]/[-1], #1 er 35.0

3) ROUND bruges til adressen i erklæringen, rundet op i henhold til minimumsindstillingsenheden for hver adresse
Eksempel: Indstil #1=1.2345, #2=2.3456, indstillingsenheden er 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plus #2]; X3.580
returneres ikke og bør erstattes af
X[ROUND[#1] plus RUND[#2]];

4) Hvis den absolutte værdi efter afrunding er større end den oprindelige værdi, vil den blive rundet op, ellers vil den blive rundet nedad
Eksempel: Når #1=1.2, #2=-1.2
Hvis #{{0}}FUP[#1], så #3=2.0
Hvis #{{0}}RET[#1], så #3=1.0
Hvis #{{0}}FUP[#2], så #3=-2.0
Hvis #{{0}}RET[#2], så #3=-1.0

5) Ved kommando af en funktion kan kun de to første bogstaver skrives
Eksempel: RUND→RO
FIX→FI

6) Prioritet
Funktion → multiplikation og division (*, 1, OG) → addition og subtraktion (plus , -, ELLER, XOR)
Eksempel: #1=#2 plus #3*SIN[#4];

7) Paranteserne er firkantede parenteser, op til 5 gange, og parenteserne bruges til kommentarudsagn
Eksempel: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 vægte)


04
Instruktioner for gren og sløjfe

1. Ubetinget overdragelse

Format: GOTO n;

Forgrener ubetinget til blok n
n: bloknummer (1-99999)
n kan også erstattes af variable eller udtryk
goto10;
GÅ TIL #10;

2. Betinget overførsel

HVIS [] Kom på;
Hviser opfyldt, vil den næste operation overføres til blokken med bloknummeret n.
Hvis du ikke er tilfreds, udfør den næste blok.

HVIS [] DEREFTER ... ;
Hviser opfyldt, udføres makroprogramsætningen efter THEN, og kun én sætning udføres.
HVIS[#1EQ #2] SÅ #3=0;

Betinget udtryk:
billede
#j og #k kan også erstattes af

Eksempel: HVIS[#1 GT 10] GÅ TIL 100;

N100 G00 G91 X10;
Eksempel: Find summen af ​​1 til 10
O9500;
#1=0
#2=1
N1 HVIS [#2 GT10] GÅ TIL 2
#1=#1 plus #2;
#2=#2 plus 1;
GÅ TIL 1
N2 M30

3. Cyklus

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



ENDm

1. Når betingelserne er opfyldt, udføres DOm til ENDm, derefter fra programsegmentet i DOm
Hvis den ikke er tilfreds, udføres programsegmentet efter ENDm
2. Hvis du udelader WHILE-sætningen og kun har DOm...ENDm, vil der blive dannet en uendelig løkke fra DOm til ENDm
3. indlejring
4. EQ NE, tom og "0" er forskellige
Andre steder er null det samme som "0"

Eksempel: Find summen af ​​1 til 10
O0001;
#1=0;
#2=1;
MENS [#2LE10] DO1;
#1=#1 plus #2;
#2=#2 plus #1;
END1;
M30;

 

 

Send forespørgsel

whatsapp

skype

E-mail

Undersøgelse