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

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

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

Сообщение Serg »

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

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

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

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

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

Сообщение Serg »

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

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

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

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

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

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

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

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

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

Вот, набросал как это возможно получится реализовать:
ww2.jpg (2647 просмотров) <a class='original' href='./download/file.php?id=44773&mode=view' target=_blank>Загрузить оригинал (31.14 КБ)</a>
Верхний алгоритм это то, как сейчас работает(я так думаю).
Нижний это то, что надо.
"конст.10" это константа маленькой скорости, "ползунок" это понятно, дальше блок mix2. На sel0 подается сигнал от and2, который показывает в какой зоне находится робот(0-свободная зона, 1-запретная зона). Если на sel0 приходит "0", то робот работает по скорости с ползунка, если приходит 1 скорость равна "конст.10".

P.S. с входами напутал, ползунок должен подключаться к in0, "конст.10" к in1.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

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

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

Сообщение Serg »

Тима писал(а):какой сигнал управляет этим ползунком?
Никакой, это фича пользовательского интерфейса axis, т.е. чтобы управлять этим ползунком "со стороны" нужно патчить axis, ну или попытаться сделать это в ~/.axisrc, пример есть в моей теме про плазморез.
torvn77 писал(а):Это если один компонент,а если их несколько и они собраны в цепочку?
Не важно, каждый член этой цепочки будет вызван один раз в сервоцикл и данные к нему поступят тоже только раз в сервоцикл.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

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

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

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

Сообщение Serg »

Re: Плазморез со смарт-вентиляцией #35

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

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

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

UAVpilot писал(а):Re: Плазморез со смарт-вентиляцией #35

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

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

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

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

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

Сообщение Serg »

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

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

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

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

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

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

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

Тима писал(а):какой сигнал управляет этим ползунком?
Не halui.jog-speed, часом? http://linuxcnc.org/docs/html/gui/halui.html
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

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

Здесь вроде реализовано управление скоростью при помощи USB-устройства: https://github.com/araisrobo/linuxcnc/b ... xpress.hal
вот кусок с него, где задаются константы скорости:

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

# each of the 8 tristate floats has a constant jog speed on it
# speeds are specified as "fraction of machine max speed"
setp tristate-float.sxp0.in    0.0
setp tristate-float.sxp1.in    0.5
setp tristate-float.sxp2.in    1.0
setp tristate-float.sxp3.in    5.0
setp tristate-float.sxp4.in   10.0
setp tristate-float.sxp5.in   20.0
setp tristate-float.sxp6.in  150.0
setp tristate-float.sxp7.in  240.0

# all of the 8 tristate floats are connected together, one of them drives
# the net
net sxp.abs-jog-speed <= tristate-float.sxp0.out
net sxp.abs-jog-speed <= tristate-float.sxp1.out
net sxp.abs-jog-speed <= tristate-float.sxp2.out
net sxp.abs-jog-speed <= tristate-float.sxp3.out
net sxp.abs-jog-speed <= tristate-float.sxp4.out
net sxp.abs-jog-speed <= tristate-float.sxp5.out
net sxp.abs-jog-speed <= tristate-float.sxp6.out
net sxp.abs-jog-speed <= tristate-float.sxp7.out

net sxp.abs-jog-speed => halui.jog-speed
Получится взять это за основу?
Последний раз редактировалось Тима 08 мар 2015, 09:47, всего редактировалось 1 раз.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

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

Сергей Саныч писал(а):
Тима писал(а):какой сигнал управляет этим ползунком?
Не halui.jog-speed, часом? http://linuxcnc.org/docs/html/gui/halui.html
Это вроде команда, управляющая скоростью. Теперь нужен сигнал приходящий на него с ползунка.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

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

Попробовал задать 2 константы(10 и 100) на два входа mux2, выход с него подал на halui.jog-speed. В халшоу выход mux2 меняется относительно зоны, но на скорости это никак не отражается.
Копаем дальше...
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Сергей Саныч писал(а):Не halui.jog-speed, часом?
Нет. Ползунок и кнопки "+" и "-" - это часть интерфейса axis, нет смысл вытаскивать их в HAL.
При нажатии кнопки выполняется метод
linuxcnc.jog(linuxcnc.JOG_CONTINUOUS, axis, speed)
speed - это и есть значение ползунка.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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