Организация MyGUI: различия между версиями
Вopoн226 (обсуждение | вклад) |
Вopoн226 (обсуждение | вклад) |
||
| Строка 9: | Строка 9: | ||
MyGUI.hal | MyGUI.hal | ||
mode.hal (прописаны связи пинов панели, пинов halui и пинов linuxcnc) | mode.hal (прописаны связи пинов панели, пинов halui и пинов linuxcnc) | ||
| − | dist.py (пользовательский компонент) | + | dist.py (пользовательский компонент - как пример. Может быть и другой либо другие, либо отсутствовать вообще) |
tool.tbl | tool.tbl | ||
Версия 18:50, 29 мая 2014
В этой статье попробую коротко описать структуру MyGUI:
Содержание
Папка MyGUI
Папка MyGUI в папке <имя_пользователя>/linuxcnc/configs
В этой папке находятся:
MyGUI.ini MyGUI.hal mode.hal (прописаны связи пинов панели, пинов halui и пинов linuxcnc) dist.py (пользовательский компонент - как пример. Может быть и другой либо другие, либо отсутствовать вообще) tool.tbl
Файл MyGUI.ini
Прописываем в файле MyGUI.ini
[DISPLAY] DISPLAY = mygui INTRO_GRAPHIC = img001.JPG (картинка заставки) INTRO_TIME = 5 (время показа заставки) PROGRAM_PREFIX = /home/cnc/linuxcnc-dev/nc_files (адрес исполняемых файлов) [HAL] HALFILE = MyGUI.hal POSTGUI_HALFILE = mode.hal (загружается после MyGUI.hal) HALUI = halui (при использовании halui) [HALUI] MDI_COMMAND = G92 X0 Y0 Z5 (при использовании MDI-команд) MDI_COMMAND = M102 (MDI-команда с пользовательской M-командой)
Файл mygui
Файл mygui в папке <имя_пользователя>/linuxcnc-dev/bin
Файл mygui.glade
Файл mygui.glade в папку <имя_пользователя>/linuxcnc-dev/share/linuxcnc
Файл start
Файл start в папке <имя_пользователя>/linuxcnc-dev
В Система — Параметры — Запускаемые приложения прописываем автозагрузку start
Использование halshow
Если у Вас в файле mygui прописан полноэкранный режим, а Вам необходимо проверить, как работают пины Вашей конфигурации станка,то необходимо сделать следующее:
Ctrl + Alt + T - вызвать терминал
Далее в терминале выполняем
cd linuxcnc-dev/tcl/bin wish halshow.tcl
Появляется окно halshow, в котором можно посмотреть всё, что есть в нашем станке.
Использование пользовательской M-команды
Если используем пользовательскую M-команду, то размещаем её, например, файл M102, в папке <имя_пользователя>/linuxcnc-dev/nc_files
Главное условие, чтобы место, где размещен M-код совпадало с адресом, прописанным в INI-файле:
[DISPLAY] PROGRAM_PREFIX = <адрес папки с M-кодом>
в данном случае:
[DISPLAY] PROGRAM_PREFIX = <имя_пользователя>/linuxcnc-dev/nc_files
Чтобы для выполнения команды не требовалось вводить пароль администратора необходимо исправить /etc/sudoers .
Для этого в терминале набираем:
sudo gedit /etc/sudoers
после ввода пароля откроется указанный файл в редакторе Gedit примерного содержания :
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset и т.д.
В конце нужно прописать строчку:
ALL ALL = NOPASSWD: /sbin/halt, /sbin/shutdown
и сохранить.
Теперь эту команду можно использовать как в программе для станка, так и через MDI-команды. Для этого прописываем в INI-файле:
[HALUI] MDI_COMMAND = <имя M-кода, например, M102>
А запуск этой команды "привязать" к кнопке вашей визуальной панели, например:
net mdi mygui.hal_button<N> halui.mdi-command-<номер команды в INI-файле, начиная с нуля>
Есть одно условие, которое быть выполнено, чтобы исполнить этот M-код - выставленные home по координатам. Если home не выставлен - исполнить эту команду не получится.
Что же делать, чтобы воспользоваться M-кодом, если на вашем станке координаты не имеют home?
Нужно в INI-файле прописать:
[TRAJ] NO_FORCE_HOMING = 1
И теперь M-код будет исполняться в любой момент, даже если у вас нет home.