перехват G-кода в логике hal

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

перехват G-кода в логике hal

Сообщение odekolon »

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

Re: перехват G-кода в логике hal

Сообщение Nick »

Лучше опиши задачу целиком....
можно делать условия в Gкоде и выполнять тот или иной Gкод в зависимости от них...
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

Nick писал(а):Лучше опиши задачу целиком....
можно делать условия в Gкоде и выполнять тот или иной Gкод в зависимости от них...
на данном этапе задача такая -
логика станка берет управление по оси Z на себя. (основа логики - крнфигурация mm-plazma из набора стандартных конфигураций)
то есть по команде M3 обрывается связь axis2-position-cmd и stepgen2-position-cmd
и логика берет управление осью Z на себя/
но если в программе встречаются g-коды управления осью Z, происходит фигня после возврата управления
причем в логике станка есть галка chekbutton (только THC) которая выключает логику и все управление осью Z, кроме THC, передает управляющей программе.
чтоб можно было пользоваться готовыми программами

так вот желательно чтоб при снятой галке "только THC" логика станка отлавливала коды управления по оси Z и игнорировала их не передавая в axis2-position-cmd

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

Re: перехват G-кода в логике hal

Сообщение Nick »

odekolon писал(а):но если в программе встречаются g-коды управления осью Z, происходит фигня после возврата управления
А какая именно фигня происходит?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение Serg »

Надо не рвать связь, а просто добавлять коррекцию от THC

P.S. Я вот запущу скоро плазму и покажу как это делается..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

Nick писал(а):
odekolon писал(а):но если в программе встречаются g-коды управления осью Z, происходит фигня после возврата управления
А какая именно фигня происходит?
что-то типа выезда оси за физический габарит
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

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

Re: перехват G-кода в логике hal

Сообщение Nick »

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

Re: перехват G-кода в логике hal

Сообщение Serg »

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

Re: перехват G-кода в логике hal

Сообщение Nick »

UAVpilot писал(а):Там не так всё просто, там конкретный монстр получается...
Ты б лучше код показал, вместо красочных эпитетов :)
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

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

Re: перехват G-кода в логике hal

Сообщение Nick »

Да.
Если ты перехватываешь axis.N.position-cmd, то, когда ты его восстановишь станок поедет в последнее значение.
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

Nick писал(а):Да.
Если ты перехватываешь axis.N.position-cmd, то, когда ты его восстановишь станок поедет в последнее значение.
иначе говоря, если в конце "чужого " g-кода я напишу G0 Z0, то после восстановления управления ось Z поедет на 0 ?
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение Serg »

Nick писал(а):Ты б лучше код показал, вместо красочных эпитетов :)
Я ж написал: как запущу, так и покажу. Я ж пока его только в эмуляторе пробовал с "тряпочной" THC... Мож оно в живую и работать не будет, а выбежит в ворота цеха и только её и видели... :)

Вот, производится операция по закручиванию болтика M5. :)
20141102_195902.jpg (2665 просмотров) <a class='original' href='./download/file.php?id=36526&mode=view' target=_blank>Загрузить оригинал (322.73 КБ)</a>
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

UAVpilot писал(а):
Nick писал(а):Ты б лучше код показал, вместо красочных эпитетов :)
Я ж написал: как запущу, так и покажу. Я ж пока его только в эмуляторе пробовал с "тряпочной" THC... Мож оно в живую и работать не будет, а выбежит в ворота цеха и только её и видели... :)
20141102_195902.jpg
на самом деле, там тонкостей полно,
вот сейчас косяк вылез - маленькая деталь, в конце кругового контура деталь проваливается, дуга гаснет (а до конца реза еще 1-3 мм)
головка начинает биться об металл, искать ноль, включать дугу, а дыра уже есть, дуга гаснет....несколько циклов - авария :?
вообще-то у меня есть кнопка "без дуги" но это надо над станком стоять и в нужный момент кнопку давить. это неудобно.

то есть придется предусматривать логику типа "если разница cmdXY - fbXY чуть больше диаметра сопла, то пропадание дуги игнорировать"
причем на кривой это работать видимо не будет - дальше поеедет без дуги до конца кривой

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

Re: перехват G-кода в логике hal

Сообщение Serg »

Я сделал настраиваемую задержку пропадания сигнала горящей дуги после её реального погасания.
Ну и если дуга сама гаснет, то при повторном поджиге метал не ищет - считает, что он никуда не делся. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

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

Re: перехват G-кода в логике hal

Сообщение Serg »

odekolon писал(а): но видимо эта задержка должна включатся при выходе на рез, иначе возможны глюки при проколе.
Да, оно различает погасание при проколе от погасания в процессе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: перехват G-кода в логике hal

Сообщение odekolon »

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

Re: перехват G-кода в логике hal

Сообщение Nick »

odekolon писал(а):
Nick писал(а):Да.
Если ты перехватываешь axis.N.position-cmd, то, когда ты его восстановишь станок поедет в последнее значение.
иначе говоря, если в конце "чужого " g-кода я напишу G0 Z0, то после восстановления управления ось Z поедет на 0 ?
да
Ответить

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