Страница 24 из 53
Re: GladeVCP и PyVCP для начинающих
Добавлено: 29 мар 2013, 18:42
Nick
Ворон226 писал(а):Но вот запоминать начальную установку ползунка так и не желает...
Кстати у adjustment есть вот такие штуки:
def get_page_increment()
def set_page_increment(page_increment)
def get_page_size()
def set_page_size(page_size)
def get_step_increment()
def set_step_increment(step_increment)
Т.е. можно похоже настраивать шаги для кнопок и колесика или PageUp...
О, на что еще наткнулся на просторах интернета:
Today I discovered a strange behavior while working with glade and gtk-adjustments, in particular I noticed that the default value of an adjustment was not properly loaded inside my spinbutton widget. So I wrote on the mailing-list and they pointed me out this.
The solution? Edit the xml file hand, and modify the adjustment object in order to make the value attribute being placed after the upper and the lower one.
попробуй в .ui поставить value в самый низ adjusment.
Ворон226 писал(а):Вопрос: Как организовать процедуру СТОП корректно? Т.е. остановить программу и установить пины в нужное значение, как одно действие (одно нажатие кнопки на MyGUI).
Только через доп компонент. Либо через and2 для каждого digital, и mux для analog, либо написать свой компонент enable, в котором будем "прокидывать" пины наружу только если работает enable. В принципе простой должен получиться компонент... надо бы накатать на досуге...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 29 мар 2013, 21:01
Ворон226
Nick писал(а):Только через доп компонент. Либо через and2 для каждого digital, и mux для analog, либо написать свой компонент enable, в котором будем "прокидывать" пины наружу только если работает enable. В принципе простой должен получиться компонент... надо бы накатать на досуге...
Т.е. сигналом STOP прописывать motion.digital-out-02, например, А при снятии его - разрешать управление через G-код? Нужно будет покумекать на выходных...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 30 мар 2013, 12:12
Nick
Сделать компонент с N штуками пинов BIT, S32, U32, FLOAT типов IN и OUT, и пином enable и внутри сделать один if - if not enable - все выходы в 0, иначе все выходы равны входам.
Можно тоже самое сделать и с n компонентов and2,or2, xor2 или mux2.
Если у тебя всего несколько таких пинов сделай через and2 и mux2.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 30 мар 2013, 15:05
Ворон226
А есть опыт использования компонентов and2,or2, xor2 или mux2? Какое их количество следует считать нормальным? Один, два, десять, сто?

