ПО двушпиндельного (многошпиндельного) фрезера

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

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Кто мешает на кнопки повесить последовательность команд типа ЗАДАТЬ НУЛИ + переход в ручной режим?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Не нашел такого G-кода, чтобы включить в MDI-команду (искал тут - http://ru.wikipedia.org/wiki/G-code)... Не писать же подпрограмму, обрабатывающую нажатие кнопки?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

И не найдёшь. Это в HAL можно сделать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Кхе... Это-то понятно. Я думал есть способ "договориться" с LCNC чтоб он САМ не менял своё состояние как ему захочется...
У меня возникал похожий вопрос, когда я использовал в Glade окно для загрузки программы обработки. Программа загружалась, а вот станок переставал, после этого, реагировать на другие кнопки, кроме тех, что используют MDI-команды, т.е. переходил в другой режим (сходу не могу найти это место, где писал об этом...)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Ворон226 писал(а):не менял своё состояние как ему захочется..
Он меняет не когда ему захочется, а когда заставят. :) Если надо выполнить MDI, то он и переходит в этот режим.
В принципе можно нагородить логику, чтоб оно запоминало текущий режим (перед нажатием кнопки) и после команды возвращалось в него.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Так нагородить я могу и без MDI-команд...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Ворон226 писал(а):Как сделать, чтобы после выполнения MDI-команды, станок автоматически переходил в ручной режим?
Разве никто не сталкивался с подобной проблемой? Как выходили из неё?
В конце MDI команды halui.mode.manual ставить в 1.
Вариантов много,
через M62-65 или свой M100+, или через встроенный python, или как UAVpilot написал.
Сам по себе он ИМХО переключаться не должен.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Читаю описание:

10.2.12 MDI
Иногда пользователь хочет добавить более сложную задачу для выполения при активации пина HAL. Это возможно при использовании следующей схемы команд MDI:
• MDI_COMMAND добавляется в секцию [HALUI] в файл ini.
[HALUI]
MDI_COMMAND = G0 X0
• Когда запускается halui он прочитает поле MDI_COMMAND из файла ini, и экспортирует пин от 00 до количества записей MDI_COMMAND найденных в ini (максимум 64 команды).
halui.mdi-command-<nn> (bit, in) - halui попытается послать MDI команду заданную в ini файле. Это не всегда будет получаться в зависимости от того в каком режиме находится emc2 (например во время нахождения в режиме AUTO halui не может успешно послать команду MDI). Если команда прошла успешно halui переключит EMC2 в режим MDI, а затем снова вернет в ручной режим.


Вот на что была надежда.
Так вот кнопка hal_button<nn> связана с командой mdi:

net nach hal_button1 halui.mdi-command-01

Команда выполняется (значит CNC все устраивает), а вот перейти назад в ручной режим не спешит... Завтра внимательнее посмотрю по пинам и отпишусь.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Заведи пин motion.digital-out-NN на пин halui.mode.manual и в конце MDI комманды добавь:

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

M65 P01
G4 P0.1
M64 P01
G4 P0.1
M65 P01
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Nick писал(а):Заведи пин motion.digital-out-NN на пин halui.mode.manual и в конце MDI комманды добавь:

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

M65 P01
G4 P0.1
M64 P01
G4 P0.1
M65 P01
Т.е. MDI-команда должна выглядеть так:

[HALUI]
MDI_COMMAND = G0 X0 M65 P01 G4 P0.1 M64 P01 G4 P0.1 M65 P01

???
(очень похоже на "колдовство" вокруг недоделок в LCNC)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Сергей Саныч »

Лучше вызвать подпрограмму.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Хотелось бы определиться: у меня мозгов не хватает победить этот ляп или этот ляп непобеждаем (то, что ляп можно обойти - догадываюсь, но не хочется такими окольными путями, ведь я могу просто щелкнуть мышкой по вкладке "Ручное управление" в AXISе и все уже работает...)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Ворон226 писал(а):[HALUI]
MDI_COMMAND = G0 X0 M65 P01 G4 P0.1 M64 P01 G4 P0.1 M65 P01
боюсь так не сработает, Gкоды одной модальной группы должны быть на разных строчках...
Может вот так сработает, но не уверен:

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

