Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой станок.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

По поводу моего поста #7 может еще какие нибудь мысли есть? :thinking: :)
Что необходимо: При нажатии на кнопку стоп- остановка и поднятие фрезы на определенную высоту.Другая кнопка(Домой по относительным координатам) сначала поднятие фрезы по Z опять же на определенную высоту, потом переезд Y X в ноль потом переезд Z в ноль.Ну и самое главное, чтобы фреза когда стоит в 0 при запуске с середины программы сначала поднималась Z на высоту, потом ехала по Y X к точке , потом опускание по Z и продолжение программы.Ну вот как то так.))
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение nkp »

можно попробовать через скрипт mdi команды подавать:

Код: Выделить всё

#!/usr/bin/python
# -*- coding: utf-8 -*-
import hal, linuxcnc , time
h = hal.component("rev")
h.newpin("stop", hal.HAL_BIT, hal.HAL_IN)
h.newpin("zero", hal.HAL_BIT, hal.HAL_IN)    
h.ready()
c = linuxcnc.command()
q = linuxcnc.stat()		   
def stop():
	c.abort()
	c.wait_complete()
	print 'ok-stop'
 	h["stop"]=0
 		
 	c.mode(linuxcnc.MODE_MDI)
	c.wait_complete()
	c.mdi("G0 Z10") 
def zero():
	c.mode(linuxcnc.MODE_MDI)
	c.wait_complete()
	c.mdi("G53 G0 X0 Y0")
	c.mdi("G0 Z0")
	c.wait_complete()
	h["zero"]=0	
try:
    while 1:	 
	if h["stop"]==1:
		stop()		
	if h["zero"]==1:
		zero()
#	time.sleep(.5)			
except KeyboardInterrupt:
    raise SystemExit
(для реверса пробовал ,поэтому rev)
команды конечно поставишь свои
попробовал - надо дорабатывать - не всегда уверено срабатывает (тут дело во времени нажатия кнопки)
в общем - пока как заготовка
Sherline3Axis!!.rar
(5.78 КБ) 359 скачиваний
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

И снова здравствуйте! После года использования Mach ( кстати- лицензия), после нескольких загубленных дорогих заготовок решил еще раз попробовать cnc. Установил 2.8.0-pre1-758. Настроил все, кроме концевиков, у меня на одном пине висят два концевика z и x. Подскажите как их настроить.Пытался писать в hal на x и z одинаковые пины, при запуске вываливается ошибка: пин уже используется.Если нужно вот мой конфиг.
Вложения
zexcnc.ini
(2.11 КБ) 1037 скачиваний
zexcnc.hal
(3.59 КБ) 1000 скачиваний
Последний раз редактировалось zaxar 09 июл 2015, 19:40, всего редактировалось 2 раза.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Nick »

Проще всего в stepconf настроить все концевики на 1 пин. Будет shared home + limits.

А так просто надо axis.0.home-sw и axis.2.home-sw привязать к одному сигналу.

В архиве пустой файл.
Скинь просто отдельные hal и ini.
И заодно текст ошибки добавь.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение NightV »

Nick писал(а):В архиве пустой файл.
да, размер архива 148 байт, как-то маловат :)
zaxar писал(а):у меня на одном пине висят два концевика z и x
погугли по словам HOME_IS_SHARED , в мануале тут
Всё просто! если знаешь КАК!
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

Файлы перезалил.Если хоум по всем осям, то мне надо перетыкать провода от концевиков на один пин? Не хотелось бы менять схему, т.к. есть еще комп с MAC3 и я на этом станке пока работаю на MACH.
Изначально конфиг вот такой (файлы залил), потом в hal добавляю строку net min-home-x <= parport.0.pin-13-in-not
И в с ini в [AXIS_0] дописываю
HOME_SEARCH_VEL = -20.000000
HOME_LATCH_VEL = 6.875000
HOME_IGNORE_LIMITS = YES
Запускаю программу- пишет-./zexcnc.hal:45: Pin parport.0.pin-13-in-not was already linked to signal min-home-z 4637
этот пин уже используется. Как победить? :thinking:
Вложения
zexcnc.ini
(2.11 КБ) 1020 скачиваний
zexcnc.hal
(3.59 КБ) 1011 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Nick »

zaxar писал(а):Изначально конфиг вот такой (файлы залил), потом в hal добавляю строку net min-home-x <= parport.0.pin-13-in-not
zaxar писал(а):Запускаю программу- пишет-./zexcnc.hal:45: Pin parport.0.pin-13-in-not was already linked to signal min-home-z 4637
Пины подключаются к сигналам. Сигнал как-бы связывает пины.
1 пин только к 1 сигналу.
У сигнала есть только один вход и может быть несколько выходов.

Тебе надо добавить только пин axis.2.home-sw к уже готовому сигналу min-home-z. А parport.0.pin-13-in-not не трогай.

Сейчас в картинках нарисую...
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

