May 15, 2023 Deixe um recado

Programa de macro inútil? Isso é porque você não pode fazer as pazes!

 

Muitos técnicos de CNC não entendem os programas de macro. Eles acham que com software de programação automática, não há necessidade de aprender programas de macro. Na verdade, as funções dos programas de macro são muito poderosas. Por exemplo, para escrever alguns programas em lote e repetitivos, você só precisa alterar alguns dados ao usar programas de macro. Não há necessidade de um grande número de programações repetidas, o que pode simplificar muito as operações e melhorar muito a eficiência do trabalho.

Os programas de macro podem usar variáveis ​​para executar operações mistas de operações aritméticas, operações e funções lógicas e também fornecer instruções de loop, instruções de ramificação e instruções de chamada de sub-rotina.

De modo geral: o programa macro é adequado para a programação de uma série de peças com o mesmo gráfico, mas com tamanhos diferentes; é adequado para a programação de uma série de peças com o mesmo percurso de processo, mas com diferentes parâmetros de posição; é adequado para a programação de parábolas, elipses, hipérboles e outras curvas sem instruções de interpolação.


01
Representação e uso de variáveis

1. Representação variável

#I(I=1,2,3,…) ou #[]
Exemplo: #5, #109, #501, #[#1 mais #2-12]

Em segundo lugar, o uso de variáveis

1. Especifique o número da variável ou fórmula após a palavra de endereço
Formatar:

#I
Aqui "I" significa número variável
Exemplo: F#103, se #103=15, então é F15
Z-#110, se #110=250, é Z-250
X[#24 mais #18*COS[#1]]

2. O número da variável pode ser substituído por variável
Exemplo: #[#30], se #30=3, será #3

3. Variáveis ​​não podem usar endereços O, N, I
Exemplo: Os seguintes métodos são permitidos
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4. A variável correspondente ao número da variável tem uma faixa de valor específica para cada endereço
Exemplo: quando #30=1100, M#30 não é permitido

5. #0 é uma variável vazia e uma variável sem um valor de variável definido também é uma variável vazia

6. Definição de valor variável:
A vírgula pode ser omitida na hora de definir o programa, por exemplo: #123=149


02
tipo de variável

Adicionar fotos ao WeChat: mvm9987 enviará um tutorial de CNC

1. Variáveis ​​locais #1~#33

Variável utilizada localmente em um programa de macro, o resultado de sua operação não pode ser utilizado por outros programas.
Exemplo: Um programa de macro B programa de macro
...
#10=20 X#10 não significa X20
...
Ele será apagado após o desligamento e o valor da variável será preenchido quando o programa de macro for chamado

2. Variáveis ​​públicas #100~#199, #500~#999

A variável comum em cada programa de macro do usuário tem o mesmo resultado de operação em qualquer chamada de programa.
Exemplo: Quando #10 no exemplo acima é alterado para #100, o
X#100 significa X20
#100~#149 Vazio após desligar
#500~#531 Variáveis ​​persistentes (não perdidas após o desligamento)

3. Variáveis ​​do sistema

Variável de finalidade fixa cujo valor depende do estado do sistema
Exemplo: #2001 é o valor de compensação do eixo X da compensação de ferramenta nº 1
O valor #5221 é o valor de deslocamento da origem da peça G54 do eixo X
Um ponto decimal deve ser inserido ao inserir, e a unidade é μm quando o ponto decimal é omitido


03
Instrução de Operação

O lado direito da expressão pode ser constantes, variáveis, funções, expressões
Na fórmula, #j e #k também podem ser constantes
O lado direito da expressão é o número da variável, a expressão

1. Definição

#I=#j

2. Operações aritméticas

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

3. Operações lógicas

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

4. Função

foto

#I=SENO[#j] seno
#I=COS[#j] cosseno
#I=TAN[#j] tangente
#I=ATAN[#j] arco tangente
#I=RAIZ QUADRADO[#j]
#I=ABS[#j] valor absoluto
#I=ARREDONDA[#j] Arredondamento
#I=FIX[#j] arredondar para cima
#I=FUP[#j] Arredondar para baixo
#I=BIN[#j] BCD→BIN (binário)
#I=BCN[#j] BIN→BCD

1) Os ângulos estão em graus
Exemplo: 90 graus e 30 minutos são 90,5 graus

2) Os dois comprimentos laterais após a função ATAN devem ser separados por "/"
Exemplo: #{{0}}ATAN[1]/[-1], #1 é 35,0

3) ARREDO é usado para o endereço no extrato, arredondado para cima de acordo com a unidade mínima de configuração de cada endereço
Exemplo: Definir #1=1.2345, #2=2.3456, a unidade de configuração é 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 mais #2]; X3.580
não é devolvido e deve ser substituído por
X[ROUND[#1] mais ROUND[#2]];

4) Se o valor absoluto após o arredondamento for maior que o valor original, será arredondado para cima, caso contrário será arredondado para baixo
Exemplo: Quando #1=1.2, #2=-1.2
Se #{{0}}FUP[#1], então #3=2.0
Se #{{0}}FIX[#1], então #3=1.0
Se #{{0}}FUP[#2], então #3=-2.0
Se #{{0}}FIX[#2], então #3=-1.0

5) Ao comandar uma função, apenas as duas primeiras letras podem ser escritas
Exemplo: ROUND→RO
FIX→FI

6) Prioridade
Função → multiplicação e divisão (*, 1, AND) → adição e subtração ( mais , -, OR, XOR)
Exemplo: #1=#2 mais #3*SIN[#4];

7) Os colchetes são colchetes, até 5 vezes, e os colchetes são usados ​​para declarações de comentários
Exemplo: #1=SIN[[[#2 mais #3]*#4 mais #5]*#6]; (3 pesos)


04
Instruções de Ramificação e Loop

1. Transferência Incondicional

Formato: GOTO n;

Desvia incondicionalmente para o bloco n
n: número do bloco (1-99999)
n também pode ser substituído por variáveis ​​ou expressões
ir para10;
IR PARA #10;

2. Transferência condicional

SE [] GOTO n;
Se ofor satisfeito, a próxima operação será transferida para o bloco com o número do bloco n.
Se não estiver satisfeito, execute o próximo bloco.

SE [] ENTÃO ... ;
Se oé satisfeita, a instrução do programa macro após THEN é executada e apenas uma instrução é executada.
SE[#1EQ #2] ENTÃO #3=0;

Expressão condicional:
foto
#j e #k também podem ser substituídos por

Exemplo: SE[#1 GT 10] GOTO 100;

N100 G00 G91 X10;
Exemplo: Encontrar a soma de 1 a 10
O9500;
#1=0
#2=1
N1 SE [#2 GT10] IR PARA 2
#1=#1 mais #2;
#2=#2 mais 1;
IR PARA 1
N2 M30

3. Ciclo

Formato: ENQUANTO[]DOm; (m=1, 2, 3)



ENDm

1. Quando as condições forem atendidas, execute DOm para ENDm e, em seguida, a partir do segmento de programa de DOm
Se não for satisfeito, execute o segmento de programa após ENDm
2. Se você omitir a instrução WHILE e tiver apenas DOm...ENDm, um loop infinito será formado de DOm para ENDm
3. nidificação
4. EQ NE, vazio e "0" são diferentes
Em outros lugares, nulo é o mesmo que "0"

Exemplo: Encontrar a soma de 1 a 10
O0001;
#1=0;
#2=1;
ENQUANTO [#2LE10] DO1;
#1=#1 mais #2;
#2=#2 mais #1;
FIM1;
M30;

 

 

Enviar inquérito

whatsapp

skype

Email

Inquérito