Запуск шпинделя по 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 Кб) Скачиваний: 21
Harconnen
Кандидат
 
Сообщения: 43
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

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

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

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

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

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

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

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

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

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

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

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
Кандидат
 
Сообщения: 43
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

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

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

Здесь на форуме есть тема с лазером и такими-же проблемами там заменили M3 на M64P01. Но там нужно просто вкл/выкл, в моем случае все сложнее.
Harconnen
Кандидат
 
Сообщения: 43
Зарегистрирован: 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
Кандидат
 
Сообщения: 43
Зарегистрирован: 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
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 14403
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3442
Медальки:
Настоящее имя: Сергей

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
Кандидат
 
Сообщения: 43
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

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

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

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

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

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
Кандидат
 
Сообщения: 43
Зарегистрирован: 25 авг 2015, 18:53
Репутация: 0

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

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

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

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
Мастер
 
Сообщения: 6954
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1084
Медальки:

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

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

nkp, спасибо, все работает.
Harconnen
Кандидат
 
Сообщения: 43
Зарегистрирован: 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
Мастер
 
Сообщения: 6954
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1084
Медальки:

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

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

nkp, Вот в этом варианте не работает, после прерывания программы, 4 ось все равно вращается.
Может это потому, что теперь мы не управляем 4 осью как шпинделем, сейчас в hal прописано так "net vel-cmd stepgen.3.velocity-cmd <= motion.analog-out-00"
или все равно идет через шпиндель?
Harconnen
Кандидат
 
Сообщения: 43
Зарегистрирован: 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
Мастер
 
Сообщения: 6954
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1084
Медальки:

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

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

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

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

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

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


Вернуться в LinuxCNC

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

Зарегистрированные пользователи: Alexa [Bot], BEBRAS, Bing [Bot], Duhas, exe, Google [Bot], Lecter, nevkon, Yahoo [Bot], Yandex [bot]

Поделиться

Reputation System ©'