Axis enable
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Axis enable
Прошу помощи в реализации следующей идеи.
В интерфейсе ЕМС2 есть кнопка "Питание станка(F2)". Хочу привязать к ней подачу питания на ноги "Enable" драйверов с пина 8 (к примеру) платы опторазвязки.
Если такое уже реализовывалось - киньте ссылочку, плиз, не смог найти...
В интерфейсе ЕМС2 есть кнопка "Питание станка(F2)". Хочу привязать к ней подачу питания на ноги "Enable" драйверов с пина 8 (к примеру) платы опторазвязки.
Если такое уже реализовывалось - киньте ссылочку, плиз, не смог найти...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Axis enable
В степ конфиге вроде выбирееш при настройке порта сигнал "Включение усилителей" это по моему и есть этот сигнал
котрый в хел добавить такую строку
net xenable => parport.0.pin-8-out
котрый в хел добавить такую строку
net xenable => parport.0.pin-8-out
Последний раз редактировалось solo 09 апр 2013, 09:26, всего редактировалось 1 раз.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Axis enable
Тогда уже такую:solo писал(а):В степ конфиге вроде выбирееш при настройке порта сигнал "Включение усилителей" это по моему и есть этот сигнал
в хел добавить такую строку
net xenable => parport.0.pin-8-out
net enable <= halui.machine.is-on => parport.0.pin-8-out
что будет означать: подключаем сигнал enable с пина machine.is-on (станок включен) компонента halui на пин LPT-порта parport.0.pin-8-out
Хочешь быть счастливым? Будь им!
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
1. Сделал резервную копию "мой станок.hal".
2. Запустил Stepconf, привязал на пин 8 "Включить усилитель"
3. На вкладке "Advanced configuration options" отметил "Include Halui user interface component",
4. В файл "мой станок.hal" добавил строчку net enable <= halui.machine.is-on => parport.0.pin-8-out
При запуске ЕМС2 дебуггер пишет следующее

