нестандартная рабочая зона на ЕМС для робота

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

Итак,вот подводный камушек, о котором я говорил:
Рабочая зона, как я рисовал выше, П-образная, НО там есть еще одна зона...
Рисунок1.jpg (2263 просмотра) <a class='original' href='./download/file.php?id=43970&mode=view' target=_blank>Загрузить оригинал (27.29 КБ)</a>
Зеленая зона - это зона, где можно ездить беспрепятственно все время. Красная зона - это зона, куда нельзя ехать ни в коем случае. А желтая зона - это зона, куда можно заезжать с разрешения термопласт-автомата.
Где лучше опрашивать этот сигнал разрешения опускания Z, в hal или через g-код?
В случае с g-кодом, если забыть вписать опрос этого сигнала, робот может поломать движение пресс-формы.
Если через hal, как его увязать с последовательностью g-кода?
Или создать какой-то шаблон с прописанными опросами входов и его использовать за основу, вписывя в него свои траектории движения.

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Serg »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

Главный вопрос, робот будет по программе все время ездить, или будет еще и вручную управляться?

Если по программе - то эти зоны какбы не очень нужны - просто в программе задаем правильную траекторию. Если вручную - тогда да, надо мудрить.
Тима писал(а):выдал сигнал о запрете работы ТПА
А запрет при помощи M62-M65.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

"сигнал есть пока не отключишь"
одни включают, другие выключают.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

Да.
M62 включает.
M63 выключает.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

До компа с линуксом так и не добрался. Установил на ноут виртуалбокс и с него запустил скаченный с офсайта дистрибутив. Там вроде уже не убунту, а дебиан.
Буду через него пробовать.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение NightV »

По просьбе ТС, тема разделена.
новая тема
какая команда разрешает движение по внешнему сигналу?
Всё просто! если знаешь КАК!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

Итак, Прошу помочь вписать в hal-файл мое условие. К примеру:
1. имеем Xog=100, и за нее нельзя заезжать
2. имеем координату позиции Х
3. имеем E-stop.
Если я правильно понимаю, для начала необходимо включить компонент WCOMP, потом описать Xog, сравнить с позицией по оси и в случае выполнения условия активировать E-stop.
Объясните как это "арфографически" правильно вписать в файл.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Serg »

примерно так:

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

net xpos axis.0.joint-pos-cmd => wcomp.0.in
setp wcomp.0.max 100
net xover wcomp.0.over => oneshot.0.in message.0.trigger
setp oneshot.0.width 0.5
setp message.0.edge 0
net xalarm <= oneshot.0.out
Это не предназначено непосредственно для вставки в конфиг! Только для для осмысления как это может быть сделано.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

Хочу разобраться как это все работает. Я приписал коменты к каждой строке, как смог разобраться...
:thinking:

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

net xpos axis.0.joint-pos-cmd => wcomp.0.in  // присваиваем 0му входу значение позиции по оси Х
setp wcomp.0.max 100  // устанавливаем значение макс. 
net xover wcomp.0.over => oneshot.0.in message.0.trigger //???
setp oneshot.0.width 0.5  // значение превышения от макс для срабатывания 
setp message.0.edge 0 // ????
net xalarm <= oneshot.0.out // авария при значении макс+0.5
Прошу поправить если я не так понял и объяснить те строки где "???"... :idiot:
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

Тима писал(а):net xover wcomp.0.over => oneshot.0.in message.0.trigger //???
oneshot делает из просто растущего фронта импульс длинной oneshot.0.width 0.5
setp message.0.edge 0 // - устанвка показа сообщения при растущем фронте
Тима писал(а):net xalarm <= oneshot.0.out
Импульс для аварии.

Кстати, а нужен ли oneshot? Хотя, наверное - да - всатнем на авост, и потом с него можно будет съехать. Иначе - вручную сдвигать назад.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

Nick писал(а):
Тима писал(а):net xover wcomp.0.over => oneshot.0.in message.0.trigger //???
oneshot делает из просто растущего фронта импульс длинной oneshot.0.width 0.5
setp message.0.edge 0 // - устанвка показа сообщения при растущем фронте
Тима писал(а):net xalarm <= oneshot.0.out
Импульс для аварии.

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

oneshot понял что такое?
message?
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

Из импульса
____________-----------------------------
делает импульс
____________---__________________
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Тима »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

А если просто на Авост, то чтобы продожить движение надо будет вручную крутить винты.
Ответить

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