PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Nick » 23 окт 2010, 13:46

PyVCP дополнительный интерфейс для EMC2 LinuxCNC emc2 pyVCP example.png
Не секрет, что стандартных графических интерфейсов EMC2 не всегда достаточно для удобного решения многих задач. Но модульная компоновка EMC2 добавлять пользовательские элементы управления станком, в том числе из отдельного процесса. Одним из способов задания элементов управления является pyVCP.

К сожалению, документация по pyVCP не очень обширна, а на русском языке практически отсутствует. Поэтому посвятим эту тему работе с pyVCP.

Итак, что же такое pyVCP

PyVCP (Python Virtual Control Panel) программа написанная на python которая использует модули gtk и hal. Значительно упрощает создание графических интерфейсов для hal. Использование pyVCP отделяет создание интерфейса от непосредственного программирования.

Какими возможностями обладает pyVCP

С помощью pyVCP можно контролировать любой параметр HAL в любой момент времени.
PyVCP можкт запускаться как отдельно (standalone) так и интегрировано в другие графические интерфейсы EMC2 например Axis.
...Это не законченный раздел вы можете помочь в его оформлении...

Базовые элементы pyVCP

Label

Простое текстовое поле.

LED

LED это своего рода контрольный диод, служит для индикации состояния конкретного halpin. LED может быть круглым и квадратным.

Texe button

Текстовая кнопка контролирует состояние конкретного halpin. Значение halpin будет равно False до тех пор пака кнопка не будет нажата. После нажатия значение станет True. Текстовая кнопка может только включить halpin.

Checkbutton

Работает так же как и текстовая кнопка, но позволяет включать и выключать halpin. Если checkbutton нажат, то halpin равен True, если отжат, то False.

Radiobutton

Включает только один из набора halpin, остальные делает выключенными.

Number

Отображает число с плавающей запятой (float).

S32

Отображает целое число от −2 147 483 648 до 2 147 483 647. (S32 - signed 32bit int)

Bar

Отображает значение вещественного числа как графически, так и текстом.

Meter

Отображает значение вещественного в виде круговой шкалы.

Spinbox

Задает значение числа с двумя кнопками увеличения и уменьшения. Можно изменять число нажимая на кнопки или навести на Spinbox указатель мышки крутить колесико.

Scale

Задает цело или вещественное число при помощи слайдера. Можно менять перетаскиванием или при помощи колеса мышки.

Dial

Позволяет изменять действительное число с заданной точностью. Отображает число в текстовом виде и в виде "поворотной ручки".

Jogwheel

Позволяет изменять действительное число с заданной точностью. Отображает число в виде "поворотной ручки".

Image Bit

Изменяет картинку в зависимости от состояния конкретного halpin.

Image U32

Изменяет картинку в зависимости от значения целого числа.

Контейнеры

Контейнеры позволяют компоновать различные базовые элементы pyVCP в окне. Если формализовать, то контейнер может содержать только один элемент - либо управляющий элемент либо контейнер. Главное окно это тоже контейнер. Таким образом, чтобы создать три кнопки нам нужно создать горизонтальный контейнер с тремя местами и в каждое место вставить по кнопке. Такой метод компоновки взят напрямую из библиотеки gtk. На первый взгляд кажется не удобным, но поработав чуть-чуть с gtk я признаю ее очень удобной.

Hbox

Горизонтальный контейнер компонует элементы горизонтально.

Vbox

Вертикальный контейнер компонует элементы Вертикально.

Labelframe

Создает рамку с надписью.

Table

Компонует элементы в таблицу. При этом можно объединять ячейки.

Tabs

Cоздает панель со вкладками.

Пример использования pyVCP

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

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Lexxa » 11 мар 2012, 20:57

Все же я решил сделать имитацию пульта станка.
Дела с PyVCP никогда не имел. Прописать несколько контейнеров внутри одног, чтобы они там лжали в определенной последовательности? Как задать их размер или координаты вершин?
Контейнер внутри контейнера делать?
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2599
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 300
Медальки:
Настоящее имя: Алексей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение nkp » 11 мар 2012, 21:17

http://www.linuxcnc.org/docview/2.5/html/hal/pyvcp.html
Расположение по порядку располож в XML в соответствии vbox и hbox
nkp
Мастер
 
Сообщения: 7764
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1408
Медальки:

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Lexxa » 11 мар 2012, 22:02

Все элементы внутри vbox располагаются вертикально, а внутри hbox - горизонтально, правильно я понимаю?
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2599
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 300
Медальки:
Настоящее имя: Алексей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение nkp » 11 мар 2012, 22:04

