ну можно и не с галетника - но мне показалось так проще будет:Lexxa писал(а):Зачем с галетника ручные режимы блокировать?
MyGUI
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
технологи говорят, что это плавная регулировка оборотов шпинделя в ручном режиме.nkp писал(а):Lexxa, подскажи - что это за регулятор
Это может быть нужно для имитации универсального станка
Кнопки там такие
1) ориентация шпинделя
2) толчек шпинделя
3) по часовой
4) стоп
5) против часовой
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
ты имеешь в виду,что емс сама блокирует эти все дела когда нужно?Lexxa писал(а):блокировать ручные пермещения.
да -может и не обязательно
но у меня кнопки будут с индикацией- вот такие: думаю будет проще коммутировать индикацию ...
ну посмотрим - все же в процессе.....
допустим вот здесь: после включения индикатор должен мигать в ref
а после отработки home гореть постоянно
те же кнопки в режиме jog -светятся только по нажатию
и т.д.
Последний раз редактировалось nkp 02 окт 2012, 10:29, всего редактировалось 1 раз.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
Спасибо!Lexxa писал(а):технологи говорят, что это плавная регулировка оборотов шпинделя в ручном режиме.nkp писал(а):Lexxa, подскажи - что это за регулятор
Это может быть нужно для имитации универсального станка
Кнопки там такие
1) ориентация шпинделя
2) толчек шпинделя
3) по часовой
4) стоп
5) против часовой
Технологам отдельное спасибо!
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
индикация должна срабатывать не от того, что кнопка нажалась, а от того, что действие выполняется. Представь сколько дополнительно портов ввода вывода нужно будет......
про блокировки. Ты хочешь подстраховаться от нажатия кнопок + и - в режиме автомата?
оправданная страховка
про блокировки. Ты хочешь подстраховаться от нажатия кнопок + и - в режиме автомата?
оправданная страховка
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
я понял твою мысль:Lexxa писал(а):индикация должна срабатывать не от того, что кнопка нажалась, а от того, что действие выполняется. Представь сколько дополнительно портов ввода вывода нужно будет......
то есть нажали ехать вручную - подалось питание на двиг - паралельно вкл индикация
но так не все получится
но решение хорошее - экономит с десяток- другой пинов
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
не, идея вот в чем.
Вот нажимаешь ты Х+ в режиме ручном. Индикация не загорается. а вот в ручном - загорается. она даже может от маховичка загораться, криминала нет
Вот нажимаешь ты Х+ в режиме ручном. Индикация не загорается. а вот в ручном - загорается. она даже может от маховичка загораться, криминала нет
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
а вот аргумент hal.component("mygui") это имя класса в которому этот компонент принадлежит?Nick писал(а):Это и есть наш hal компонент, который мы пишем, он содержит все пины и параметры, а также можно всякие прочие штуки от него делать.
self.halcomp = hal.component("mygui")
после этого к пинам компонента можно иметь доступ как к dict:
self.halcomp["имя пина"] или self.halcomp.pin_name (второй вариант будет работать только если в названии пина нет недопустимых символов, например "-")
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
сей принцип более чем имеет право на жизнь - принят на вооружениеLexxa писал(а):Вот нажимаешь ты Х+ в режиме ручном. Индикация не загорается. а вот в ручном - загорается. она даже может от маховичка загораться, криминала нет
не могу сказать точное определение - но это общее имя нашей группы пиновLexxa писал(а):а вот аргумент hal.component("mygui") это имя класса в которому этот компонент принадлежит?
для хал они будут
Код: Выделить всё
mygui.mode_mdi
mygui.hbutton.0-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
наверно правильней это связанно с именем модуля (то есть файла)
потому как мы могли и без классов скрипт написать - и пины создать
так что это скорей имя модуля
наверняка можно проверить - если создать программу из двух модулей
в ней должны по идее работать пины с одинаковым именем
потому как мы могли и без классов скрипт написать - и пины создать
так что это скорей имя модуля
наверняка можно проверить - если создать программу из двух модулей
в ней должны по идее работать пины с одинаковым именем
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
продолжаем питон-курсы)))
читать что-либо без конкретных примеров - пустая трата времени)
Это создается пустых списка?
self.vtriggers = []
self.htriggers = []
а тут в него в цикле добавляются пины?
vtriggers.append
htriggers.append
ТОже самое и с мmodetriggers - создается список, в него засовываются пины и подключается сигнал к функции обработчика?
Пока писал вроде понял)
читать что-либо без конкретных примеров - пустая трата времени)
Это создается пустых списка?
self.vtriggers = []
self.htriggers = []
а тут в него в цикле добавляются пины?
vtriggers.append
htriggers.append
ТОже самое и с мmodetriggers - создается список, в него засовываются пины и подключается сигнал к функции обработчика?
Пока писал вроде понял)
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Не файла, а именно модуля, точнее компонента. Эта строка создает hal компонент с именем mygui, и он будет отображаться в hal как mygui.nkp писал(а):наверно правильней это связанно с именем модуля (то есть файла)
Lexxa, все правильно
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
т.е. если в зависимости от режима мне надо просто подменять текст на кнопках, то
можно обойтись вообще легкой кровью)
Создается в glade картинка с кнопками hal.
с электроавтоматики есть 6 выходов с режимами Q0..Q5
Соответственно в зависимости от того какой из них True надо менять текст на кнопках и скрывать те или иные виджеты.
Создаем входные пины скрипта для каждого режима.
В скрипте:
можно обойтись вообще легкой кровью)
Создается в glade картинка с кнопками hal.
с электроавтоматики есть 6 выходов с режимами Q0..Q5
Соответственно в зависимости от того какой из них True надо менять текст на кнопках и скрывать те или иные виджеты.
Создаем входные пины скрипта для каждого режима.
В скрипте:
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
но именно с именем "mygui" - то есть имя файлаNick писал(а):Не файла, а именно модуля, точнее компонента. Эта строка создает hal компонент с именем mygui, и он будет отображаться в hal как mygui.
если такой код
Код: Выделить всё
#!/usr/bin/python
import hal, time
h = hal.component("tratata")
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT)
h.ready()
try:
while 1:
time.sleep(1)
h['out'] = h['in']+100
except KeyboardInterrupt:
raise SystemExit
то есть это имя должно быть одинаковым с именем файла
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Но ты же можешь создать несколько компонентов в одном модуле.
Вообще все зависит от того как ты запускаешь.
Если написать halcmd tratata -W, то да - не запуститься, а если: halcmd tratata -Wn mygui, то по идее должен запуститься. Просто обычно если мы запускаем скрипт, который должен создать компонент, то мы ждем от этого компонента сигнала готовности.
Т.е.:
h = hal.component("tratata")
h.ready()
По умолчанию, ждем ready от компонента с именем скрипта, но. компонент может отличаться по названию от командной строки, тогда надо написать -Wn name.
Вообще все зависит от того как ты запускаешь.
Если написать halcmd tratata -W, то да - не запуститься, а если: halcmd tratata -Wn mygui, то по идее должен запуститься. Просто обычно если мы запускаем скрипт, который должен создать компонент, то мы ждем от этого компонента сигнала готовности.
Т.е.:
h = hal.component("tratata")
h.ready()
По умолчанию, ждем ready от компонента с именем скрипта, но. компонент может отличаться по названию от командной строки, тогда надо написать -Wn name.
