GladeVCP и PyVCP для начинающих
- Алексс
- Почётный участник

- Сообщения: 2210
- Зарегистрирован: 20 июл 2012, 15:49
- Репутация: 266
- Заслуга: IQ32
- Настоящее имя: Алексей
- Откуда: Прага
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
ооооо, в госте какие класные кнопки!
надо чтонить выдрать. спасибо!
надо чтонить выдрать. спасибо!
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Re: GladeVCP и PyVCP для начинающих
Делается патч и отсылается на emc-devel (список рассылки)Алексс писал(а):предлагаю к внесению к репозиторий linux cnc
root, доделай конвертацию! 
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Здравствуйте
Помогите человеку создать или попользоваться чейто панелью
Установленный ЕМС 2.4.3 на компьютере, который не подключен к интернету, то есть смотреть и пробовать одновременное не получается.
Попробовал скачать и перенести флешкой разные панели которые здесь были выложены в теме ничего не получается. Некоторые вообще не запускаются , на некоторых выдает какие-то ошибки.
Пошел по простому пути взял панель Ник из начала темы сделал как там написано но она не работает , то есть ели в разделе дисплей добавляю PYVCP=panel.xml а в файле с именем panel.xml размещенном в папке с конфигурацией написано так
<button>
<halpin>"rapid-to-home"</halpin>
<text>"Rapid to Home"</text>
<font>('Fixed',16)</font>
</button>
То ЕМС не запускает .
я понимаю что при таком действии должна создаться пустая панель PYVCP если я не прав то поправьте меня.
Помогите человеку создать или попользоваться чейто панелью
Установленный ЕМС 2.4.3 на компьютере, который не подключен к интернету, то есть смотреть и пробовать одновременное не получается.
Попробовал скачать и перенести флешкой разные панели которые здесь были выложены в теме ничего не получается. Некоторые вообще не запускаются , на некоторых выдает какие-то ошибки.
Пошел по простому пути взял панель Ник из начала темы сделал как там написано но она не работает , то есть ели в разделе дисплей добавляю PYVCP=panel.xml а в файле с именем panel.xml размещенном в папке с конфигурацией написано так
<button>
<halpin>"rapid-to-home"</halpin>
<text>"Rapid to Home"</text>
<font>('Fixed',16)</font>
</button>
То ЕМС не запускает .
я понимаю что при таком действии должна создаться пустая панель PYVCP если я не прав то поправьте меня.
- Алексс
- Почётный участник

