GladeVCP и PyVCP для начинающих

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

ну да... Ведь в моём персональном наборе кнопок будут и те, которые сейчас в стандартной (например, "Включение станка - F2")
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

Ведь есть в .ini запись:
[DISPLAY]
DISPLAY = axis

Так вот где этот axis лежит и где прописаны связи кнопочек в axis с пинами CNC?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Ворон226 писал(а):которые сейчас в стандартной (например, "Включение станка - F2")
смотри - тебе не надо зарываться в это ,чтоб привязать к своим кнопкам в glade функционал
все это делается через такую вещь ,как halui - хал_юзер_интерфейс
вот здесь берешь нужные пины и известным тебе способом
коммутируешь все в хал
конкретно на вкл станка кнопку коннектишь к halui.machine.off (bit, in) - пин для запроса выключения станка.
------------------
а если все таки хочешь глубже нырнуть - то опишу тебе как работает axis поподробней
но axis это не GTK (как glade) - а питон + Tk
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

да - надо отметить ,что пины halui в емс начинают работать после
внесения строки в ини:
[HAL]
HALUI = halui
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

но в принципе для стандартных кнопок в Glade уже все готово
Выделение(028).jpg (2227 просмотров) <a class='original' href='./download/file.php?id=12471&mode=view' target=_blank>Загрузить оригинал (85.95 КБ)</a>
если добавить их в меню - то ничего не надо больше дописывать
та же кнопка F2 (и другие) есть в обведенной на скрине области
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

nkp писал(а):да - надо отметить ,что пины halui в емс начинают работать после
внесения строки в ини:
[HAL]
HALUI = halui
Это я уже помню ;)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

А ещё вопрос:
В стандартной панели уже есть такие кнопочки (включение, Е-стоп и т.п.)
Но ведь мы не можем к одному входному пину присоединить две кнопки?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Ворон226 писал(а):стандартной панели
"стандартная панель" - это Axis , как я понял :)
просто это никакая не стандартная - а одна из нескольких
хотя и наиболее совершенная (хотя многие сейчас уже кидают в меня помидорами :hehehe: )
емс один - GUI несколько :
Axis GUI
Touchy GUI
TkLinuxCNC GUI
Mini GUI
Keystick GUI
поэтому сразу условимся писать -какой gui подразумеваем ;)
кнопки в Axis работают не через хал - поэтому должны работать и твои в панели , и в основном окне...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

... продолжаю.

КАК СВЯЗАТЬ КНОПКИ СВОЕЙ ПАНЕЛИ С CNC?

Для связи нашей панели с CNC используем пины компонента halui

1. Прописываем в .ini , что мы будем использовать этот компонент:
[HAL]
HALUI = halui

