Реализовать логику реверсивного пускателя через HAL

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Фрост
Мастер
Сообщения: 393
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 23
Настоящее имя: Сергей
Контактная информация:

Реализовать логику реверсивного пускателя через HAL

Сообщение Фрост »

Помогите реализовать или пните в нужном направлении. Без использования штатных средств шпинделя, т.к. они заняты вертикальным шпинделем, а надо подключить и горизонтальный. Соответственно входящее управление три кнопки и сигнал enable, 2 выхода на реле, которые должны переключаться только через стоп и никогда не включиться вместе.
Пытался реализовать через toggle2nist, но как то не получилось, или я не понял его логику. По описанию
toggle2nist.N.in bit вход
toggle2nist.N.is-on bit вход
toggle2nist.N.on bit выход
toggle2nist.N.off bit выход
Если is-on=1 то on=0 и off=1
Если is-on=0 то on=1 и off=0

А как влияет состояние входа in?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение nkp »

как вариант - CL:
R.clp
(2.4 КБ) 905 скачиваний

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

loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
loadusr classicladder R.clp

addf classicladder.0.refresh servo-thread


classicladder.0.in-00 - enable
classicladder.0.in-01 - in0
classicladder.0.in-02 - in1
classicladder.0.in-03 - stop

classicladder.0.out-00  - cw
classicladder.0.out-01  - ccw
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение nkp »

можно попробовать емс в функцией мультишпинделя:
https://github.com/LinuxCNC/linuxcnc/tr ... dle-master

здесь нужно в команде жкода указывать - какому шпинделю командуем:

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

M3 S100 E0
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Serg »

tst.png (2413 просмотров) <a class='original' href='./download/file.php?id=125700&mode=view' target=_blank>Загрузить оригинал (38.18 КБ)</a>
Вложения
tst.hal
(631 байт) 1026 скачиваний
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Dmaster »

Берите многоконтактные реле и делайте защиту петлей катушек реле через оба реле. Компьютер может и зависнуть.
Сигнал на катушку 1-го реле идет через нормально замкнутый контакт 2-го реле.
НУ или купите специальное реле для реверса. такие есть. они механически сделаны так, что одно не включится, пока не выключится второе.
В остальном господа выше всё описали.
" Linux CNC - наше всё"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Serg »

Dmaster писал(а):Компьютер может и зависнуть.
Зависший комп тем более не позволит сменить направление минуя STOP. Т.е. получается очень надёжная система, независящая даже от проблем с контактными группами. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Фрост
Мастер
Сообщения: 393
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 23
Настоящее имя: Сергей
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Фрост »

UAVpilot писал(а):
tst.png
Выбрал этот вариант, попробовал, вроде работает нормально, спасибо
Только вопрос - куда и как прикрутить machine-on?
пробовал реализовать на and2: на flipflop.data - включение не позволяет, но при machine-off не отрубает, если на flipflop.out поставить - выключает, но хранит состояние до следущего включения machine-on...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Serg »

Я специально это не показывал т.к. не понял что должно происходить при machine-on=0.
Если должно всё сбрасываться как при нажатии кнопки СТОП, то на сигнал STOP надо подать через or2 и инвертированный сигнал machine-on и сигнал от кнопки СТОП.
Если шпиндель должен выключаться, а состояние оставаться прежним, то выходы каждый на свой and2, а machine-on на вторые входы обоих and2.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Фрост
Мастер
Сообщения: 393
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 23
Настоящее имя: Сергей
Контактная информация:

Re: Реализовать логику реверсивного пускателя через HAL

Сообщение Фрост »

UAVpilot писал(а): через or2 и инвертированный сигнал machine-on и сигнал от кнопки СТОП
вот как раз сейчас так и реализовал. Думаю правильнее состояние не запоминать, чтоб нежданчик не случился
Ответить

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