Реализовать логику реверсивного пускателя через HAL
-
Фрост
- Мастер
- Сообщения: 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?
Пытался реализовать через 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
как вариант - CL:
Код: Выделить всё
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
можно попробовать емс в функцией мультишпинделя:
https://github.com/LinuxCNC/linuxcnc/tr ... dle-master
здесь нужно в команде жкода указывать - какому шпинделю командуем:
https://github.com/LinuxCNC/linuxcnc/tr ... dle-master
здесь нужно в команде жкода указывать - какому шпинделю командуем:
Код: Выделить всё
M3 S100 E0- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
- Вложения
-
- tst.hal
- (631 байт) 1026 скачиваний
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
Берите многоконтактные реле и делайте защиту петлей катушек реле через оба реле. Компьютер может и зависнуть.
Сигнал на катушку 1-го реле идет через нормально замкнутый контакт 2-го реле.
НУ или купите специальное реле для реверса. такие есть. они механически сделаны так, что одно не включится, пока не выключится второе.
В остальном господа выше всё описали.
Сигнал на катушку 1-го реле идет через нормально замкнутый контакт 2-го реле.
НУ или купите специальное реле для реверса. такие есть. они механически сделаны так, что одно не включится, пока не выключится второе.
В остальном господа выше всё описали.
" Linux CNC - наше всё"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
Зависший комп тем более не позволит сменить направление минуя STOP. Т.е. получается очень надёжная система, независящая даже от проблем с контактными группами.Dmaster писал(а):Компьютер может и зависнуть.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Фрост
- Мастер
- Сообщения: 393
- Зарегистрирован: 28 окт 2013, 00:18
- Репутация: 23
- Настоящее имя: Сергей
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
Выбрал этот вариант, попробовал, вроде работает нормально, спасибоUAVpilot писал(а):
Только вопрос - куда и как прикрутить machine-on?
пробовал реализовать на and2: на flipflop.data - включение не позволяет, но при machine-off не отрубает, если на flipflop.out поставить - выключает, но хранит состояние до следущего включения machine-on...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
Я специально это не показывал т.к. не понял что должно происходить при machine-on=0.
Если должно всё сбрасываться как при нажатии кнопки СТОП, то на сигнал STOP надо подать через or2 и инвертированный сигнал machine-on и сигнал от кнопки СТОП.
Если шпиндель должен выключаться, а состояние оставаться прежним, то выходы каждый на свой and2, а machine-on на вторые входы обоих and2.
Если должно всё сбрасываться как при нажатии кнопки СТОП, то на сигнал STOP надо подать через or2 и инвертированный сигнал machine-on и сигнал от кнопки СТОП.
Если шпиндель должен выключаться, а состояние оставаться прежним, то выходы каждый на свой and2, а machine-on на вторые входы обоих and2.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Фрост
- Мастер
- Сообщения: 393
- Зарегистрирован: 28 окт 2013, 00:18
- Репутация: 23
- Настоящее имя: Сергей
- Контактная информация:
Re: Реализовать логику реверсивного пускателя через HAL
вот как раз сейчас так и реализовал. Думаю правильнее состояние не запоминать, чтоб нежданчик не случилсяUAVpilot писал(а): через or2 и инвертированный сигнал machine-on и сигнал от кнопки СТОП