Cunoştinţe

Cine spune că programele macro sunt inutile? Asta pentru că nu te poți inventa!

Mulți tehnicieni CNC din zilele noastre nu înțeleg programele macro. Ei cred că, cu software-ul de programare automată, nu este nevoie să învețe programe macro. De fapt, funcțiile programelor macro sunt foarte puternice. De exemplu, atunci când scrieți programe batch și repetitive, utilizarea programelor macro necesită doar modificarea câtorva puncte de date, fără a fi necesară o programare repetitivă extinsă. Acest lucru poate simplifica foarte mult operațiunile și poate îmbunătăți eficiența muncii.
Programele macro pot folosi variabile pentru operații aritmetice, operații logice și operații mixte de funcții și, de asemenea, oferă instrucțiuni bucle, instrucțiuni de ramificație și instrucțiuni de apel de subrutine.
În general, programele macro sunt potrivite pentru programarea unor serii de piese cu aceeași grafică, dar cu dimensiuni diferite; Potrivit pentru programarea pieselor în serie cu aceeași cale de proces, dar cu parametri de poziție diferiți; Potrivit pentru programarea curbelor fără instrucțiuni de interpolare, cum ar fi parabole, elipse, hiperbole etc.
1.
Reprezentarea și utilizarea variabilelor
1, reprezentare variabilă
#I (I=1,2,3,...) sau # []
Exemplu: # 5, # 109, # 501, # [# 1+# 2-12]
2, Utilizarea variabilelor
1. Specificați un număr variabil sau o formulă după cuvântul de adresă
Format:

