Страница 22 из 53
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 мар 2013, 22:16
Ворон226
ну да... Ведь в моём персональном наборе кнопок будут и те, которые сейчас в стандартной (например, "Включение станка - F2")
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 мар 2013, 22:23
Ворон226
Ведь есть в .ini запись:
[DISPLAY]
DISPLAY = axis
Так вот где этот axis лежит и где прописаны связи кнопочек в axis с пинами CNC?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 мар 2013, 22:24
nkp
Ворон226 писал(а):которые сейчас в стандартной (например, "Включение станка - F2")
смотри - тебе не надо зарываться в это ,чтоб привязать к своим кнопкам в glade функционал
все это делается через такую вещь ,как halui - хал_юзер_интерфейс
вот здесь берешь нужные пины и известным тебе способом
коммутируешь все в хал
конкретно на вкл станка кнопку коннектишь к
halui.machine.off (bit, in) - пин для запроса выключения станка.
------------------
а если все таки хочешь глубже нырнуть - то опишу тебе как работает axis поподробней
но axis это не GTK (как glade) - а питон + Tk
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 мар 2013, 22:27
nkp
да - надо отметить ,что пины halui в емс начинают работать после
внесения строки в ини:
[HAL]
HALUI = halui
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 мар 2013, 22:40
nkp
но в принципе для стандартных кнопок в Glade уже все готово
если добавить их в меню - то ничего не надо больше дописывать
та же кнопка F2 (и другие) есть в обведенной на скрине области
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 00:45
Ворон226
nkp писал(а):да - надо отметить ,что пины halui в емс начинают работать после
внесения строки в ини:
[HAL]
HALUI = halui
Это я уже помню

Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 00:47
Ворон226
А ещё вопрос:
В стандартной панели уже есть такие кнопочки (включение, Е-стоп и т.п.)
Но ведь мы не можем к одному входному пину присоединить две кнопки?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 00:58
nkp
Ворон226 писал(а):стандартной панели
"стандартная панель" - это Axis , как я понял
просто это никакая не стандартная - а одна из нескольких
хотя и наиболее совершенная (хотя многие сейчас уже кидают в меня помидорами

)
емс один - GUI несколько :
Axis GUI
Touchy GUI
TkLinuxCNC GUI
Mini GUI
Keystick GUI
поэтому сразу условимся писать -какой gui подразумеваем
кнопки в Axis работают не через хал - поэтому должны работать и твои в панели , и в основном окне...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 09:52
Ворон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
(если и теперь всё верно - буду работать и писать продолжение дальше)
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 09:58
Ворон226
nkp писал(а):но в принципе для стандартных кнопок в Glade уже все готово
Выделение(028).jpg
если добавить их в меню - то ничего не надо больше дописывать
та же кнопка F2 (и другие) есть в обведенной на скрине области
А я попробовал...
Всё как писалось выше:
- выбираю действие из панели EMC Actions - EMC ToggleAction ESTOP (появляется справа вверху в меню Поиск виджетов - Действия - hal_toggleaction_estop1
- Затем активирую нужную кнопочку на панели (мышкой тыкаю) и в меню справа снизу Основные в окошке Действие - Связанное действие выбираю hal_toggleaction_estop1
- Сохраняюсь
- Запускаю CNC и смотрю в Установках HAL - где же это соединение автоматически прописалось? НЕ ВИЖУ!
Что не так?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 10:27
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 например
поэтому никаких связей в хал в данном случае не создается....
если сумбурно написал - уточняй...

Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 13:02
Ворон226
Нет - всё понятно. Спасибо!
Тогда такой вопрос:
Есть такое действие в меню EMC Action в Glade - EMC Action HOME
Как сделать из неё кнопку: X в HOME?
На картинках в этой теме видел такое действие, но нигде его не нашел в Glade.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 18:12
nkp
Ворон226 писал(а):Как сделать из неё кнопку: X в HOME?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 мар 2013, 23:15
Ворон226
Спасибо! Не заметил в Действии менюшку Axis.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 04 мар 2013, 16:09
Nick
Ворон226 писал(а):КАК СВЯЗАТЬ КНОПКИ СВОЕЙ ПАНЕЛИ С CNC?
Для связи нашей панели с CNC используем пины компонента halui
Можно использовать не только пины halui, но и пины любых других компонентов.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 16 мар 2013, 15:38
Ворон226
Ворон226 писал(а):Вопрос: Можно ли установить НАЧАЛЬНОЕ ЗНАЧЕНИЕ у "ползунка"? Ведь по умолчанию он становится в минимальное значение...
Nick писал(а):Можно в scale:
<initval>-15</initval>
Прописал и CNC ругнулся... А точно <initval>? Где можно почитать про установки "ползунков"?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 16 мар 2013, 16:12
nkp
Ворон226 писал(а):Прописал и CNC ругнулся... А точно <initval>? Где можно почитать про установки "ползунков"?
это речь о Pyvcp
вот виджеты Pyvcp:
в частности ползунок:
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
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
Re: GladeVCP и PyVCP для начинающих
Добавлено: 16 мар 2013, 20:54
Ворон226
Странно - работает. А на станке не работало... Буду проверять.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 17 мар 2013, 19:07
Ворон226
В Glade есть форма "ЗАПИСНАЯ КНИЖКА" - GtkNotebook
Как сделать не три вкладки, а четыре? Тыкаю-тыкаю - не получается...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 17 мар 2013, 22:13
nkp
Пишу с телефона-поэтому точно не могу посмотреть,как этот пункт правильно называется.Но если память не изменяет- то ПКМ по названию notebook справа сверху в дереве,и там смотри пункты-что то навроде "добавить", а может и по другому называется))