Организация MyGUI

Материал из cnc-club
Версия от 13:28, 14 мая 2014; Nick (обсуждение | вклад) (Новая страница: « В этой статье попробую коротко описать структуру MyGUI: == Папка MyGUI == Папка MyGUI в папке <имя_…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

В этой статье попробую коротко описать структуру MyGUI:

Папка MyGUI

Папка MyGUI в папке <имя_пользователя>/linuxcnc-dev/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.