Страница 1 из 1

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

Добавлено: 12 ноя 2014, 13:12
odekolon
Подскажите пожалуйста, можно ли в HAL - логике перехватывать g-коды исполняемой программы и в зависимости от значений каких-либо пинов разрешать\запрещать исполнение каких-либо команд g-кода?

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

Добавлено: 12 ноя 2014, 13:18
Nick
Лучше опиши задачу целиком....
можно делать условия в Gкоде и выполнять тот или иной Gкод в зависимости от них...

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

Добавлено: 12 ноя 2014, 13:44
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? - нужно ли это как-то учитывать?

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

Добавлено: 12 ноя 2014, 13:51
Nick
odekolon писал(а):но если в программе встречаются g-коды управления осью Z, происходит фигня после возврата управления
А какая именно фигня происходит?

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

Добавлено: 12 ноя 2014, 15:05
Serg
Надо не рвать связь, а просто добавлять коррекцию от THC

P.S. Я вот запущу скоро плазму и покажу как это делается..

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

Добавлено: 12 ноя 2014, 16:15
odekolon
Nick писал(а):
odekolon писал(а):но если в программе встречаются g-коды управления осью Z, происходит фигня после возврата управления
А какая именно фигня происходит?
что-то типа выезда оси за физический габарит

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

Добавлено: 12 ноя 2014, 16:20
odekolon
UAVpilot писал(а):Надо не рвать связь, а просто добавлять коррекцию от THC
.
это уже сделано, для этого и предназначена галка "только ТНС"
безусловно проще все управление отдать g-кодам
но в моей системе, есть возможность оперативно поменять параметры прокола не меняя g-кодов
хочется допилить до ума

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

Добавлено: 12 ноя 2014, 16:40
Nick
просто при выключении THC выключай его поправку координаты. + главное, чтобы в Gкоде высота не была ниже высоты материала.

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

Добавлено: 12 ноя 2014, 17:40
Serg
odekolon писал(а):но в моей системе, есть возможность оперативно поменять параметры прокола не меняя g-кодов
В моей тоже. Даже в поиске металла G-код не участвует...
Nick писал(а):просто при выключении THC выключай его поправку координаты.
Там не так всё просто, там конкретный монстр получается...

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

Добавлено: 12 ноя 2014, 17:45
Nick
UAVpilot писал(а):Там не так всё просто, там конкретный монстр получается...
Ты б лучше код показал, вместо красочных эпитетов :)

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

Добавлено: 12 ноя 2014, 17:46
odekolon
Nick писал(а):просто при выключении THC выключай его поправку координаты. + главное, чтобы в Gкоде высота не была ниже высоты материала.
это само собой, у меня при м5 сбрасывается счетчик поправки
просвети пожалуйста (я еще многого не понимаю)
если при разомкнутом управлениии осью будут команды gкода управляющие этой осью то они будут складываться и при восстановлении соедиения axis-stepgen ось поедет на сумму пропущеных перемещений?

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

Добавлено: 12 ноя 2014, 17:48
Nick
Да.
Если ты перехватываешь axis.N.position-cmd, то, когда ты его восстановишь станок поедет в последнее значение.

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

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

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

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

Вот, производится операция по закручиванию болтика M5. :)
20141102_195902.jpg (2669 просмотров) <a class='original' href='./download/file.php?id=36526&mode=view' target=_blank>Загрузить оригинал (322.73 КБ)</a>

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

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

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

думаю и еще что-то вылезет....

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

Добавлено: 13 ноя 2014, 00:55
Serg
Я сделал настраиваемую задержку пропадания сигнала горящей дуги после её реального погасания.
Ну и если дуга сама гаснет, то при повторном поджиге метал не ищет - считает, что он никуда не делся. :)

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

Добавлено: 13 ноя 2014, 08:25
odekolon
UAVpilot писал(а):Я сделал настраиваемую задержку пропадания сигнала горящей дуги после её реального погасания.
спасибо, это несложно, видимо это простейший выход из подобной ситуации
но видимо эта задержка должна включатся при выходе на рез, иначе возможны глюки при проколе.
Ну и если дуга сама гаснет, то при повторном поджиге метал не ищет - считает, что он никуда не делся. :)
тут нада поразмыслить.... хотя может быть....

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

Добавлено: 13 ноя 2014, 12:09
Serg
odekolon писал(а): но видимо эта задержка должна включатся при выходе на рез, иначе возможны глюки при проколе.
Да, оно различает погасание при проколе от погасания в процессе.

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

Добавлено: 13 ноя 2014, 23:12
odekolon
UAVpilot писал(а):Я сделал настраиваемую задержку пропадания сигнала горящей дуги после её реального погасания.
Ну и если дуга сама гаснет, то при повторном поджиге метал не ищет - считает, что он никуда не делся. :)
Ну что-ж - сегодня затестил эту задержку! все получилось!
Спасибо за совет!
деталь выпадает, дуга гаснет, стопа не происходит.

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

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