Страница 5 из 47
Re: MyGUI
Добавлено: 20 сен 2012, 00:00
Nick
А точно! Это же фичи axis все

также как pyvcp и прочее, вообще все, что в DYSPLAY обрабатывается индивидуально, кроме разве что самого
DISPLAY = axis
Re: MyGUI
Добавлено: 20 сен 2012, 00:06
nkp
дописал в скрипт :
Код: Выделить всё
if __name__ == "__main__":
app = Mygui()
res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/nkp/emc2-dev-80db2a2/configs/MyGUI/mode.hal"])
if res: raise SystemExit, res
gtk.main()
и все стало работать
(инфа по
os.spawnvp)
Re: MyGUI
Добавлено: 20 сен 2012, 00:09
Nick
А разве из питона нельзя команды hal напрямую вызывать?
Хотя оно наверное не нужно

....
ЗЫ лучше стырить кусочек кода из axis и брать название файла прямо из ini.
И вообще добавить метод Mygui.postgui и в нем все что надо сделать.
Re: MyGUI
Добавлено: 20 сен 2012, 00:17
nkp
Nick писал(а):лучше стырить кусочек кода из axis и брать название файла прямо из ini
конечно так и будет
тут главнее сейчас общую картину работы скрипта выписать в плане взаимодействия с железными кнопками...
Re: MyGUI
Добавлено: 20 сен 2012, 15:33
nkp
Nick,используя твой код из
https://github.com/cnc-club/hw-buttons/tree/ сделал смену режимов от внешних кнопок
все работает-переключает и в емс и в gui
сейчас использую hbox для кнопок но там легко поменять и на вкладки
возвращаясь к вопросу как должна проходить обработка нажатия-по номеру кнопки или по названию
так вот я так и не понял- какие объективные недостатки в первом способе(тогда назывался случай ,что мол можно поменять местами кнопки и будет ошибка
но кто их менять то будет? таким макаром можно что хош нарушить
а вот со вторым способом ....
можешь общий примерчик .так сказать направление-а то не пойму с чего начать

Re: MyGUI
Добавлено: 20 сен 2012, 15:40
Nick
Мое предложение было такое:
1. Обращаемся к кнопке по названию. Т.е. в Glade в названии пишем название пина!
2. В ini делаем раздел соответствия "название пина" => "название которое писать на кнопке"
3. При создании интерфейса пробегаем по всем кнопкам в Builder, смотрим их названия а лучше даже не названия, а Label. Если название есть в массиве пинов, то:
а. создаем пин
б. присоединяем к нему кнопку
в. переименовываем кнопку в соответствии с разделом соответствия.
С положением плохо то, что при неправильно упаковке (например -1 кнопка) кнопки могут растянуться и сместиться.
Re: MyGUI
Добавлено: 20 сен 2012, 18:20
Lexxa
имена кнопок и режимов должны быть уникальными.
Функция кнопки = ИмяКнопки_Режим_Функция. Применив такую систему имен, путаницы избежать легко
p.s. Как же я жалею, что не могу полноценно заняться интерфейсом, вроде разобрался в питоне, но вот беда - командировок три недели уже(((
Re: MyGUI
Добавлено: 20 сен 2012, 18:34
nkp
сколько бы у нас не было кнопок (всего с изменениями) в ладдер зайдет только "один комплект" входов
то есть ,если у нас 7 кнопок по горизонтали - то и пинов в ладдер - 7
а изменять в зависимости от режима в ладдере коммутацией? или как по другому???
Re: MyGUI
Добавлено: 20 сен 2012, 18:40
Nick
Зачем ладдер?
Я почему ратовал за организацию всего в питоне - т.к. кнопки на экране перерисовывает питон, то и обрабатывать событие нажатия на "железную кнопку" должен питон.
Re: MyGUI
Добавлено: 20 сен 2012, 18:46
nkp
хочешь сказать что можно сделать полноценный пульт оператора
без ладдера ?? сомневаюсь........
Re: MyGUI
Добавлено: 20 сен 2012, 18:51
Nick
А почему бы и нет?
По крайней мере, все, что требует изменений на экране и не требует крайне быстрых скоростей обработки можно.
ЗЫ кстати, ладдер будет в rt работать или в userspace?
Re: MyGUI
Добавлено: 20 сен 2012, 19:00
nkp
Nick писал(а):ладдер будет в rt работать или в userspace?
в rt конечно
Re: MyGUI
Добавлено: 20 сен 2012, 19:15
Nick
тогда может иметь смысл...
но тогда нет смысла на кнопках писать пины. Тупо названия и все.
Re: MyGUI
Добавлено: 20 сен 2012, 19:20
Lexxa
nkp писал(а):без ладдера ?? сомневаюсь........
+1
Ник,1есть фанук, есть симменс, есть хх. никто там не делает стойку под станок, все эпроизводители делают и пульты и все остальное только через электроавтоматику- ладдер
Re: MyGUI
Добавлено: 20 сен 2012, 19:22
Lexxa
Nick писал(а):По крайней мере, все, что требует изменений на экране и не требует крайне быстрых скоростей обработки можно.
например халуи.аборт требует, и вообще все что касается движений (в ручном) требует
Re: MyGUI
Добавлено: 20 сен 2012, 19:24
Lexxa
Nick писал(а):нет смысла на кнопках писать пины
нет смысла не писать пинов на кнопках, поскольку ладдер не разрулит
Re: MyGUI
Добавлено: 20 сен 2012, 19:42
Nick
В том то и дело, что ладдеру пофигу, что на кнопке написано, он будет отрабатывать нажатие на железную кнопку с положением N при условии текущего режима M.
Поэтому не вижу смысла писать на железных кнопках пины.
Re: MyGUI
Добавлено: 20 сен 2012, 19:49
Lexxa
как раз наоборот. пин режима + нардкнопки даст четкое и однозначное её функционирование, а система имен нужна для отладки.
Т.е.
например, имеем кнопки hbutton1..8 и vbutton1..8
и пин режима mode 1..6
тогда например в режиме1 кнопка hbutton1 имеет функцию func1
т.е. в ладдере будет
-----|MyGUI_on|--------|mode1|----------|hbutton1|-------------(func1)---------
и проблем никаких
Re: MyGUI
Добавлено: 20 сен 2012, 19:53
Nick
Ну, все правильно, только как я и говорил пин на кнопке не пишется, будет просто hbutton1..8.
Re: MyGUI
Добавлено: 20 сен 2012, 19:57
Lexxa
как тогда передать это дело в ладдер?