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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

хочу в этой теме обратится к знающим людям, для меня и я думаю для многих начинающих линуксоедов есть много непонятного ,а когда дело касается (начинающего програмирования) то здесь полный капец .
итак, что я знаю про -PyVCP .знаю что с помощью этой абривиатуры создают чудо кнопки,да я бороздил интернетом ,да выдел много англоязычных премеов,пытался повторыть ,но все заканчивалось длинной чередой ошибок.
так с чего начать ?
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

давайте расмотрим конкретный пример
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... DI_Buttons
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Виталий писал(а):давайте расмотрим конкретный пример
В этом примере делается кнопка быстрого переезда в home, т.е. быстрого выполнения G0 X0Y0Z0

В ini добавляем следующие строчки:

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

[HALUI]
MDI_COMMAND = G0 X0 Y0 Z0
Что это нам дает, это говорит, что при появлении 1 на пине halui.mdi-command-00 будет выполнена строчка Gкода. Если написать еще строчек вида
MDI_COMMAND =
они будут вызываться соответствующими пинами halui.mdi-command-ХХ

Потом загружаем панель PyVCP, для этого добавляем строку в ini раздел [DISPLAY]

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

PYVCP=panel.xml
В принципе, можно панель загрузить и из hal, но проще сделать так как написано выше.

Также т.к. мы используем пины компонента halui нужно его загрузить, проще всего следующим образом: в раздел [HAL] в ini добавляем (или точнее проверяем, что эти строчки там есть):

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

[HAL]
HALUI=halui
POSTGUI_HALFILE = postgui.hal 
Потом нам нужен файл который описывает нашу панель. Файл в формате xml.

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

 <button>
     <halpin>"rapid-to-home"</halpin>
     <text>"Rapid to Home"</text> 
     <font>('Fixed',16)</font>
 </button>


Здесь описывается 1 кнопка. По идее надо еще написать о самой панеле. Т.е.

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

<pyvcp>
 <button>
     <halpin>"rapid-to-home"</halpin>
     <text>"Rapid to Home"</text> 
     <font>('Fixed',16)</font>
 </button>  
</pyvcp>
И в заключении, наша панель будет иметь пин pyvcp.rapid-to-home, который срабатывает при нажатии кнопки, и в LinuxCNC будет пин halui.mdi-command-00 нам надо их связать, поэтому пишем в postgui.hal следующие строчки (пишем именно в _post_gui т.к. он исполняется после загрузки графическго интерфейса и соответственно нашей панели (до этого нет нужного пина pyvcp)):

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

 # set up the rapid to home button
 net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home
ЗЫ по pyvcp на русском можно почитать здесь: EMC2 Integrators Manual Перевод на русский язык #66
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

ну все - иду на курсы быстрой печати :)
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

в моем распоряжении есть файлы те что на картинке.но нет этого (создать?)
Nick писал(а):Также т.к. мы используем пины компонента halui нужно его загрузить, проще всего следующим образом: в раздел [HAL] в ini добавляем (или точнее проверяем, что эти строчки там есть):Код: Выделить всё[HAL]HALUI=haluiPOSTGUI_HALFILE = postgui.hal
потом файл xml.-его надо создать и дать имя?
ну,а так вроде бы предельно ясно.
Вложения
Снимок-1.png (23723 просмотра) <a class='original' href='./download/file.php?id=5862&sid=938d68b461cfd4c667f65177327ef356&mode=view' target=_blank>Загрузить оригинал (58.48 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

да, создать файл с именем, которое указано здесь: PYVCP=panel.xml
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

первая кнопка созданая с помощью Ника. :good:
а как добавлять новые кнопки,ограничено ли их количество,и по поводу размещения ,только справа?
Вложения
Снимок-2.png (23703 просмотра) <a class='original' href='./download/file.php?id=5871&sid=938d68b461cfd4c667f65177327ef356&mode=view' target=_blank>Загрузить оригинал (112.13 КБ)</a>
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

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

Сообщение psha »

Даешь gladevcp :)
root, доделай конвертацию! :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

psha писал(а):Даешь gladevcp
Всем желающим изучать pyvcp - изучать gladevcp :)
(почти перлы русского языка :hehehe: )
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Да, попробуй GladeVCP, там все проще :).
PyVCP для таких ... которые все любят руками писать. Для меня Glade это как DreamWeaver для верстальщика :hehehe:.

PS в консоле sudo apt-get install glade, потом заходишь в Программы-Программирование -Glade. И там ищешь панель которая связана с LinuxCNC/
PSS У тебя LinuxCNC версии 2.5?
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

Nick писал(а):PSS У тебя LinuxCNC версии 2.5?
да ,сделал обновление.
Nick писал(а):PS в консоле sudo apt-get install glade, потом заходишь в Программы-Программирование -Glade. И там ищешь панель которая связана с LinuxCNC/
вечерком буду баловатся,спасибо.
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

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

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

Сообщение Nick »

ман по нему есть, но на английском:
http://www.linuxcnc.org/docview/html/gui/gladevcp.html
В двух словах суть примерно та же. Нужно:

1. Нарисовать панель.
2. Загрузить панель прописав в ini
или так

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

EMBED_TAB_NAME=GladeVCP demo
EMBED_TAB_COMMAND=halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -x {XID} -u ../gladevcp/hitcounter.py ../gladevcp/manual-example.ui
или так:

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

[DISPLAY]
# add GladeVCP panel where PyVCP used to live:
GLADEVCP= -u ../gladevcp/hitcounter.py ../gladevcp/manual-example.ui
3. Подключить ее пины к пинам hal в файле postgui.hal, при помощи команд net.


PS а есть какая-то конкретная задача? Может сразу на основе ее решения будем обучение проводить? :)
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

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

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

Сообщение Nick »

Ну например, на картинке из мана есть (справа, сверху вниз):
Отображение оборотов шпинделя
Номер инструмента подготовленного к смене
Номер текущего инструмента
... всякие кнопочки и пимпочки для примера...
и внизу три кнопки, чтобы поехать в 0 текущей системы координат, чтобы поехть в 0 станка и чтобы выполнить какую-то подпрограмму.

А какой у тебя станок? Давай попробуем из этого исходить.
Вложения
example-float-small.png (23633 просмотра) <a class='original' href='./download/file.php?id=5932&sid=938d68b461cfd4c667f65177327ef356&mode=view' target=_blank>Загрузить оригинал (128.08 КБ)</a>
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

станок обычный самодел 800*500*70.шпиндель -фрезер бош,электроника самодельная.
поповоду кнопок в первую очередь хотелось бы сделать пробу z, то что в теме про джойстик,заганять оси одной кнопкой в дом.вот пожалуй то что очень нужно.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Оси в дом 1 кнопкой. Просто кнопку заводин на пин halui.home-all.
А вот с пробой надо будет разобраться...

Может с GladeVCP это будет проще, чем с PyVCP... Рядом с glade часто пишут о подпрограммах Окодах...

ЗЫ похоже надо тему переименовывать :).
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

Nick писал(а):ЗЫ похоже надо тему переименовывать .
точно
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

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

Сообщение Виталий »

Nick писал(а):Оси в дом 1 кнопкой. Просто кнопку заводин на пин halui.home-all.
как (нарисовать) с GladeVCP
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Открываешь Glade, потом создаешь в нем окно (в левой вкладке) Window.
Потом на него добавляешь кнопку из раздела EMC2.
Но, лучше сначала добавить "контейнер". (Контейнеры и либо Вертикальный/Горизонтальный либо сразу таблицу.) Таблицу, если это не продиктовано требованиями имхо лучше не использовать.
Ответить

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