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

- Сообщения: 3162
- Зарегистрирован: 01 мар 2012, 20:47
- Репутация: 1089
- Настоящее имя: Тимур
- Откуда: КБР
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Или с клавиатуры, когда оператор управляет роботом вручную. Вот это мне и надо. Заехал за "линию", сработал естоп, сбросил скорость. Оператор сбросил естоп и выводит из опасной зоны робот. Пока робот за чертой, скорость маленькая, вышел в свободную зону - скорость "восстановилась"!UAVpilot писал(а):Эта скорость движения только когда нажимаешь кнопочки + и - которые выше.
Можно?
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Я все пойму, Вы только дайте денег!!!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
В принципе можно, но что помешает оператору например попытаться выехать из запретной зоны не кнопками, а 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: нестандартная рабочая зона на ЕМС для робота
Вот, набросал как это возможно получится реализовать:
Верхний алгоритм это то, как сейчас работает(я так думаю).
Нижний это то, что надо.
"конст.10" это константа маленькой скорости, "ползунок" это понятно, дальше блок mix2. На sel0 подается сигнал от and2, который показывает в какой зоне находится робот(0-свободная зона, 1-запретная зона). Если на sel0 приходит "0", то робот работает по скорости с ползунка, если приходит 1 скорость равна "конст.10".
P.S. с входами напутал, ползунок должен подключаться к in0, "конст.10" к in1.
Нижний это то, что надо.
"конст.10" это константа маленькой скорости, "ползунок" это понятно, дальше блок mix2. На sel0 подается сигнал от and2, который показывает в какой зоне находится робот(0-свободная зона, 1-запретная зона). Если на sel0 приходит "0", то робот работает по скорости с ползунка, если приходит 1 скорость равна "конст.10".
P.S. с входами напутал, ползунок должен подключаться к in0, "конст.10" к in1.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Я все пойму, Вы только дайте денег!!!
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Это если один компонент,а если их несколько и они собраны в цепочку?UAVpilot писал(а):Это абсолютно бессмысленно - входные данные поступают раз в сервоцикл, соотв. реально работать компонент будет тоже раз в сервоцикл, а все остальные вызовы будут в холостую
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Никакой, это фича пользовательского интерфейса axis, т.е. чтобы управлять этим ползунком "со стороны" нужно патчить axis, ну или попытаться сделать это в ~/.axisrc, пример есть в моей теме про плазморез.Тима писал(а):какой сигнал управляет этим ползунком?
Не важно, каждый член этой цепочки будет вызван один раз в сервоцикл и данные к нему поступят тоже только раз в сервоцикл.torvn77 писал(а):Это если один компонент,а если их несколько и они собраны в цепочку?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Тима
- Почётный участник

- Сообщения: 3162
- Зарегистрирован: 01 мар 2012, 20:47
- Репутация: 1089
- Настоящее имя: Тимур
- Откуда: КБР
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Кинь сЦыль...UAVpilot писал(а):пример есть в моей теме про плазморез.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Я все пойму, Вы только дайте денег!!!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Re: Плазморез со смарт-вентиляцией #35
Нужно понимать, что в данном случае это всего лишь демонстрация идеи как можно добавить функционал в axis не трогая его исходников.
Нужно понимать, что в данном случае это всего лишь демонстрация идеи как можно добавить функционал в 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: нестандартная рабочая зона на ЕМС для робота
Я ж написал - никакой. Там чисто программный способ - при нажатии кнопки вызывается функция из LinuxCNC API для движения с заданной скоростью. HAL в этом вообще не участвует.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Тима
- Почётный участник

- Сообщения: 3162
- Зарегистрирован: 01 мар 2012, 20:47
- Репутация: 1089
- Настоящее имя: Тимур
- Откуда: КБР
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
о-как... А есть доки, где можно про эту функцию почитать?
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Я все пойму, Вы только дайте денег!!!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: нестандартная рабочая зона на ЕМС для робота
Например тут: http://linuxcnc.org/docs/devel/html/com ... rface.html
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 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: нестандартная рабочая зона на ЕМС для робота
Нет. Ползунок и кнопки "+" и "-" - это часть интерфейса axis, нет смысл вытаскивать их в HAL.Сергей Саныч писал(а):Не halui.jog-speed, часом?
При нажатии кнопки выполняется метод
linuxcnc.jog(linuxcnc.JOG_CONTINUOUS, axis, speed)
speed - это и есть значение ползунка.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...