Точно
nkp
Мастер
 
Сообщения: 7764
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1408
Медальки:

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Lexxa » 11 мар 2012, 23:38

а как в radiobutton сделать по умолчанию не первую галку?
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2599
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 300
Медальки:
Настоящее имя: Алексей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Nick » 13 мар 2012, 00:51

хммм... хороший вопрос...


Кстати, для компоновки виджетов также можно использовать table, если это будет удобнее.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Lexxa » 13 мар 2012, 00:53

что за table?
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2599
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 300
Медальки:
Настоящее имя: Алексей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Nick » 13 мар 2012, 01:01

Ну это как бы hbox умножить на vbox :). Т.е. таблица из виджетов, вот пример (отсюда http://linuxcnc.org/docs/html/hal_pyvcp.html#r1_6_7_5):
Код: Выделить всёРазвернуть
<table flexible_rows="[2]" flexible_columns="[1,4]">
<tablesticky sticky="new"/>
<tablerow/>
    <label>
        <text>" A (cell 1,1) "</text>
        <relief>RIDGE</relief>
        <bd>3</bd>
    </label>
    <label text="B (cell 1,2)"/>
        <tablespan columns="2"/>
    <label text="C, D (cells 1,3 and 1,4)"/>
<tablerow/>
    <label text="E (cell 2,1)"/>
    <tablesticky sticky="nsew"/>
    <tablespan rows="2"/>
    <label text="'spans\n2 rows'"/>
    <tablesticky sticky="new"/>
    <label text="G (cell 2,3)"/>
    <label text="H (cell 2,4)"/>
<tablerow/>
    <label text="J (cell 3,1)"/>
    <label text="K (cell 3,2)"/>
    <u32 halpin="test"/>
</table>
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение Lexxa » 13 мар 2012, 01:11

а, понял
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2599
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 300
Медальки:
Настоящее имя: Алексей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение aftaev » 17 янв 2015, 23:24

Nick, а где с чего начинать и куды все писать :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30554
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5425
Медальки:

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение tooshka » 17 янв 2015, 23:31

aftaev писал(а):Nick, а где с чего начинать и куды все писать

Вот тут почитай
fоrumсnс....../showthread.php?7207-GladeVCP-%E8-PyVCP-%E4%EB%FF-%ED%E0%F7%E8%ED%E0%FE%F9%E8%F5/page2&s=b9451dc936e80e479923aa9b10e3fd47
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
 
Сообщения: 1798
Зарегистрирован: 24 окт 2012, 14:26
Откуда: Нижний Новгород
Репутация: 209
Медальки:
Настоящее имя: Андрей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение UAVpilot » 17 янв 2015, 23:35

tooshka писал(а):Вот тут почитай
http://forumcnc...../showthread.php?7207- ... 9b10e3fd47

Ага! Вот кто у нас продвигает сайты-клоны! Изображение
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 18670
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4566
Медальки:
Настоящее имя: Сергей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение tooshka » 17 янв 2015, 23:40

UAVpilot писал(а):Ага! Вот кто у нас продвигает сайты-клоны!

Та нет ))) я просто помочь хотел. Набрал в поиске оно и вылезло.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
 
Сообщения: 1798
Зарегистрирован: 24 окт 2012, 14:26
Откуда: Нижний Новгород
Репутация: 209
Медальки:
Настоящее имя: Андрей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение UAVpilot » 17 янв 2015, 23:42

И решил помочь ему вылезать впереди всех? :)
Лучше вот этому помогай: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=1875
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 18670
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4566
Медальки:
Настоящее имя: Сергей

Re: PyVCP дополнительный интерфейс для EMC2 LinuxCNC

Сообщение tooshka » 17 янв 2015, 23:44

Да залет конкретный. Ну что пойду затылок зеленкой мазать))).
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
 
Сообщения: 1798
Зарегистрирован: 24 окт 2012, 14:26
Откуда: Нижний Новгород
Репутация: 209
Медальки:
Настоящее имя: Андрей


Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: AlexZW, Bing [Bot], Dmitry18, DronDS, FLUKE, gess05, Google [Bot], Kiriller, Leo_1943, leon72, Majestic-12 [Bot], MaksSavchuk, Mehobr, neonas, nevkon, NickSon, Nikolas8, Гагарин, Samodelkin 88, Smlua, Tigra73, VDMGroup, verser, Yandex [bot], Леонид Владимирович

Reputation System ©'