[HALUI]
MDI_COMMAND = G0 X0 
    M65 P01 
    G4 P0.1 
    M64 P01 
    G4 P0.1 
    M65 P01
(т.е. добавить пробелы перед новыми строчками).

Или как говорит Сергей Саныч, написать отдельно подпрограмму goto-0.ngc

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

O<goto-0> SUB
    G0 X0 
    M65 P01 
    G4 P0.1 
    M64 P01 
    G4 P0.1 
    M65 P01
O<goto-0> ENDSUB
И в ini

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

[HALUI]
MDI_COMMAND = O<goto-0> CALL
Ворон226 писал(а):то, что ляп можно обойти - догадываюсь
Имхо это не ляп. Так и должно быть, сам LinuxCNC не должен переключаться в ручной режим.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Nick писал(а):Или как говорит Сергей Саныч, написать отдельно подпрограмму goto-0.ngc

O<goto-0> SUB
G0 X0
M65 P01
G4 P0.1
M64 P01
G4 P0.1
M65 P01
O<goto-0> ENDSUB


И в ini


[HALUI]
MDI_COMMAND = O<goto-0> CALL
А в куда положить файл goto-0.ngc ? В папку, прописанную в INI ? (пока я не встречался с этим способом запускать программы - на первый взгляд вполне удобно, можно создать целую библиотеку таких "примочек")

Nick писал(а):Имхо это не ляп. Так и должно быть, сам LinuxCNC не должен переключаться в ручной режим.
А как же описание HAL ? Некорректный перевод? Тогда ПРАВИТЬ! (кстати, пробую в ВИКИ зайти - не пущает по нику и паролю, который на форуме)...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Сергей Саныч »

А почему я нажимаю в ручном режиме кнопку на панели pyvcp и всё что надо, выполняется, а потом возвращается в ручной режим без всяких дополнительных камланий?
Что я делаю не так? :thinking:
То есть описанной проблемы не встречал вообще. Или я что-то недопонял?
Axis 2.5.3
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Сергей Саныч »

Ворон226 писал(а):А в куда положить файл goto-0.ngc ? В папку, прописанную в INI ?
Или в папку для файлов .ngc или в прописанную:

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

[RS274NGC]
SUBROUTINE_PATH = /home/cnc/linuxcnc/subroutines
Замечу, что первый символ в строке

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

O<goto-0> SUB
это латинская буква "o", a не нолик, поэтому нагляднее писать маленькую букву

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

o<goto-0> SUB
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Сергей Саныч писал(а):То есть описанной проблемы не встречал вообще. Или я что-то недопонял?
Я встречаюсь с этой проблемой уже второй раз. Конфигурации и краткое описание как и что делал выше... После нажатия на кнопку своей прикрученной панельки, прописанной как вызывающую MDI-команду, команда отрабатывается на ура. Но вот после её выполнения нужно обязательно мышкой кликнуть по вкладке ручного управления в AXISе, даже если эта вкладка уже открыта, чтобы AXIS переключился в ручное управление и можно было двигать оси через кнопки клавиатуры, например...

Если что нужно внимательнее посмотреть - могу посмотреть завтра (пины там какие хитрые или ещё чего).
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Сергей Саныч »

Ворон226, а может, не в MDI уходит Axis, а фокус управления уходит на панель? Посмотри по цвету заголовка окна.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Я чёт не сразу сообразил про какое переключение речь, теперь втупил. Все ж пользуют разные кнопки с MDI-командами, например для работы с пробниками и т.п., у в всех axis остаётся в том-же режиме, что и перед нажатием кнопок.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Кстати, а панелька у тебя как написана? Покажи скриншот...
Когда я писал features, axis у меня постоянно сам тырил фокус...
Ворон226 писал(а):(кстати, пробую в ВИКИ зайти - не пущает по нику и паролю, который на форуме)...
точно там же была какая-то проблема с русскими никами, щас посмотрим...
Ответить

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