Два вечера читал :thinking: , перекидывал провода концевиков,ну и запутался совсем.Теперь я переделал схему- у меня x и y на одном пине.Пишу в hal
net min-home-y => axis.0.home-sw-in
net min-home-y => axis.0.neg-lim-sw-in
net min-home-y => axis.1.home-sw-in
net min-home-y => axis.1.neg-lim-sw-in
То есть я привязываю axis.1.home-sw-in и axis.0.home-sw-in к одному сигналу (net min-home-y) Правильно???
запускаю программу, жму все в начало, по z хоумится нормально,идет в x, доходит до датчика( он срабатывает) и останавливается- пишет-joint 1 on limit switch error
emc/task/taskintf.cc 617: Error on axis 1, command number 153
вот мой конфиг:
Вложения
zexcnc.hal
(3.59 КБ) 1030 скачиваний
zexcnc.ini
(2.24 КБ) 972 скачивания
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

UAVpilot писал(а):http://linuxcnc.org/docs/devel/html/con ... _is_shared
А я про это и забыл, ведь читал недавно. Вот нашел еще сдесь http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=150
А куда эту строку вставлять??? Ставил в ini и в [AXIS_0] и в [AXIS_1], все равно происходит тоже-самое joint 1 on limit switch error
zexcnc.ini
(2.29 КБ) 988 скачиваний
P.S. Все-таки поехал мой станок!!! :good: Но пришлось отключить на концевиках осей x и y минимальные лимиты, думаю не страшно- программные лимиты остались.
Вложения
мой-станок.hal
(3.55 КБ) 1047 скачиваний
мой-станок.ini
(2.23 КБ) 986 скачиваний
Последний раз редактировалось zaxar 12 июл 2015, 14:58, всего редактировалось 2 раза.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Serg »

А, там вроде надо всётаки наоборот:

Код: Выделить всё

HOME_IS_SHARED = NO
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

Я ставил и NO и по разному: в [AXIS_0] ставил NO а в [AXIS_1] ставил YES и наоборот. в общем все варианты пробовал- ошибка одна и таже.Ну да ладно-результат есть и это радует :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Nick »

Надо установить именно в YES - чтобы ось не захоумилась, когда датчик замкнут.
А чтобы лимиты игнорировались надо настраивать:
4.3.3.4 HOME_IGNORE_LIMITS
Может содержать значения YES или NO. Этот флаг определяет будет ли EMC2 игнорировать входы с концевых датчиков. Некторые станки не используют раздельные датчики home, вместо этого они используют один из концевых датчиков в качестве входа датчика home. В этом случае, EMC2 нужно игнорировать этот предел во премя процедуры homing. Значение по умолчанию NO.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Serg »

К #46, #49 и #51 приложен файл zexcnc.ini - там HOME_IGNORE_LIMITS есть! :wik:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Nick »

Да, но только для третьей оси...

Код: Выделить всё

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 1500.0
STEPGEN_MAXACCEL = 1875.0
SCALE = -72.7272727273
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 1570.0
HOME_OFFSET = -0.500000
HOME_SEARCH_VEL = -10.000000
HOME_LATCH_VEL = 6.875000
HOME_SEQUENCE = 1

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 1500.0
STEPGEN_MAXACCEL = 1875.0
SCALE = -72.7272727273
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 1930.0
HOME_OFFSET = -0.500000
HOME_SEARCH_VEL = -20.000000
HOME_LATCH_VEL = 6.875000
HOME_SEQUENCE = 2

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 28.5001824012
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = -640.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -160.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.500000
HOME_SEARCH_VEL = 5.000000
HOME_LATCH_VEL = -0.781250
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Serg »

Nick писал(а):Да, но только для третьей оси...
Да там в каждом из трёх вариантов по разному... :idiot:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

Nick писал(а):Да, но только для третьей оси...
Это когда уже станок поехал и отхоумился по всем осям.Но пришлось отключить на концевиках осей x и y минимальные лимиты.Nick посмотри файл
мой станок. hal, там я удалил строки
net min-home-y => axis.0.neg-lim-sw-in
net min-home-y => axis.1.neg-lim-sw-in вот тогда станок поехал и отхоумился.
А строки HOME_IGNORE_LIMITS для оси X и Y там быть и не должно, игнорировать -то нечего :hehehe:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение Nick »

Лучше оставь концевики и добавь HOME_IGNORE_LIMITS
Плюс, вот это:
HOME_OFFSET = -0.500000
HOME = 0.0
при дребезге контакта может давать случайное замыкание концевика, сделай это расстояние чуть по больше.
Аватара пользователя
zaxar
Кандидат
Сообщения: 49
Зарегистрирован: 28 ноя 2013, 14:16
Репутация: 3
Откуда: Липецкая обл.
Контактная информация:

Re: Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой ста

Сообщение zaxar »

ОК. Вечером попробую, станок дома, а я на работе. :)

Установил HOME_OFFSET = -1. Вот конфиг:
zexcnc.ini
(2.29 КБ) 998 скачиваний
zexcnc.hal
(3.63 КБ) 989 скачиваний
Жму кнопку "в начало" по z хоумится нормально, по x едет к концевику - концевик срабатывает(на нем загорается светодиод) и ошибка joint 1 on limit switch error
emc/task/taskintf.cc 617: Error on axis 1, command number 109 :wik:
Строку HOME_IS_SHARED = YES вставлял в ini в секции [AXIS_0] и [AXIS_1] в разных конфигурациях и
YES NO
NO YES
YES YES
NO NO ошибка одна и та-же :wik:
Ответить

Вернуться в «LinuxCNC»