Страница 7 из 11

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

Добавлено: 07 мар 2015, 13:55
Serg
Эта скорость движения только когда нажимаешь кнопочки + и - которые выше.

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

Добавлено: 07 мар 2015, 14:03
Тима
UAVpilot писал(а):Эта скорость движения только когда нажимаешь кнопочки + и - которые выше.
Или с клавиатуры, когда оператор управляет роботом вручную. Вот это мне и надо. Заехал за "линию", сработал естоп, сбросил скорость. Оператор сбросил естоп и выводит из опасной зоны робот. Пока робот за чертой, скорость маленькая, вышел в свободную зону - скорость "восстановилась"!
Можно?

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

Добавлено: 07 мар 2015, 14:07
Serg
В принципе можно, но что помешает оператору например попытаться выехать из запретной зоны не кнопками, а MDI-командой "G0 X0", только вот не в ту сторону?..

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

Добавлено: 07 мар 2015, 14:15
Тима
UAVpilot писал(а):В принципе можно, но что помешает оператору например попытаться выехать из запретной зоны не кнопками, а MDI-командой "G0 X0", только вот не в ту сторону?..
это нужно еще операторов учить управлять командами. А так нажал кнопку и поехал. Так проще.
какой сигнал управляет этим ползунком?

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

Добавлено: 07 мар 2015, 14:22
Тима
Я тут в доках нашел один компонент, mux2. Может через него попробовать...?

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

Добавлено: 07 мар 2015, 14:41
Тима
Вот, набросал как это возможно получится реализовать:
ww2.jpg (2640 просмотров) <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.

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

Добавлено: 07 мар 2015, 15:14
torvn77
UAVpilot писал(а):Это абсолютно бессмысленно - входные данные поступают раз в сервоцикл, соотв. реально работать компонент будет тоже раз в сервоцикл, а все остальные вызовы будут в холостую
Это если один компонент,а если их несколько и они собраны в цепочку?

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

Добавлено: 07 мар 2015, 16:21
Serg
Тима писал(а):какой сигнал управляет этим ползунком?
Никакой, это фича пользовательского интерфейса axis, т.е. чтобы управлять этим ползунком "со стороны" нужно патчить axis, ну или попытаться сделать это в ~/.axisrc, пример есть в моей теме про плазморез.
torvn77 писал(а):Это если один компонент,а если их несколько и они собраны в цепочку?
Не важно, каждый член этой цепочки будет вызван один раз в сервоцикл и данные к нему поступят тоже только раз в сервоцикл.

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

Добавлено: 07 мар 2015, 16:45
Тима
UAVpilot писал(а):пример есть в моей теме про плазморез.
Кинь сЦыль...

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

Добавлено: 07 мар 2015, 19:20
Serg
Re: Плазморез со смарт-вентиляцией #35

Нужно понимать, что в данном случае это всего лишь демонстрация идеи как можно добавить функционал в axis не трогая его исходников.

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

Добавлено: 07 мар 2015, 19:28
Тима
UAVpilot писал(а):Re: Плазморез со смарт-вентиляцией #35

Нужно понимать, что в данном случае это всего лишь демонстрация идеи как можно добавить функционал в axis не трогая его исходников.
Понял. это как с рыбой и удочкой.... :)

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

Добавлено: 07 мар 2015, 22:51
Тима
Общий принцип понятен. Правда с "орфографией" надо разбираться.
UAVpilot писал(а): это фича пользовательского интерфейса axis
Ползунок - это фича, а каким пином он управляет? Какой сигнал задает скорость?

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

Добавлено: 08 мар 2015, 00:23
Serg
Я ж написал - никакой. Там чисто программный способ - при нажатии кнопки вызывается функция из LinuxCNC API для движения с заданной скоростью. HAL в этом вообще не участвует.

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

Добавлено: 08 мар 2015, 07:06
Тима
о-как... А есть доки, где можно про эту функцию почитать?

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

Добавлено: 08 мар 2015, 07:57
Serg

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

Добавлено: 08 мар 2015, 08:32
Сергей Саныч
Тима писал(а):какой сигнал управляет этим ползунком?
Не halui.jog-speed, часом? http://linuxcnc.org/docs/html/gui/halui.html

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

Добавлено: 08 мар 2015, 09:35
Тима
Здесь вроде реализовано управление скоростью при помощи 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
Получится взять это за основу?

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

Добавлено: 08 мар 2015, 09:46
Тима
Сергей Саныч писал(а):
Тима писал(а):какой сигнал управляет этим ползунком?
Не halui.jog-speed, часом? http://linuxcnc.org/docs/html/gui/halui.html
Это вроде команда, управляющая скоростью. Теперь нужен сигнал приходящий на него с ползунка.

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

Добавлено: 08 мар 2015, 14:09
Тима
Попробовал задать 2 константы(10 и 100) на два входа mux2, выход с него подал на halui.jog-speed. В халшоу выход mux2 меняется относительно зоны, но на скорости это никак не отражается.
Копаем дальше...

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

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