2. В описании EMC2 внимательно читаем о пинах компонента halui
Например,
Мы хотим на своей панели поставить индикатор "E-STOP".
Берем в Glade в разделе "HAL_PYTHON" индикатор LED (он, например, прописал свой пин как hal_led1
Ищем соответствующий пин в halui:
10.2.3 E-Stop (АВОСТ)
halui.estop.is-activated (bit, out)- отображает состояние E-stop.
Прописываем в postgui.hal (связываем эти два пина):
net led-estop <= halui.estop.is-activated => gladevcp.hal_led1

Теперь у нас индикатор на панели показывает состояние E-STOP

(если и теперь всё верно - буду работать и писать продолжение дальше)
Последний раз редактировалось Ворон226 03 мар 2013, 16:19, всего редактировалось 1 раз.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

nkp писал(а):но в принципе для стандартных кнопок в Glade уже все готово
Выделение(028).jpg
если добавить их в меню - то ничего не надо больше дописывать
та же кнопка F2 (и другие) есть в обведенной на скрине области
А я попробовал...
Всё как писалось выше:
- выбираю действие из панели EMC Actions - EMC ToggleAction ESTOP (появляется справа вверху в меню Поиск виджетов - Действия - hal_toggleaction_estop1
- Затем активирую нужную кнопочку на панели (мышкой тыкаю) и в меню справа снизу Основные в окошке Действие - Связанное действие выбираю hal_toggleaction_estop1
- Сохраняюсь
- Запускаю CNC и смотрю в Установках HAL - где же это соединение автоматически прописалось? НЕ ВИЖУ!

Что не так?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Ворон226 писал(а):- Запускаю CNC и смотрю в Установках HAL - где же это соединение автоматически прописалось? НЕ ВИЖУ!
почти все интерфейсы емс написаны на питон вкупе с библиотеками GTK или Tk
исходя из этого был создан Python Interface
это инструменты для управления емс прямо из питон - не задействуя hal
нам совершенно не нужно касаться хал для того чтоб из скрипта на питоне сделать estop
для этого пишем в функции:
self.linuxcnc.state(linuxcnc.STATE_ESTOP)

и когда вызываем эту функцию любой кнопкой - у нас срабатывает estop
и так все основные команды
вот почему ,как я писал выше, в GUI кнопки не соеденены с помощью хал
а в gladevcp к элементам EMC Actions были написаны модули питон - чтоб упростить все это
все это лежит в ~/linuxcnc-dev/lib/python/gladevcp например
поэтому никаких связей в хал в данном случае не создается....
если сумбурно написал - уточняй... :)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

Нет - всё понятно. Спасибо!
Тогда такой вопрос:
Есть такое действие в меню EMC Action в Glade - EMC Action HOME
Как сделать из неё кнопку: X в HOME?
На картинках в этой теме видел такое действие, но нигде его не нашел в Glade.
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Ворон226 писал(а):Как сделать из неё кнопку: X в HOME?
Выделение(031).jpg (2193 просмотра) <a class='original' href='./download/file.php?id=12492&mode=view' target=_blank>Загрузить оригинал (200.03 КБ)</a>
Выделение(030).jpg (2193 просмотра) <a class='original' href='./download/file.php?id=12491&mode=view' target=_blank>Загрузить оригинал (517.02 КБ)</a>
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

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

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

Ворон226 писал(а):КАК СВЯЗАТЬ КНОПКИ СВОЕЙ ПАНЕЛИ С CNC?
Для связи нашей панели с CNC используем пины компонента halui
Можно использовать не только пины halui, но и пины любых других компонентов.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

Ворон226 писал(а):Вопрос: Можно ли установить НАЧАЛЬНОЕ ЗНАЧЕНИЕ у "ползунка"? Ведь по умолчанию он становится в минимальное значение...
Nick писал(а):Можно в scale:
<initval>-15</initval>
Прописал и CNC ругнулся... А точно <initval>? Где можно почитать про установки "ползунков"?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Ворон226 писал(а):Прописал и CNC ругнулся... А точно <initval>? Где можно почитать про установки "ползунков"?
это речь о Pyvcp
вот виджеты Pyvcp:
pyvcp_widgets.py.tar
(60 КБ) 302 скачивания
в частности ползунок:
(для просмотра содержимого нажмите на ссылку)

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

class pyvcp_scale(Scale):
    """ (control) a slider 
        halpin-i is integer output 
        halpin-f is float output

        <scale>
            [ <halpin>"my-scale"</halpin> ]
            [ <resolution>0.1</resolution> ] scale value a whole number must end in '.'
            [ <orient>HORIZONTAL</orient>  ] aligns the scale horizontal
            [ <min_>-33</min_> ] sets the minimum value to -33
            [ <max_>26</max_> ] sets the maximum value to 26
            [ <initval>10</initval> ]  sets intial value to 10
        </scale>

    """
    # FIXME scale resolution when ctrl/alt/shift is held down?
    # FIXME allow user to specify size
    n=0
    def __init__(self,master,pycomp,
                    resolution=1,halpin=None,min_=0,max_=10,initval=0,**kw):
        self.resolution=resolution
        Scale.__init__(self,master,resolution=self.resolution,
                         from_=min_,to=max_,**kw)
        if halpin == None:
            halpin = "scale."+str(pyvcp_scale.n)
            pyvcp_scale.n += 1
        self.halpin=halpin
        pycomp.newpin(halpin+"-i", HAL_S32, HAL_OUT)
        pycomp.newpin(halpin+"-f", HAL_FLOAT, HAL_OUT)
        self.bind('<Button-4>',self.wheel_up)
        self.bind('<Button-5>',self.wheel_down)
        

        if initval < min_:
            self.value=min_
        elif initval > max_:
            self.value=max_
        else:
            self.value=initval

        self.set(self.value)

    def update(self,pycomp):
        pycomp[self.halpin+"-f"]=self.get()
        pycomp[self.halpin+"-i"]=int(self.get())

    def wheel_up(self,event):
        self.set(self.get()+self.resolution)

    def wheel_down(self,event):
        self.set(self.get()-self.resolution)
[ <initval>10</initval> ] sets intial value to 10
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

Странно - работает. А на станке не работало... Буду проверять.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Ворон226 »

В Glade есть форма "ЗАПИСНАЯ КНИЖКА" - GtkNotebook
Как сделать не три вкладки, а четыре? Тыкаю-тыкаю - не получается...
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

Пишу с телефона-поэтому точно не могу посмотреть,как этот пункт правильно называется.Но если память не изменяет- то ПКМ по названию notebook справа сверху в дереве,и там смотри пункты-что то навроде "добавить", а может и по другому называется))
Ответить

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