Category: AXIS
Regarding the error “Unknown M code used: M130”:
I followed the official LinuxCNC documentation/tutorial for configuring user M-codes.
The INI file was configured according to the manual, including the correct use of [RS274NGC] USER_M_PATH, and the M130 file is executable.
Despite this, LinuxCNC still reports:
file .INI
[EMC]
MACHINE = eng-eth
DEBUG = 0
VERSION = 1.1
[DISPLAY]
DISPLAY = axis
EDITOR = geany
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1
DEFAULT_LINEAR_VELOCITY = 10.0
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 42.0
DEFAULT_ANGULAR_VELOCITY = 15.00
MIN_ANGULAR_VELOCITY = 0
VELOCIDADE_ANGULAR_MÁXIMA = 100.0
PREFIXO_DO_PROGRAMA = /home/cnc/Área de trabalho/
GRÁFICO_DE_INTRODUÇÃO = linuxcnc.gif
TEMPO_DE_INTRODUÇÃO = 5
INCREMENTOS = .1mm .05mm
PYVCP = Probe_panel.xml
[KINS]
JUNTAS = 3
CINEMÁTICA = trivkins coordenadas=XYZ
[FILTRO]
EXTENSÃO_DO_PROGRAMA = .txt,.png,.gif,.jpg Imagem de Profundidade em Tons de Cinza
EXTENSÃO_DO_PROGRAMA = .py Script Python
png = imagem-para-gcode
gif = imagem-para-gcode
jpg = imagem-para-gcode
py = python
[TAREFA]
TAREFA = milltask
TEMPO_DE_CICLO = 0.010
[RS274NGC]
#REMAP=M6 grupo_modal=6 ngc=sonda # (ATIVAR SONDA)
ARQUIVO_DE_PARÂMETROS = linuxcnc.var
FEATURES = 12
SUBROUTINE_PATH = macros
ON_ABORT_COMMAND = O <on_abort> call
FEATURES = 12
RETAIN_G43 = 0
INI_VARS = 1
HAL_PIN_VARS = 1
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 0
SERVO_PERIOD = 600000
[HAL]
HALFILE = eng-eth.hal
HALUI = halui
TWOPASS = on
HALFILE = Probe_preload.hal
POSTGUI_HALFILE = Probe_postgui.hal
[HALUI]
MDI_COMMAND = G54
MDI_COMMAND = G55
MDI_COMMAND = G56
MDI_COMMAND = G57
MDI_COMMAND = G58
MDI_COMMAND = G59
MDI_COMMAND = G59.1
MDI_COMMAND = G59.2
MDI_COMMAND = G59.3
MDI_COMMAND = O <probe_toolchange> CALL [1]
MDI_COMMAND = O <probe_toolchange> CALL [2]
MDI_COMMAND = O <probe_toolchange> CALL [3]
MDI_COMMAND = O <probe_x_plus> CALL
MDI_COMMAND = O <probe_x_minus> CALL
MDI_COMMAND = O <probe_y_plus> CALL
MDI_COMMAND = O <probe_y_minus> CALL
MDI_COMMAND = O <probe_z_minus> CALL
MDI_COMMAND = O <probe_pocket> CALL
MDI_COMMAND = O <probe_operations> CALL [1]
MDI_COMMAND = O <probe_operations> CALL [2]
MDI_COMMAND = O <probe_operations> CALL [3]
MDI_COMMAND = O <probe_manual_set> CALL [0]
MDI_COMMAND = O <probe_manual_set> CALL [1]
MDI_COMMAND = O <probe_manual_set> CALL [2]
MDI_COMMAND = O <probe_manual_set> CALL [3]
MDI_COMMAND = O <probe_escape> CALL
MDI_COMMAND = O <probe_calibration> CALL
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_LINEAR_VELOCITY = 42.0
VELOCIDADE_LINEAR_MÁXIMA = 42,0
[EMCIO]
EMCIO = io
TEMPO_DE_CICLO = 0,100
TABELA_DE_FERRAMENTAS = tool.tbl
#*** EIXO_X *******************************
[EIXO_X]
LIMITE_MÍNIMO = -5000
LIMITE_MÁXIMO = 5000
VELOCIDADE_MÁXIMA = 42,0
ACELERAÇÃO_MÁXIMA = 350,0
[JUNTA_0]
TIPO = LINEAR
HOME = 0
VELOCIDADE_MÁXIMA = 42
ACELERAÇÃO_MÁXIMA = 350,0
ACELERAÇÃO_MÁXIMA_MÁXIMA = 5000
LIMITE_MÍNIMO = -5000
LIMITE_MÁXIMO = 5000
ESCALA = 400
ERRO_FERROR = 1,0
ERRO_FERROR_MÍNIMO = 0,25
DESLOCAMENTO_HOME = 0,0
VELOCIDADE_DE_BUSCA_HOME = 0
VELOCIDADE_DE_TRAVA_HOME = 0
HOME_SEQUENCE = 1
DEADBAND = 0.002
P = 220
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
PGAIN = 220
PID_MAXOUTPUT = 250
#*** EIXO Y *******************************
[AXIS_Y]
MIN_LIMIT = -5000
MAX_LIMIT = 5000
MAX_VELOCITY = 42.0
MAX_ACCELERATION = 350.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 42
MAX_ACCELERATION = 350.0
MAX_MAXACCEL = 5000
MIN_LIMIT = -5000
MAX_LIMIT = 5000
SCALE = 400
FERROR = 1.0
MIN_FERROR = 0.25
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 2
DEADBAND = 0.002
P = 220
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
PGAIN = 220
PID_MAXOUTPUT = 250
#*** EIXO Z *******************************
[AXIS_Z]
MIN_LIMIT = -5000
MAX_LIMIT = 5000
MAX_VELOCITY = 15
MAX_ACCELERATION = 150.0
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 15
ACELERAÇÃO_MÁXIMA = 150,0
ACELERAÇÃO_MÁXIMA_MÁXIMA = 5000
LIMITE_MÍNIMO = -5000
LIMITE_MÁXIMO = 5000 ESCALA
=
820,512
ERRO_FERROR = 1,0 ERRO_FERROR_MÍNIMO
= 0,25
DESLOCAMENTO_HOME
= 0,0 VELOCIDADE_DE_BUSCA_HOME = 0 VELOCIDADE_DE_TRAVAMENTO_HOME = 0 SEQUÊNCIA_HOME
= 0
BANDA MORTA = 0,002
P = 220
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
PGAIN = 220
PID_SAÍDA_MÁXIMA = 250
[SONDA]
# Defina até três números de ferramentas de sondas diferentes em sua tabela de ferramentas. Defina os números não utilizados como zero.
TOOL_NUMBER_1 = 99
TOOL_NUMBER_2 = 0
TOOL_NUMBER_3 = 0
# Curso máximo de segurança da sua sonda nas direções X/Y. O valor é fornecido pelo fabricante. Em caso de dúvida, defina para ~3 mm.
MAX_XY_DISTANCE = 3
# Distância que a sonda percorrerá após uma sondagem rápida. Valores recomendados entre 0,5 e 2 mm.
XY_CLEARANCE = 0,5
# Curso máximo de segurança da sua sonda na direção Z. O valor é fornecido pelo fabricante. Em caso de dúvida, defina para ~2 mm.
MAX_Z_DISTANCE = 2
# Distância que a sonda percorrerá após uma sondagem rápida. Valores recomendados entre 0,5 e 2 mm.
Z_CLEARANCE = 0,5
# Velocidade da sondagem rápida. Valores recomendados entre 50 e 500 mm por minuto.
# Observação: Todos os valores de velocidade definidos serão verificados. Os valores considerados são: ACELERAÇÃO_MÁXIMA (x, y e z), TEMPO_DE_DEBOUNCE e DISTÂNCIA_MÁXIMA_XY/Z.
VEL_RÁPIDA = 200
# Velocidade lenta da sonda. Este valor é importante para a precisão geral. Valores recomendados entre 10 e 50 mm por minuto.
VEL_LENTA = 20
# Velocidade rápida de avanço entre os movimentos da sonda de bolso sem sondagem real.
VEL_RÁPIDA = 2000
# Acionamentos adicionais da sonda levarão a uma melhor calibração. Valores entre 0 e 3 são recomendados.
ADICIONAR_ACIONAMENTOS_DA_SONDA = 2
# Atraso de tempo em ms para o debounce do interruptor da sonda. Tente manter o valor o mais baixo possível. Valores recomendados entre 2 e 20 ms.
TEMPO_DE_DEBOUNCE = 10
# Configure o interruptor da sua ferramenta de sonda. 0 = NA (normalmente aberto), 1 = NF (normalmente fechado)
# Observação: O LED de sinal da sonda deve mudar de verde para vermelho quando você tocar a ponta da sonda.
INTERRUPTOR_DA_SONDA = 0