Запуск шпинделя по M62

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Запуск шпинделя по M62

Сообщение Harconnen » 24 авг 2017, 16:04

Здравствуйте!
На этом форуме увидел тему, что если запускать шпиндель по командам M62 не будет микропаузы.
Там предлагалось в HAL прописать net spindle-on <= motion.digital-out-01 и запускать шпиндель командой - включать M62 P01, выключать M63 P01.
Помогите поправить HAL, у меня простой правкой не получилось. Может потому что у меня шпиндель включается только вместе с движением Осей? Командами шпинделя управляется 4 ось.

Помогите в HAL прописать замену M3, M4, M5
Вложения
4-axis.hal
(4.56 Кб) Скачиваний: 71
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение solo » 25 авг 2017, 16:01

а если попробовать команды для вкл М64 Р01 и для выкл. М65 Р01
Аватара пользователя
solo
Мастер
 
Сообщения: 1097
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 203
Настоящее имя: Юрий Соловьев

Re: Запуск шпинделя по M62

Сообщение Harconnen » 25 авг 2017, 16:29

solo писал(а):а если попробовать команды для вкл М64 Р01 и для выкл. М65 Р01

Я пробовал, но похоже в данном случае, все не так просто. В этом HAL как ни пытался сделать - не получается, знаний маловато. Похоже данный конфиг парой исправлений не обойдется. Здесь настроено, что шпиндель (4 ось) включается автоматом во время движения по осям, да еще я постоянно использую M3,M4. Я так понял, что похоже нужно переписывать весь hal другим способом типа как здесь Re: Использование шпинделя для управления допоборудованием #60, но там от этого способа отказались, и поэтому не могу им воспользоваться.
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение solo » 25 авг 2017, 16:41

я лично не очень понял что тебе нада
команды М62-М64 просто можно при выполнении Ж кода передавать "1" или "0" на соответствующие пины в том числе ЛПТ порта , а что ты присоединил к этому выводу то ли реле то ли шпиндель это дело техники
Аватара пользователя
solo
Мастер
 
Сообщения: 1097
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 203
Настоящее имя: Юрий Соловьев

Re: Запуск шпинделя по M62

Сообщение Harconnen » 25 авг 2017, 16:43

Вот кусок УП
Это УП небольшой дуги
Код: Выделить всёРазвернуть
G00 X62.8330 Y154.5682
G00 Z10
M3 S3.8
G01 X65.4844 Y155.9719 F200 (останавливается и продолжает)
M3 S0.02 
G02 X73.9847 Y158.1157 I8.6333 J-16.3073 F1000
G02 X79.1104 Y155.9719 I0.0510 J-7.0776 (останавливается и продолжает)
M4 S3.8
G01 X81.2016 Y153.8209 F200
M5
G00 Z10


Если M3 и M4 убрать, то движение равномерное. Но нужно, чтобы оно было равномерное и с M, или M чем нибудь заменить типа M64 P01
Последний раз редактировалось Harconnen 25 авг 2017, 16:55, всего редактировалось 2 раз(а).
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение Harconnen » 25 авг 2017, 16:45

Здесь на форуме есть тема с лазером и такими-же проблемами там заменили M3 на M64P01. Но там нужно просто вкл/выкл, в моем случае все сложнее.
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение Harconnen » 25 авг 2017, 16:49

solo писал(а):команды М62-М64 просто можно при выполнении Ж кода передавать "1" или "0"

Это я уже понял, но в моем случае этот код "net spindle-on <= motion.digital-out-01" шпиндель при команде M64 P01 никак не реагирует.
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение UAVpilot » 25 авг 2017, 17:50

Harconnen писал(а):M3 S3.8

M67 E0 Q3.8 M62 P0

net spindle-on <= motion.digital-out-01
net vel-cmd stepgen.3.velocity-cmd <= motion.analog-out-00
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16177
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3951
Медальки:
Настоящее имя: Сергей

Re: Запуск шпинделя по M62

Сообщение Harconnen » 25 авг 2017, 18:50

UAVpilot, спасибо, в принципе получилось. Единственное в моем hal "net spindle-on <= motion.digital-out-01" это оказалось бесполезно. У меня получилось останавливать командой M68 E0 Q0 и делать реверс M68 E0 Q-3.8.
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение UAVpilot » 25 авг 2017, 23:25

Harconnen писал(а):Единственное в моем hal "net spindle-on <= motion.digital-out-01" это оказалось бесполезно.

Я просто в твоём .hal увидел, что это используется...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16177
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3951
Медальки:
Настоящее имя: Сергей

Re: Запуск шпинделя по M62

Сообщение Harconnen » 27 авг 2017, 17:40

