Страница 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
Раз тема для начинающих то и вопросы будут советующие. :monkey:
Есть ини файл созданный степ конфиг и в нем раздел
[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 что это означает мне не понято ? . Где можно про это почить чтобы хоть немного вникнуть ? :pssdoff:
Дальше идут имя пина кнопки и команды
<= 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
и себе захотелось создать на панели такой виджет который будет отображать оставшееся время до окончания выполнения программы и ход выполнения программы, если не затруднит просьба подскажите как можно это реализовать в ракурсе даннной темы :beer_blow:

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) :
Выделение(007).jpg (2297 просмотров) <a class='original' href='./download/file.php?id=9657&mode=view' target=_blank>Загрузить оригинал (97.83 КБ)</a>
исравленный файл:
time-estimator.py.rar
(1.1 КБ) 389 скачиваний

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

Добавлено: 24 ноя 2012, 12:55
solo
Положил файл в папку с конфигурациее дописал в хел выдало ошибку насколько я понимаю то вот информация обошибке :thinking: что нужно поправить в файле?

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 писал(а):Положил файл в папку
возьми файл одним постом выше...
он исправленый