2. Запустил Stepconf, привязал на пин 8 "Включить усилитель"
3. На вкладке "Advanced configuration options" отметил "Include Halui user interface component",
4. В файл "мой станок.hal" добавил строчку net enable <= halui.machine.is-on => parport.0.pin-8-out
При запуске ЕМС2 дебуггер пишет следующее
Код: Выделить всё
Debug file information:
мой-станок.hal:87: Pin 'parport.0.pin-8-out' does not exist- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Axis enable
Попробуй parport.0.pin-08-out
Здесь 8 и 08 - часть имени, не число, а просто текст, а потому не одно и то же
Здесь 8 и 08 - часть имени, не число, а просто текст, а потому не одно и то же
Чудес не бывает. Бывают фокусы.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Axis enable
Не добавлять строку не нада в хел, степ конфиг сам добавляет строку текс которой я привелelephant007 писал(а):1. Сделал резервную копию "мой станок.hal".
2. Запустил Stepconf, привязал на пин 8 "Включить усилитель"
3. На вкладке "Advanced configuration options" отметил "Include Halui user interface component",
4. В файл "мой станок.hal" добавил строчку net enable <= halui.machine.is-on => parport.0.pin-8-out
При запуске ЕМС2 дебуггер пишет следующееКод: Выделить всё
Debug file information: мой-станок.hal:87: Pin 'parport.0.pin-8-out' does not exist
тоесть или в степконфиге задай включить усилитель и все сохраняеш конфигурацию и запускай
+++++
или если без степконфига в хел просто допиши любой из вариантов
(net enable halui.machine.is-on parport.0.pin-8-out)
или
( net xenable => parport.0.pin-8-out)
правда имена соединений надо будет проверить
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
А вот так заработало, одно НО. Усилитель к пину привязывать не нужно. Дебуггер ругается, что происходит попытка задействовать уже привязанный пин.
Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Axis enable
что заработало?
самый простой и верны способ это использовать степконфиг и в нем задать "включение усилителя" это как говорится 100% вариант.
самый простой и верны способ это использовать степконфиг и в нем задать "включение усилителя" это как говорится 100% вариант.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Axis enable
http://www.cnc-club.ru/wikielephant007 писал(а):Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
Из документации, приложенной к драйверам DM542, и переписки с Mary из LongMotors, следовало, что расключать нужно клеммы на питание драйвера, 4 на шаговый двигатель и 4 клеммы на плату опторазвязки (pulse и dir). Оставшиеся две клеммы enable трогать категорически не советовалось. ВРоде как-бы и ладно, станок запустился и все крутится. Однако при долгих простоях разогретые шаговики напрягали, да и наличие в ЕМС2 кнопки "Питание станка" как бы намекало.
Сформулировалась задача: как с помощью кнопки "Питание станка" управлять подачей питания на драйвера шаговых двигателей.
Решение.
Добавляется немного проводки. На все имеющиеся в системе драйвера на клемму Еnable+ подается постоянное напряжение +5V. Клеммы Еnable- соединяются с любым свободным пином платы опторазвязки. В моем случае это будет пин 8. На картинке обозначено красным трассером. Далее нужно настроить работу ЕМС2 таким образом, чтобы при нажатии кнопки "Питание станка" становился активным пин 8.
Сделать это можно двумя способами. Либо через Stepconf, либо ручками править ваш hal-файл. Гуру рекомендуют второй вариант. Во первых, что бы понимать что делаешь, а во-вторых, Stepconf при каждом запуске переписывает существующий hal. Лежит hal в папке, созданной при установке программы (на рабочем столе, если была поставлена галка в Stepconf при первом запуске), называется что-то вроде "мой-станок.hal". Открываем этот файл любым редактором, идем в конец файла и добавляем следующую строчку:
net enable <= halui.machine.is-on => parport.0.pin-08-out
Внимание! pin-08-out это именно нольвосемь, а не восемь или О(буква)восемь.
Файл нужно сохранить и тут же сделать резервную копию. Опять же по соображениям защиты его от покушения со стороны Stepconf.
Если все типтоп то программа запускается без ругани дебаггера. Нажатие кнопки "Питание станка" приводит к подаче питания на шаговые моторы. В моем случае это визуально наблюдается за счет смены цвета статусных светодиодов на драйверах ШД с красного на зеленый.
Благодарю камрадов Serg-tmn, Ворон226 и solo за помощь в решении поставленного вопроса.
Сформулировалась задача: как с помощью кнопки "Питание станка" управлять подачей питания на драйвера шаговых двигателей.
Решение.
Добавляется немного проводки. На все имеющиеся в системе драйвера на клемму Еnable+ подается постоянное напряжение +5V. Клеммы Еnable- соединяются с любым свободным пином платы опторазвязки. В моем случае это будет пин 8. На картинке обозначено красным трассером. Далее нужно настроить работу ЕМС2 таким образом, чтобы при нажатии кнопки "Питание станка" становился активным пин 8.
Сделать это можно двумя способами. Либо через Stepconf, либо ручками править ваш hal-файл. Гуру рекомендуют второй вариант. Во первых, что бы понимать что делаешь, а во-вторых, Stepconf при каждом запуске переписывает существующий hal. Лежит hal в папке, созданной при установке программы (на рабочем столе, если была поставлена галка в Stepconf при первом запуске), называется что-то вроде "мой-станок.hal". Открываем этот файл любым редактором, идем в конец файла и добавляем следующую строчку:
net enable <= halui.machine.is-on => parport.0.pin-08-out
Внимание! pin-08-out это именно нольвосемь, а не восемь или О(буква)восемь.
Файл нужно сохранить и тут же сделать резервную копию. Опять же по соображениям защиты его от покушения со стороны Stepconf.
Если все типтоп то программа запускается без ругани дебаггера. Нажатие кнопки "Питание станка" приводит к подаче питания на шаговые моторы. В моем случае это визуально наблюдается за счет смены цвета статусных светодиодов на драйверах ШД с красного на зеленый.
Благодарю камрадов Serg-tmn, Ворон226 и solo за помощь в решении поставленного вопроса.
Последний раз редактировалось elephant007 09 апр 2013, 18:52, всего редактировалось 2 раза.
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
Для полноты картины нужно снимать питание со станка при выходе из программы. при запуске станка питание в любом случае снимается, а при выходе остается вероятность, что станок будет греть Сибирь до следующего запуска. Эта штука как называется?
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Axis enable
При выходе из программы питание станка снимается автоматически. Если мы еще о том же питании.
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется. А вот при запуске оно при любом раскладе выключится до тех пор, пока не отожмется кнопка "Питание станка".
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Axis enable
Перед завершением программы (мы ведь о linuxcnc?) как правило станок выключают... 
Лично я для выключения станка использую кнопку E-Stop - она у меня всегда под рукой. По простому, поработал со станком и нужно чем-то другим занятся - хлоп оп кнопке и станок выключается.
Лично я для выключения станка использую кнопку E-Stop - она у меня всегда под рукой. По простому, поработал со станком и нужно чем-то другим занятся - хлоп оп кнопке и станок выключается.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- elephant007
- Мастер
- Сообщения: 857
- Зарегистрирован: 18 ноя 2012, 13:12
- Репутация: 332
- Откуда: Сибирь, Томск
- Контактная информация:
Re: Axis enable
наверное это правило хорошего тона и так оно и должно быть. Просто кроме отключения питания ШД я бы приурочил парковку станка в максимуме по Z и в нулях по X, Y.
Да и кнопку Е-стоп я пока не прикрутил...
Да и кнопку Е-стоп я пока не прикрутил...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Axis enable
Есть еще такая штука - chargepump - сигнал с какой-то минимальной частотой, который надо подавать на пин lpt, иначе станок вырубается, точнее контроллер драйверов вырубает enable. Но надо, чтобы контроллер умел работать с этим chargepump. Одна из основных фишек проявляется даже не когда ты вырубаешь LinuxCNC, а когда он еще не запущен, или вообще запустил винду, а у тебя шпиндель взял и стартанул внезапно. В общем полезная штука
.
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Axis enable
Странно, у меня с 7i43+7i48 питание моторов выключается всегда после закрытия программы. Хотя... скорее всего, это срабатывает watchdogelephant007 писал(а):нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется
Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Axis enable
Да что вы говоритеPKM писал(а):Хотя... скорее всего, это срабатывает watchdog
А вот это дело!PKM писал(а):Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Axis enable
У себя я сделал так: на один из выходов LPT подключил детектор импульсной последовательности (здесь его обычно называют chargepump, но это название скорее отражает принцип действия, а не назначение), на его выход через ключ - реле, через которое подал 220В на БП контроллера. Теперь при включении питания компьютера все приводы обесточены. При запуске LinuxCNC начинает работать генератор импульсной последовательности (компонент chargepump), реле срабатывает и подает питание на контроллер. При выходе из LinuxCNC всё так же безболезненно отключается.
Чудес не бывает. Бывают фокусы.