# I
„I” aici reprezintă numărul variabil
Exemplu: F # 103, dacă # 103=15, este F15
Z - # 110, presupunând # 110=250, este Z-250
X [# 24+# 18 * COS [# 1]]
2. Numerele variabilelor pot fi înlocuite cu variabile
Exemplu: # [# 30], dacă # 30=3, este # 3
3. Variabilele nu pot folosi adresele O, N, I
Exemplu: În următoarele metode, este permis
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. Variabila corespunzătoare numărului variabilei are un interval numeric specific pentru fiecare adresă
Exemplu: Când # 30=1100, atunci M # 30 nu este permis
5. # 0 este o variabilă goală, iar variabilele fără valori ale variabilelor definite sunt, de asemenea, variabile goale
6. Definiția valorii variabilei:
Punctele zecimale pot fi omise la definirea programului, de exemplu: # 123=149
2.
Tipuri de variabile

1697180776294780.jpg

1. Variabile locale # 1~# 33
O variabilă care este utilizată local într-un program macro, iar rezultatul operațiunii sale nu poate fi utilizat de alte programe.
Exemplu: A Macro Program B Macro Program
#10=20 X # 10 nu reprezintă X20
Ștergeți după pană de curent, introduceți valori variabile atunci când apelați programe macro
2. Variabile comune # 100~# 199, # 500~# 999
Variabilele comune din cadrul programului macro al fiecărui utilizator au același rezultat al operațiunii ca orice apel de program.
Exemplu: În exemplul anterior, când # 10 a fost schimbat în # 100, programul macro B
X # 100 reprezintă X20
#Ștergeți după o întrerupere de curent de 100 ~ # 149
#500~# 531 Variabil de tip de păstrare (nu se pierde după pană de curent)
3. Variabile de sistem
O variabilă cu scop fix a cărei valoare depinde de starea sistemului
Exemplu: valoarea # 2001 este valoarea de compensare pe axa X pentru compensarea sculei 1
#Valoarea 5221 este valoarea offset-ului originii piesei de prelucrat G54 pe axa X
La introducere, trebuie introdus un punct zecimal. Dacă punctul zecimal este omis, unitatea este μ M
Trei
Instruire aritmetică
În dreapta unei expresii pot fi constante, variabile, funcții și formule
În formulă, # j și # k pot fi, de asemenea, constante
În partea dreaptă a ecuației sunt numărul variabil și expresia
1, Definiție
#I=# j
2, Operație aritmetică
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, operațiune logică
#I=# JOK # k
#I=# JXOK # k
#I=# JAND # k
4, Funcție

1697180846458234.jpg

#I=SIN [# j] sine
#I=COS [# j] cosinus
#I=TAN [# j] tangentă
#I=ATAN [# j] arctangent
#I=SQRT [# j] rădăcină pătrată
#I=Valoarea absolută a ABS [# j]
#I=ROUND [# j] Rotunjiți la cel mai apropiat număr întreg
#Runda I=REPARAȚI [# j]
#Runda I=FUP [# j]
#I=BIN [# j] BCD → BIN (binar)
#I=BCN [# j] BIN → BCD
1) Unghiul în grade
Exemplu: 90 de grade și 30 de minute sunt echivalente cu 90,5 grade
2) Cele două lungimi laterale după funcția ATAN trebuie separate prin „/”
Exemplu: când # {{0}}ATAN [1]/[-1], # 1 este 35,0
3) ROUND este folosit pentru adresele din instrucțiuni, rotunjite la cea mai mică unitate setată a fiecărei adrese
Exemplu: setați # 1=1.2345, # 2=2.3456 și setați unitatea 1 μ M
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Nu a revenit la locația inițială, trebuie schimbat în
X [ROUND [# 1]+ROUND [# 2]];
4) Dacă valoarea absolută după rotunjire este mai mare decât valoarea inițială, se rotunjește în sus; în caz contrar, se rotunjește în jos
Exemplu: când # 1=1.2, # 2=-1.2
Dacă # {{0}}FUP [# 1], atunci # {3=2.0
Dacă # {{0}}FIX [# 1], atunci # {3=1.0
Dacă # {{0}}FUP [# 2], atunci # {3=-2.0
Dacă # {{0}}FIX [# 2], atunci # 3=-1.0
5) Când instruiți o funcție, pot fi scrise doar primele două litere
Exemplu: ROUND → RO
FIX → FI
6) Prioritate
Funcție → Înmulțire și împărțire (*, 1, AND) → Adunare și scădere (+, -, SAU, XOR)
Exemplu: # 1=# 2+# 3 * SIN [# 4];
7) Parantezele sunt paranteze drepte, de până la 5 ori, folosite pentru comentarea afirmațiilor
Exemplu: # 1=SIN [[[# 2+# 3] * # 4+# 5] * # 6]; (Triplu)
patru
Instrucțiuni de transfer și buclă
1. Transfer necondiționat
Format: GOTO n;
Transfer necondiționat la segmentul de program n
n: numărul segmentului de program (1-99999)
N poate fi înlocuit și cu variabile sau expresii
GOTO10;
GOTO # 10;
2. Transfer condiționat
DACĂ [] GOTO n;
Dacăeste îndeplinită, următorul pas este transferul la segmentul de program cu numărul de segment n.
Dacă nu sunteți satisfăcut, executați următorul segment de program.
DACĂ [] THE;
Dacăeste îndeplinită, executați o singură instrucțiune de program macro după THEN.
DACĂ [# 1EQ # 2] THE # 3=0;
Formula condiționată:

1697180896472742.png

#J și #k pot fi, de asemenea, înlocuite cu
Exemplu: IF [# 1 GT 10] GOTO 100;
N100 G00 G91 X10;
Exemplu: Găsirea sumei de la 1 la 10
O9500;
#1=0
#2=1
N1 DACA [# 2 GT10] GOTO 2
#1=# 1+# 2;
#2=# 2+1;
GOTO 1
N2 M30
3. Ciclu
Format: WHILE [] DO m; (m=1, 2, 3)
ENDm
Când sunt îndeplinite condițiile, executați de la DOm la ENDm, apoi din segmentul de program al DOm
Când nu sunteți satisfăcut, executați segmentul de program după ENDm
Dacă instrucțiunea WHILE este omisă și este prezent doar DOm... ENDm, se formează o buclă moartă între DOm și ENDm
3. Cuibărire
Când EQ NE este prezent, valoarea nulă și „0” sunt diferite
În alte condiții, null și „{0}}” sunt aceleași
Exemplu: Găsirea sumei de la 1 la 10
O0001;
#1=0;
#2=1;
ÎN CÂT timp [# 2LE10] DO1;
#1=# 1+# 2;
#2=# 2+# 1;
END1;
M30;

 

S-ar putea sa-ti placa si

Trimite anchetă