А то я уже много логики выстроил на этих компонентах (индикаторные фонари, переменная скорость при нажатии кнопочек перемещения, режимы работы насоса и т.п.)
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 апр 2013, 15:39
Ворон226
Nick писал(а):Сделать компонент с N штуками пинов BIT, S32, U32, FLOAT типов IN и OUT, и пином enable и внутри сделать один if - if not enable - все выходы в 0, иначе все выходы равны входам.
А в качестве
enable использовать, например,
halui.program.is-idle (bit, out) - пин отображающий, что никакая управляющая программа не запущена.
Т.е. если выполняется программа, то входные пины передаются на выход компонента. А, если никакой программы не выполняется, то выходные пины обнулены.
Так?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 апр 2013, 20:50
Ворон226
Написал компонент, но по причине малого опыта в Python-е - конечно, с ошибкой.
Читаю второй час о синтаксисе в Python - ничего про переменные и их значения не нашел...
Что же тут нужно подправить?
Код: Выделить всё
#!/usr/bin/python
import hal
h=hal.component("enrun")
h.newpin("in1", hal.HAL_BIT, hal.HAL_IN)
h.newpin("in2", hal.HAL_BIT, hal.HAL_IN)
h.newpin("in3", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("out1", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("out2", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("out3", hal.HAL_FLOAT, hal.HAL_OUT)
h.newpin("enable", hal.HAL_BIT, hal.HAL_IN)
h.ready()
try:
while 1:
if h['enable'] in True:
h['out1']=0
h['out2']=0
h['out3']=0
else:
h['out1']=h['in1']
h['out2']=h['in2']
h['out3']=h['in3']
except KeyboardInterrupt:
raise SystemExit
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 апр 2013, 20:55
nkp
if h['enable'] ==1 :
Re: GladeVCP и PyVCP для начинающих
Добавлено: 02 апр 2013, 21:05
Ворон226
Угу - спасибо!
Re: GladeVCP и PyVCP для начинающих
Добавлено: 11 апр 2013, 18:16
solo
Подскажите пж
Делаю замену инструмента в два этапа которые запускаю с панели PyVCP через МДИ команды с помошу соотвецтвующих кнопок
Код: Выделить всё
Первый этап: (Замер длинны инструмента)
G53 G0 Z0 (Едем в нужную точку)
G53 G0 X0 Y0
G91 G38.3 Z-100 F500 (Делаем пробу)
G91 G38.5 Z10 F15
#1000=#5063 (Запоминаем положение, относительно него потом будем задавать компенсацию для других инструментов)
G90 G53 G0 Z0 (Едем назад)
М2
Второй этап: (Привязка инструмента)
G53 G0 Z0 (Едем в нужную точку)
G53 G0 X0 Y0
G91 G38.3 Z-100 F500 (Делаем пробу)
G91 G38.5 Z10 F15
G43.1 Z[#5063-#1000] (Устанавливаем значение отступа)
G90 G53 G0 Z0 (Едем назад)
М2
Можно ли сделать так что бы после того как мы сделали первый этап то кнопка или лед на панели PyVCP изменила цвет ну или как то отображать что в ячейке #1000 уже находится какоето значение отступа . Необходимоа индикациая , что первый этап ( замер длинны инструмента выполнен)
Re: GladeVCP и PyVCP для начинающих
Добавлено: 11 апр 2013, 19:35
nkp
solo писал(а):Можно ли сделать так что бы после того как мы сделали первый этап то кнопка или лед на панели PyVCP изменила цвет
можно в нужном месте вставлять
М-код(например M138):
Код: Выделить всё
#!/bin/bash
halcmd setp pinname.00 True
exit 0
Re: GladeVCP и PyVCP для начинающих
Добавлено: 12 апр 2013, 15:47
solo
Чегото я недокумекал какой пин создает у меня М138
Сделал файл с именем М138 (без расширения) с содержимым с поста выше #470
положил его в папку с конфигурациее
Добавил ему в свойства выполнение как программа
В коде Ж в нужное место добавил М138
на панели PyVCP добавил лед для индикации
в польззовательском хел должен создать связя лед с М138 а как пин (М138) називается ни бум-бум
пробовал по разному но не как
пробовал в М138 писать и
halcmd setp pyvcp.my-led True
так ЕМС грузится но ЛЕД не переключается
Re: GladeVCP и PyVCP для начинающих
Добавлено: 12 апр 2013, 17:16
Ворон226
А разве пин не называется pinname.00 ?
Ведь, если в M138 написано:
halcmd setp pinname.00 True
что говорит о том, что пин pinname.00 перевести в состояние True
то в hal нужно прописать:
net led138 pinname.00 pyvcp.my-led
Но, как мне кажется, проще сделать так:
В конце этапа выполнения программы прописать G-код:
M64 Pnn
, где nn - номер пина digital-out-nn
Например:
M64 P00
А в hal-е:
net led digital-out-00 pyvcp.my-led
Re: GladeVCP и PyVCP для начинающих
Добавлено: 12 апр 2013, 17:41
solo
Не чегото у меня ЕМС ругается на эти строки
net led138 pinname.00 pyvcp.my-led
и на эту тоже
net led digital-out-00 pyvcp.my-led
пишет что он не находит таких пинов (pinname.00 или digital-out-00 )
Re: GladeVCP и PyVCP для начинающих
Добавлено: 12 апр 2013, 18:32
Ворон226
solo писал(а):Не чегото у меня ЕМС ругается на эти строки
net led138 pinname.00 pyvcp.my-led
и на эту тоже
net led digital-out-00 pyvcp.my-led
пишет что он не находит таких пинов (pinname.00 или digital-out-00 )
Исправь:
net led motion.digital-out-00 pyvcp.my-led
(
motion.digital-out-00 (bit, out) Эти пины (00, 01, 02, 03 и более, если настроены) контролируются M62-65.)
Re: GladeVCP и PyVCP для начинающих
Добавлено: 13 апр 2013, 11:07
solo
О теперь работает как надо ПАСИБО

Re: GladeVCP и PyVCP для начинающих
Добавлено: 15 апр 2013, 17:04
Nick
Ворон226 писал(а):А есть опыт использования компонентов and2,or2, xor2 или mux2? Какое их количество следует считать нормальным? Один, два, десять, сто? А то я уже много логики выстроил на этих компонентах (индикаторные фонари, переменная скорость при нажатии кнопочек перемещения, режимы работы насоса и т.п.)
Как то этот вопрос поднимал nkp. Ответа так и не нашли. В принципе повлиять они могут только на base-thread. Если они будут в основном подключены к servo - то навряд ли повлияют. Да и при современных мощностях поцессоров - тоже вряд ли окажут хоть какое-то ощутимое влияние... надо бы конечно все это оттестировать...
Re: GladeVCP и PyVCP для начинающих
Добавлено: 20 май 2013, 15:57
Ворон226
На очередном компе стал запускать Glade с панелькой, написанной на другом компе. А Glade не может открыть его... Пишет, что "необходимые каталоги gladevcp недоступны".
Открыл в Приложениях Центр приложений и проверил - чего же там не хватает? Использовал в поисковике "Glade" - получил список установленных приложений и сравнил с теми, что есть на другом компе (на котором панельку рисовал):
Не хватает "Поддержка Glade" и "библиотека для загрузки файлов .glade..."
Но в Центре поддержки на втором компе из Центра приложений не получается найти этих приложений
Фактически в Glade не хватает библиотеки EMC Action.
И, наверное, потому при запуске визуальной панели LinuxCNC ругается на отсутствие кнопок HAL_Python, которые в панели прописаны.
Как пополнить Glade?
Re: GladeVCP и PyVCP для начинающих
Добавлено: 20 май 2013, 16:55
Serg
если из исходников ничего не ставил, то сравни списки пакетов со словом linuxcnc.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 20 май 2013, 17:49
Ворон226
Ставил linuxcnc из исходников.
Re: GladeVCP и PyVCP для начинающих
Добавлено: 20 май 2013, 19:09
Serg
При этом поставились "кнопки HAL_Python" и ещё кое чего.
Попробуй на другом компе поставить linuxcnc-dev