Страница 16 из 53
Re: GladeVCP и PyVCP для начинающих
Добавлено: 01 окт 2012, 10:36
Алексс
ооооо, в госте какие класные кнопки!
надо чтонить выдрать. спасибо!
Re: GladeVCP и PyVCP для начинающих
Добавлено: 03 окт 2012, 22:19
psha
Алексс писал(а):предлагаю к внесению к репозиторий linux cnc
Делается патч и отсылается на emc-devel (список рассылки)
Re: GladeVCP и PyVCP для начинающих
Добавлено: 16 ноя 2012, 18:45
solo
Здравствуйте
Помогите человеку создать или попользоваться чейто панелью
Установленный ЕМС 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 если я не прав то поправьте меня.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 16 ноя 2012, 19:32
Алексс
вот так попробуй
Код: Выделить всё
<pyvcp>
<hbox>
<button>
<halpin>"rapid-to-home"</halpin>
<text>"Rapid to Home"</text>
<font>('Fixed',16)</font>
</button>
</hbox>
</pyvcp>
Re: GladeVCP и PyVCP для начинающих
Добавлено: 17 ноя 2012, 15:40
solo
все так заработало оказывается формат написания очень важны буду дарзать дальше
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 10:56
Nick
Главное, что добавилось - тег <pyvcp>, и еще <hbox>, но для одной кнопки он вроде не обязателен.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 15:42
solo
Раз тема для начинающих то и вопросы будут советующие.
Есть ини файл созданный степ конфиг и в нем раздел
[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 что должен содержать данный файл если он создан?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 16:16
Nick
Код: Выделить всё
net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home
формат команды net:
net <имя сигнала> <имя пина> [<имя пина> ...]
Что делает команда:
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 - это просто имя сигнала и все. Оно ничего особенного не значит

Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 16:18
Nick
solo писал(а):HALFILE = custom.hal что должен содержать данный файл если он создан?
Этот файл должен содержать пользовательские строки hal, если ты изменишь конфигурацию при помощи stepconf, то все изменения вренессные вручную исчезнут, а вот файлы custom* не изменяться (правда я это не проверял, но по-идее должно быть так

).
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 18:50
solo
Спасибо за ответ на счет " 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 )
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 19:01
solo
А почему если я пишу команду в формате
"net halui.mdi-command-00 <= pyvcp.rapid-to-home" то ЕМС не запускает вообще???
"net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home", а в таком формате работает нормально
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 19:15
nkp
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 можно
здесь
"net remote-rapid-to-home <= pyvcp.rapid-to-homenet" - это не команда на выполнение , а команда на присоеденение
Hal состоит из компонентов
у компонентов есть пины : входы ,выходы
в хал мы эти пины (входы ,выходы) соеденяем - как в электрической схеме скручиваем проводки
Код: Выделить всё
net имя_соеденения имя_пина_выход имя_пина_вход
но если напишем наоборот - ошибки не будет
Код: Выделить всё
net имя_соеденения имя_пина_вход имя_пина_выход
тут главное чтоб один пин был out а другой in
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 19:35
nkp
Но так как один выход ("out") мы можем связать с несколькими входами(in") -
то соеденение может выглядеть так:
Код: Выделить всё
net имя_соеденения имя_пина_вход
net имя_соеденения имя_пина_вход1
net имя_соеденения имя_пина_вход2
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 19:43
nkp
...походу чет я прогнал
даже если один раз соеденяем - то имя соеденению надо давать...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 19 ноя 2012, 21:11
Nick
И самое главное, сигнал сам ничего не делает, он просто передает сигнал от присоединенного пина вывода ко всем присоединенным пинам ввода.
Т.е. что на входе сигнала, то и на выходе.
Главное правило у сигнала - один вход и сколько угодно выходов. Сделано это потому, что если будет несколько входов, то что делать, когда первый вход =1, а второй =0?
Если надо объединить два входа, то нужно использовать дополнительные компоненты, например or2 или and2, тогда реакция на 10 01 11 00 будет однозначна определена.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 23 ноя 2012, 16:42
solo
Спасибо за подсказки и наставления пока получилось создать свою панель PyVCP с кнопками и ледами вроде получается и но вот почитал тему
Как в EMC2 отобразить ход выполнения программы #15
и себе захотелось создать на панели такой виджет который будет отображать оставшееся время до окончания выполнения программы и ход выполнения программы, если не затруднит просьба подскажите как можно это реализовать в ракурсе даннной темы

Re: GladeVCP и PyVCP для начинающих
Добавлено: 23 ноя 2012, 17:00
nkp
положи файл time-estimator.py в папку конфигурации
в хал файле пропиши:
Код: Выделить всё
loadusr -Wn time-estimator python time-estimator.py
посмотри в halshow - должны появиться пины из этого списка:
Код: Выделить всё
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)
потом рисуешь панель с label
и в том же хал файле коммутируешь пины с панели с пинами из списка
Re: GladeVCP и PyVCP для начинающих
Добавлено: 23 ноя 2012, 17:21
nkp
кстати у меня с файлом из архива ругалось на отсутствие аргумента в _init_
дописал- и запустилось :
Код: Выделить всё
class TimeEstimator() :
def __init__(self) :
исравленный файл:
Re: GladeVCP и PyVCP для начинающих
Добавлено: 24 ноя 2012, 12:55
solo
Положил файл в папку с конфигурациее дописал в хел выдало ошибку насколько я понимаю то вот информация обошибке

что нужно поправить в файле?
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
Re: GladeVCP и PyVCP для начинающих
Добавлено: 24 ноя 2012, 15:40
nkp
solo писал(а):Положил файл в папку
возьми файл одним постом выше...
он исправленый