May 15, 2023 Deixa un missatge

Programa de macro inútil? Això és perquè no et pots maquillar!

 

Molts tècnics de CNC no entenen els programes macro. Pensen que amb el programari de programació automàtica, no cal aprendre programes macro. De fet, les funcions dels programes macro són molt potents. Per exemple, per escriure alguns programes per lots i repetitius, només cal que canvieu algunes dades quan utilitzeu programes macro. No hi ha necessitat d'un gran nombre de programacions repetides, que poden simplificar molt les operacions i millorar molt l'eficiència del treball.

Els programes macro poden utilitzar variables per realitzar operacions mixtes d'operacions aritmètiques, operacions lògiques i funcions, i també proporcionen instruccions de bucle, instruccions de branca i sentències de trucada de subrutina.

En termes generals: el programa macro és adequat per a la programació d'una sèrie de peces amb els mateixos gràfics però amb diferents mides; és apte per a la programació d'una sèrie de peces amb el mateix recorregut del procés però amb diferents paràmetres de posició; és adequat per a la programació de paràboles, el·lipses, hipèrboles i altres corbes sense instruccions d'interpolació.


01
Representació i ús de variables

1. Representació variable

#I(I=1,2,3,...) o #[]
Exemple: #5, #109, #501, #[#1 més #2–12]

En segon lloc, l'ús de variables

1. Especifiqueu el número de variable o la fórmula després de la paraula d'adreça
Format:

#I
Aquí "I" significa nombre variable
Exemple: F#103, si #103=15, és F15
Z-#110, si #110=250, és Z-250
X[#24 més #18*COS[#1]]

2. El nombre de variable es pot substituir per variable
Exemple: #[#30], si #30=3, serà #3

3. Les variables no poden utilitzar les adreces O, N, I
Exemple: Es permeten els mètodes següents
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4. La variable corresponent al número de variable té un rang de valors específic per a cada adreça
Exemple: quan #30=1100, M#30 no està permès

5. #0 és una variable buida, i una variable sense un valor de variable definit també és una variable buida

6. Definició de valor variable:
El punt decimal es pot ometre quan es defineix el programa, per exemple: #123=149


02
tipus de variable

Afegiu imatges a WeChat: mvm9987 enviarà un tutorial CNC

1. Variables locals #1~#33

Una variable que s'utilitza localment en un programa de macro, el seu resultat d'operació no pot ser utilitzat per altres programes.
Exemple: un programa macro B programa macro
...
#10=20 X#10 no vol dir X20
...
S'esborrarà després d'apagar-se i el valor de la variable s'omplirà quan es cridi al programa macro

2. Variables públiques #100~#199, #500~#999

La variable comuna de cada programa macro d'usuari té el mateix resultat d'operació en qualsevol trucada de programa.
Exemple: quan el número 10 de l'exemple anterior es canvia per el número 100, el
X#100 significa X20
#100~#149 Buida després d'apagar-se
#500~#531 Variables persistents (no es perden després d'apagar-se)

3. Variables del sistema

Variable de propòsit fix el valor de la qual depèn de l'estat del sistema
Exemple: #2001 és el valor de compensació de l'eix X de la compensació de l'eina número 1
El valor #5221 és el valor de compensació de l'origen de la peça G54 de l'eix X
S'ha d'introduir un punt decimal en entrar i la unitat és μm quan s'omet el punt decimal


03
Instrucció de funcionament

El costat dret de l'expressió pot ser constants, variables, funcions, expressions
A la fórmula, #j i #k també poden ser constants
El costat dret de l'expressió és el nombre variable, l'expressió

1. Definició

#I=#j

2. Operacions aritmètiques

#I=#j més #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. Operacions lògiques

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

4. Funció

imatge

#I=SIN[#j] sine
#I=COS[#j] cosinus
#I=TAN[#j] tangent
#I=ATAN[#j] arc tangent
#I=SQRT[#j] arrel quadrada
#I=ABS[#j] valor absolut
#I=ROUND[#j] Arrodoniment
#I=FIX[#j] arrodoneix cap amunt
#I=FUP[#j] Arrodoneix cap avall
#I=BIN[#j] BCD→BIN (binari)
#I=BCN[#j] BIN→BCD

1) Els angles estan en graus
Exemple: 90 graus i 30 minuts són 90,5 graus

2) Les dues longituds laterals després de la funció ATAN s'han de separar per "/"
Exemple: #{{0}}ATAN[1]/[-1], #1 és 35,0

3) ROUND s'utilitza per a l'adreça de l'enunciat, arrodonit per augment segons la unitat de configuració mínima de cada adreça
Exemple: establiu #1=1.2345, #2=2.3456, la unitat de configuració és 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 més #2]; X3.580
no es retorna i s'ha de substituir per
X[ROUND[#1] més ROUND[#2]];

4) Si el valor absolut després de l'arrodoniment és més gran que el valor original, s'arrodonirà cap amunt, en cas contrari s'arrodonirà cap avall
Exemple: quan #1=1.2, #2=-1.2
Si #{{0}}FUP[#1], aleshores #3=2.0
Si #{{0}}FIX[#1], aleshores #3=1.0
Si #{{0}}FUP[#2], aleshores #3=-2.0
Si #{{0}}FIX[#2], aleshores #3=-1.0

5) Quan es comanda una funció, només es poden escriure les dues primeres lletres
Exemple: ROUND→RO
FIX → FI

6) Prioritat
Funció → multiplicació i divisió (*, 1, AND) → suma i resta ( més , -, OR, XOR)
Exemple: #1=#2 més #3*SIN[#4];

7) Els claudàtors són claudàtors, fins a 5 vegades, i els claudàtors s'utilitzen per a comentaris
Exemple: #1=SIN[[[#2 més #3]*#4 més #5]*#6]; (3 pesos)


04
Instruccions de branca i bucle

1. Transferència incondicional

Format: GOTO n;

Branca incondicionalment al bloc n
n: número de bloc (1-99999)
n també es pot substituir per variables o expressions
anar a 10;
GOTO #10;

2. Transferència condicional

SI [] GOTO n;
Si elestà satisfet, la següent operació es transferirà al bloc amb el número de bloc n.
Si no està satisfet, executeu el següent bloc.

SI [] LLAVORS...;
Si eles compleix, s'executa la instrucció del programa macro després de THEN i només s'executa una instrucció.
SI[#1EQ #2] LLAVORS #3=0;

Expressió condicional:
imatge
#j i #k també es poden substituir per

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

N100 G00 G91 X10;
Exemple: Trobeu la suma d'1 a 10
O9500;
#1=0
#2=1
N1 SI [#2 GT10] GOTO 2
#1=#1 més #2;
#2=#2 més 1;
ANAR 1
N2 M30

3. Cicle

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



ENDm

1. Quan es compleixin les condicions, executeu DOm a ENDm i després des del segment de programa de DOm
Si no està satisfet, executeu el segment del programa després de ENDm
2. Si ometeu la instrucció WHILE i només teniu DOm...ENDm, es formarà un bucle infinit de DOm a ENDm
3. nidificació
4. EQ NE, buit i "0" són diferents
En altres llocs, null és el mateix que "0"

Exemple: Trobeu la suma d'1 a 10
O0001;
#1=0;
#2=1;
MENTRE [#2LE10] DO1;
#1=#1 més #2;
#2=#2 més #1;
END1;
M30;

 

 

Enviar la consulta

whatsapp

skype

Correu electrònic

Investigació