- Сообщения: 2210
- Зарегистрирован: 20 июл 2012, 15:49
- Репутация: 266
- Заслуга: IQ32
- Настоящее имя: Алексей
- Откуда: Прага
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
вот так попробуй
Код: Выделить всё
<pyvcp>
<hbox>
<button>
<halpin>"rapid-to-home"</halpin>
<text>"Rapid to Home"</text>
<font>('Fixed',16)</font>
</button>
</hbox>
</pyvcp>
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
все так заработало оказывается формат написания очень важны буду дарзать дальше
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Главное, что добавилось - тег <pyvcp>, и еще <hbox>, но для одной кнопки он вроде не обязателен.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Раз тема для начинающих то и вопросы будут советующие.
Есть ини файл созданный степ конфиг и в нем раздел
[HAL]
HALUI = halui
HALFILE = JMS.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
Есть панель PyVCP на ней кнопка быстрого переезда домой
В файле = custom_postgui.hal мы пишим так ( текст взят с начала темы)
( net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home) Хотелось бы понять как данная строка получается?
Net создать связь
remote-rapid-to-home что это означает мне не понято ? . Где можно про это почить чтобы хоть немного вникнуть ?
Дальше идут имя пина кнопки и команды
<= pyvcp.rapid-to-home а что это есть только предположение что все это находится на панели PyVCP
.вопрос 2
HALFILE = custom.hal что должен содержать данный файл если он создан?
Есть ини файл созданный степ конфиг и в нем раздел
[HAL]
HALUI = halui
HALFILE = JMS.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
Есть панель PyVCP на ней кнопка быстрого переезда домой
В файле = custom_postgui.hal мы пишим так ( текст взят с начала темы)
( net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home) Хотелось бы понять как данная строка получается?
Net создать связь
remote-rapid-to-home что это означает мне не понято ? . Где можно про это почить чтобы хоть немного вникнуть ?
Дальше идут имя пина кнопки и команды
<= pyvcp.rapid-to-home а что это есть только предположение что все это находится на панели PyVCP
.вопрос 2
HALFILE = custom.hal что должен содержать данный файл если он создан?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Код: Выделить всё
net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-homenet <имя сигнала> <имя пина> [<имя пина> ...]
Что делает команда:
1. если нет сигнала <имя сигнала>, то такой сигнал создается.
2. к сигналу <имя сигнала> присоединяются пины <имя пина>, <имя пина>...
3. все знаки <= => <=> игнорируются, и нужны только для удобства чтения.
например строку выше можно написать разными способами:
(все они делают одно и тоже )
Код: Выделить всё
net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home
net remote-rapid-to-home <= pyvcp.rapid-to-home
net remote-rapid-to-home => halui.mdi-command-00
net remote-rapid-to-home <= pyvcp.rapid-to-home => halui.mdi-command-00
net remote-rapid-to-home pyvcp.rapid-to-home halui.mdi-command-00
remote-rapid-to-home - это просто имя сигнала и все. Оно ничего особенного не значит
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Этот файл должен содержать пользовательские строки hal, если ты изменишь конфигурацию при помощи stepconf, то все изменения вренессные вручную исчезнут, а вот файлы custom* не изменяться (правда я это не проверял, но по-идее должно быть такsolo писал(а):HALFILE = custom.hal что должен содержать данный файл если он создан?
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Спасибо за ответ на счет " custom_postgui.hal" и " custom.hal" все понятно можно создать резервную копию.
но мне не все понятно до конца на счет имени сигнала- я почеу и спрашивал где можно прочитаить? и честно говоря меня поставило в тупик такой формат команды
net remote-rapid-to-home <= pyvcp.rapid-to-homenet__ выполнение команды бе МДИ команды?
remote-rapid-to-home => halui.mdi-command-00 выполнениие команды без нажатия на кнопку?
А какое тогда должно быть имя команды ( какая должна быть команда ) если pyvcp кнопка должна выполнить MDI команду (G91 Z-0.1 F5 )
но мне не все понятно до конца на счет имени сигнала- я почеу и спрашивал где можно прочитаить? и честно говоря меня поставило в тупик такой формат команды
net remote-rapid-to-home <= pyvcp.rapid-to-homenet__ выполнение команды бе МДИ команды?
remote-rapid-to-home => halui.mdi-command-00 выполнениие команды без нажатия на кнопку?
А какое тогда должно быть имя команды ( какая должна быть команда ) если pyvcp кнопка должна выполнить MDI команду (G91 Z-0.1 F5 )
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
А почему если я пишу команду в формате
"net halui.mdi-command-00 <= pyvcp.rapid-to-home" то ЕМС не запускает вообще???
"net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home", а в таком формате работает нормально
"net halui.mdi-command-00 <= pyvcp.rapid-to-home" то ЕМС не запускает вообще???
"net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home", а в таком формате работает нормально
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
почитать про net можно здесьsolo писал(а):net remote-rapid-to-home <= pyvcp.rapid-to-homenet__ выполнение команды бе МДИ команды?
remote-rapid-to-home => halui.mdi-command-00 выполнениие команды без нажатия на кнопку?
А какое тогда должно быть имя команды ( какая должна быть команда ) если pyvcp кнопка должна выполнить MDI команду (G91 Z-0.1 F5 )
"net remote-rapid-to-home <= pyvcp.rapid-to-homenet" - это не команда на выполнение , а команда на присоеденение
Hal состоит из компонентов
у компонентов есть пины : входы ,выходы
в хал мы эти пины (входы ,выходы) соеденяем - как в электрической схеме скручиваем проводки
Код: Выделить всё
net имя_соеденения имя_пина_выход имя_пина_входКод: Выделить всё
net имя_соеденения имя_пина_вход имя_пина_выход
Последний раз редактировалось nkp 19 ноя 2012, 19:46, всего редактировалось 1 раз.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Но так как один выход ("out") мы можем связать с несколькими входами(in") -
то соеденение может выглядеть так:
то соеденение может выглядеть так:
Код: Выделить всё
net имя_соеденения имя_пина_вход
net имя_соеденения имя_пина_вход1
net имя_соеденения имя_пина_вход2
Последний раз редактировалось nkp 19 ноя 2012, 19:57, всего редактировалось 1 раз.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
...походу чет я прогнал
даже если один раз соеденяем - то имя соеденению надо давать...
даже если один раз соеденяем - то имя соеденению надо давать...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
И самое главное, сигнал сам ничего не делает, он просто передает сигнал от присоединенного пина вывода ко всем присоединенным пинам ввода.
Т.е. что на входе сигнала, то и на выходе.
Главное правило у сигнала - один вход и сколько угодно выходов. Сделано это потому, что если будет несколько входов, то что делать, когда первый вход =1, а второй =0?
Если надо объединить два входа, то нужно использовать дополнительные компоненты, например or2 или and2, тогда реакция на 10 01 11 00 будет однозначна определена.
Т.е. что на входе сигнала, то и на выходе.
Главное правило у сигнала - один вход и сколько угодно выходов. Сделано это потому, что если будет несколько входов, то что делать, когда первый вход =1, а второй =0?
Если надо объединить два входа, то нужно использовать дополнительные компоненты, например or2 или and2, тогда реакция на 10 01 11 00 будет однозначна определена.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Спасибо за подсказки и наставления пока получилось создать свою панель PyVCP с кнопками и ледами вроде получается и но вот почитал тему
Как в EMC2 отобразить ход выполнения программы #15
и себе захотелось создать на панели такой виджет который будет отображать оставшееся время до окончания выполнения программы и ход выполнения программы, если не затруднит просьба подскажите как можно это реализовать в ракурсе даннной темы
Как в EMC2 отобразить ход выполнения программы #15
и себе захотелось создать на панели такой виджет который будет отображать оставшееся время до окончания выполнения программы и ход выполнения программы, если не затруднит просьба подскажите как можно это реализовать в ракурсе даннной темы
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
положи файл time-estimator.py в папку конфигурации
в хал файле пропиши:
посмотри в halshow - должны появиться пины из этого списка:
потом рисуешь панель с label
и в том же хал файле коммутируешь пины с панели с пинами из списка
в хал файле пропиши:
Код: Выделить всё
loadusr -Wn time-estimator python time-estimator.pyКод: Выделить всё
h.newpin("out-hour", hal.HAL_U32, hal.HAL_OUT)
h.newpin("out-min", hal.HAL_U32, hal.HAL_OUT)
h.newpin("out-sec", hal.HAL_U32, hal.HAL_OUT)
h.newpin("out-est-hour", hal.HAL_U32, hal.HAL_OUT)
h.newpin("out-est-min", hal.HAL_U32, hal.HAL_OUT)
h.newpin("out-est-sec", hal.HAL_U32, hal.HAL_OUT)
h.newpin("enable", hal.HAL_BIT, hal.HAL_IN)
h.newpin("len", hal.HAL_U32, hal.HAL_IN)
h.newpin("str", hal.HAL_U32, hal.HAL_IN)
h.newpin("reset", hal.HAL_BIT, hal.HAL_IO)и в том же хал файле коммутируешь пины с панели с пинами из списка
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
кстати у меня с файлом из архива ругалось на отсутствие аргумента в _init_
дописал- и запустилось :
исравленный файл:
дописал- и запустилось :
Код: Выделить всё
class TimeEstimator() :
def __init__(self) :
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Положил файл в папку с конфигурациее дописал в хел выдало ошибку насколько я понимаю то вот информация обошибке
что нужно поправить в файле?
Debug file information:
Traceback (most recent call last):
File "time-estimator.py", line 80, in <module>
est = TimeEstimator()
TypeError: __init__() takes no arguments (1 given)
custom_postgui.hal:8: python exited without becoming ready
3289
PID TTY STAT TIME COMMAND
3343
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Debug file information:
Traceback (most recent call last):
File "time-estimator.py", line 80, in <module>
est = TimeEstimator()
TypeError: __init__() takes no arguments (1 given)
custom_postgui.hal:8: python exited without becoming ready
3289
PID TTY STAT TIME COMMAND
3343
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
возьми файл одним постом выше...solo писал(а):Положил файл в папку
он исправленый
