Jan 13, 2023 Deixe um recado

Deve ter conhecimento de programação de macro

 

Hoje em dia, muitos técnicos de CNC não entendem de macroprogramas. Eles acham que, com o software de programação automática, não precisam 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 realizar 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]

2. 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 uma 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 possui uma faixa de valores 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 do valor da variável:
A vírgula pode ser omitida na hora de definir o programa, por exemplo: #123=149

02
tipo de variável

Adicione fotos ao WeChat: yuki7557 enviará um tutorial de programa de macro

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 propósito fixo 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ções

#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.
Adicionar WeChat: yuki7557 para enviar um tutorial de programa de macro
SE [] ENTÃO ... ;
Se ofor 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:

#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 estiver satisfeito, execute o segmento de programa seguindo 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