UAVpilot, не подскажешь как правильно написать чтобы команда M68 обнулилась или отменилась, если УП остановлена на пол пути, а то если нажать стоп то ось все равно вращается.
На форуме есть пример, но ко мне он не подходит, выдает ошибку что and2 работает с BIT.
Код: Выделить всёРазвернуть
###########################################################################
net program_is_running    halui.program.is-running   and2.1.in0           #
net laser_on              motion.digital-out-01      and2.1.in1           #
net and2_1_out          and2.1.out    and2.0.in0                          #
#net spindle-on <= motion.digital-out-01 =>    and2.0.in0                 #
###########################################################################               

Re: emc2 и со2 лазер #226
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение UAVpilot » 27 авг 2017, 18:05

Есть 2 решения - простое и правильное:
простое: просто задействовать stepgen.3.enable - при нажатии стоп шпиндель остановится, но при отжатии снова включится.
правильное: при нажатии стоп нужно помимо прочего ещё и обнулять задание (в случае с M67 значение motion.analog-out-00) - подобное можно сделать только написав соотв. логику на HAL.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16177
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3951
Медальки:
Настоящее имя: Сергей

Re: Запуск шпинделя по M62

Сообщение nkp » 27 авг 2017, 18:12

в хал:
Код: Выделить всёРазвернуть
loadrt and2
addf  and2.0 servo-thread

net program_not_running      halui.program.is-idle   and2.0.in0           
net spindle_on              motion.spindle-brake         and2.0.in1
         
net and2_0_out          and2.0.out    halui.mdi-command-00 


в ини:
Код: Выделить всёРазвернуть
 [HALUI] 
MDI_COMMAND = M68 E0 Q0
nkp
Мастер
 
Сообщения: 7319
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1205
Медальки:

Re: Запуск шпинделя по M62

Сообщение Harconnen » 28 авг 2017, 12:08

nkp, спасибо, все работает.
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение nkp » 28 авг 2017, 12:21

все работает

наверно я ошибся(странно,что работает))
motion.spindle-brake срабатывает когда шпиндель остановлен...
а нам нужен пин ,который активен при работающем шпинделе
motion.spindle-on например

то есть логика такая:
когда программа(Жкод) не запущена И шпиндель вращается ==>подаем MDIкоманду M68 E0 Q0
Код: Выделить всёРазвернуть
loadrt and2
addf  and2.0 servo-thread

net program_not_running      halui.program.is-idle   and2.0.in0           
net spindle_on              motion.spindle-on        and2.0.in1
         
net and2_0_out          and2.0.out    halui.mdi-command-00
nkp
Мастер
 
Сообщения: 7319
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1205
Медальки:

Re: Запуск шпинделя по M62

Сообщение Harconnen » 28 авг 2017, 15:27

nkp, Вот в этом варианте не работает, после прерывания программы, 4 ось все равно вращается.
Может это потому, что теперь мы не управляем 4 осью как шпинделем, сейчас в hal прописано так "net vel-cmd stepgen.3.velocity-cmd <= motion.analog-out-00"
или все равно идет через шпиндель?
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение nkp » 29 авг 2017, 09:49

Harconnen писал(а):Может это потому, что теперь мы не управляем 4 осью как шпинделем,

да ,это я протупил,не разобравшись в теме до конца :)

тогда этот костыль можно сократить
вместо всего этого куска в хал:
Код: Выделить всёРазвернуть
loadrt and2
addf  and2.0 servo-thread

net program_not_running      halui.program.is-idle   and2.0.in0           
net spindle_on              motion.spindle-on        and2.0.in1
         
net and2_0_out          and2.0.out    halui.mdi-command-00

можно прописать одну строку:
Код: Выделить всёРазвернуть
net program_not_running      halui.program.is-idle  halui.mdi-command-00    

ошибка при загрузке будет,потому как емс пытается выполнить mdi команду,а без home не может
можно конечно добавить условие ,что выполнить только конда все оси в нулях...
nkp
Мастер
 
Сообщения: 7319
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1205
Медальки:

Re: Запуск шпинделя по M62

Сообщение Harconnen » 29 авг 2017, 12:02

nkp, большое спасибо, все работает отлично. :)
Хотел еще узнать, нужно ли вычищать hal от ненужного кода (например если не пользуешься шпинделем, то все что к нему относится) или это не принципиально и ресурсы компьютера лишние не потребляет?
Harconnen
Кандидат
 
Сообщения: 46
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

Re: Запуск шпинделя по M62

Сообщение nkp » 29 авг 2017, 12:19

все пины из хал файлов конфига обновляются в потоке постоянно...
но каких то "лишних" 10-20 строк можно считать никак не влияют...
убрать можно ради стройности структуры файла ;)
nkp
Мастер
 
Сообщения: 7319
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1205
Медальки:


Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Adskiydart, aftaev, Alex lamaka, Bender, Bing [Bot], enderukov, Google [Bot], Kiriller, Lafayette, Lecter, NikolayUa24, niksooon, not4u, odekolon, Remton, shalek, sima8520, suleyman, UAVpilot, vit_rus, vugar27, Yandex [bot]

Поделиться

Reputation System ©'