1. Введение

GMOCCAPY — это графический интерфейс для LinuxCNC, предназначенный для использования с сенсорным экраном, но его также можно использовать на обычных экранах с помощью мыши или аппаратных кнопок и маховичков РГИ, поскольку он предоставляет контакты HAL для наиболее распространенных нужд. Дополнительную информацию можно найти ниже.

Он предлагает возможность отображать до 9 осей, поддерживает режим токарного станка для обычного и обратного токарных станков и может быть адаптирован практически к любым потребностям, поскольку GMOCCAPY поддерживает встроенные вкладки и боковые панели. В качестве хорошего примера см. gmoccapy_plasma.

GMOCCAPY 3 поддерживает до 9 осей и 9 сочленений. Поскольку код GMOCCAPY 3 был изменен для поддержки изменений сочленений/осей в LinuxCNC, он не работает в ветках 2.7 или 2.6!

Он поддерживает встроенную виртуальную клавиатуру (встроенную или экранную клавиатуру), поэтому нет необходимости в аппаратной клавиатуре или мыши, но ее также можно использовать с этим оборудованием. GMOCCAPY предлагает отдельную страницу настроек для настройки большинства параметров графического интерфейса без редактирования файлов.

GMOCCAPY можно очень легко локализовать, поскольку соответствующие файлы отделены от файлов linuxcnc.po, поэтому нет необходимости переводить ненужный материал. Если вы хотите внести свой вклад в перевод, воспользуйтесь ссылкой: веб-редактор переводов Weblate. Дополнительную информацию см. в разделе Переводы

2. Requirements

GMOCCAPY 3 был протестирован на Debian Jessie, Debian Stretch и MINT 18 с LinuxCNC master и версией 2.8. Он полностью поддерживает изменения сочленений/осей LinuxCNC, что делает его подходящим в качестве ГИП для Scara, роботов или любой другой конфигурации с большим количеством сочленений, чем осей. Таким образом, он также поддерживает портальные конфигурации. Если вы используете другие версии, сообщите о проблемах и/или решениях на странице . Форум LinuxCNC или Немецкий форум CNC Ecke или LinuxCNC список рассылки пользователей.

Минимальное разрешение экрана для GMOCCAPY для обычной планировки (без боковых панелей) составляет 980 x 750 пикселей, поэтому оно должно соответствовать любому стандартному экрану. Рекомендуется использовать экраны с минимальным разрешением 1024x768. Существует также конфигурация, подходящая для экранов 800x600 (представленная в GMOCCAPY 3.4.8).

3. Как получить GMOCCAPY

GMOCCAPY 3 включен в стандартную поставку LinuxCNC начиная с версии 2.7. Поэтому самый простой способ получить GMOCCAPY на управляющем ПК — это просто загрузить ISO и установить его с CD/DVD/USB-накопителя. Это позволяет вам получать обновления вместе с обычными пакетами Debian.

По ссылке примечания к выпуску, также известной как список изменений, вы можете отслеживать последние исправления ошибок и функции.

Вы увидите экран, похожий на следующий (дизайн может отличаться в зависимости от вашей конфигурации):

4. Базовая конфигурация

GMOCCAPY 3 поддерживает следующие параметры командной строки:

  • -user_mode: если установлено, кнопка настройки будет отключена, поэтому обычные операторы станка не смогут редактировать настройки станка.

  • -logo <путь к файлу логотипа>: если задано, логотип скроет вкладку кнопки медленной подачи в ручном режиме. Это полезно только для машин с аппаратными кнопками для медленой подачи и выбора дистанции.

На самом деле не так уж много нужно настроить только для запуска GMOCCAPY, но есть некоторые моменты, на которые следует обратить внимание, если вы хотите использовать все функции ГИП.

Вы найдете множество конфигураций моделирования (INI-файлов), просто чтобы показать основы:

  • gmoccapy.ini

  • gmoccapy_4_axis.ini

  • lathe_configs/gmoccapy_lathe.ini

  • lathe_configs/gmoccapy_lathe_imperial.ini

  • gmoccapy_left_panel.ini

  • gmoccapy_right_panel.ini

  • gmoccapy_messages.ini

  • gmoccapy_pendant.ini

  • gmoccapy_sim_hardware_button.ini

  • gmoccapy_tool_sensor.ini

  • gmoccapy_with_user_tabs.ini

  • gmoccapy_XYZAB.ini

  • gmoccapy_XYZAC.ini

  • gmoccapy_XYZCW.ini

  • gmoccapy-JA/Gantry/gantry_mm.ini

  • gmoccapy-JA/scara/scara.ini

  • gmoccapy-JA/table-rotary-tilting/xyzac-trt.ini

  • и многое другое …

Имена должны объяснять основное предназначение различных INI-файлов.

Если вы используете существующую конфигурацию вашего станка, просто отредактируйте свой INI в соответствии с этим документом.

Итак, давайте подробнее рассмотрим INI-файл и то, что вам нужно включить для использования GMOCCAPY на вашем компьютере:

4.1. Раздел DISPLAY

[DISPLAY]
DISPLAY = gmoccapy
PREFERENCE_FILE_PATH = gmoccapy_preferences
MAX_FEED_OVERRIDE = 1.5
MAX_SPINDLE_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
LATHE = 1
BACK_TOOL_LATHE = 1
PROGRAM_PREFIX = ../../nc_files/
  • DISPLAY = gmoccapy - Это говорит LinuxCNC использовать GMOCCAPY.

  • PREFERENCE_FILE_PATH - Указывает расположение и имя файла настроек, который будет использоваться. В большинстве случаев эта строка не нужна, она используется GMOCCAPY для хранения настроек графического пользовательского интерфейса, таких как темы, единицы измерения УЦИ, цвета, настройки клавиатуры и т. д., см. <<gmoccapy:settings-page,settingspage> > подробнее.

    Note
    Если путь или файл не указаны, GMOCCAPY будет использовать по умолчанию <your_machinename>.pref, если в вашем INI-файле не указано имя компьютера, будет использоваться gmoccapy.pref. Файл будет храниться в вашей директории с конфигами, поэтому настройки не будут смешиваться, если вы используете несколько конфигов. Если вы хотите использовать только один файл для нескольких машин, вам необходимо включить PREFERENCE_FILE_PATH в ваш INI.
  • MAX_FEED_OVERRIDE = 1.5 - Устанавливает максимальное переопределение подачи. В приведенном примере вам будет разрешено переопределять подачу на 150%.

    Note
    Если значение не указано, оно будет установлено на 1,0.
  • MIN_SPINDLE_OVERRIDE = 0.5 and MAX_SPINDLE_OVERRIDE = 1.2 - Позволит изменить переопределение шпинделя в пределах от 50% до 120%.

    Note
    Если значения не указаны, MIN будет установлен на 0,1, а MAX на 1,0.
  • LATHE = 1 - Установите макет экрана для управления токарным станком.

  • BACK_TOOL_LATHE = 1 - Является необязательным и позволяет переключать ось X так, как вам нужно для токарного станка с задним инструментом. Кроме того, сочетания клавиш будут реагировать по-другому. С помощью GMOCCAPY разрешено также настраивать токарный станок с дополнительными осями, поэтому вы также можете использовать конфигурацию XZCW для токарного станка.

    Tip
    См. также раздел Раздел.
  • PROGRAM_PREFIX = ../../nc_files/ - Это запись сообщает LinuxCNC/GMOCCAPY где искать файлы NGC.

    Note
    Если не указано иное, GMOCCAPY будет искать файлы NGC в следующем порядке: сначала linuxcnc/nc_files, а затем домашний каталог пользователя.

4.2. Раздел TRAJ

  • DEFAULT_LINEAR_VELOCITY = 85.0 - Устанавливает скорость перемещения станка по умолчанию.

    Note
    Если не установлено, будет использоваться половина значения MAX_LINEAR_VELOCITY. Если это значение также не указано, по умолчанию оно будет равно 180.
  • MAX_LINEAR_VELOCITY = 230.0 - Устанавливает максимальную скорость станка.

    Note
    По умолчанию 600, если не установлено.

4.3. Кнопки макроса

Вы можете добавлять макросы в GMOCCAPY, аналогично методу Touchy. Макрос — это не что иное, как файл NGC. Вы можете выполнять полные программы ЧПУ в режиме MDI, просто нажав одну кнопку. Для этого сначала необходимо указать путь поиска макросов:

[RS274NGC]
SUBROUTINE_PATH = macros

Это задает путь для поиска макросов и других подпрограмм. Несколько путей подпрограмм могут быть разделены знаком ":".

Затем вам просто нужно добавить такой раздел:

Настройка пяти макросов для отображения в списке кнопок MDI
[MACROS]
MACRO = i_am_lost
MACRO = hello_world
MACRO = jog_around
MACRO = increment xinc yinc
MACRO = go_to_position X-pos Y-pos Z-pos

Затем вам необходимо предоставить соответствующие файлы NGC, которые должны соответствовать следующим правилам:

  • Имя файла должно быть точно таким же, как имя, указанное в строке макроса, только с расширением ".ngc" (с учетом регистра).

  • Файл должен содержать подпрограмму типа O<i_am_lost> sub, имя подпрограммы должно точно соответствовать (с учетом регистра) имени макроса.

  • Файл должен заканчиваться endsub O<i_am_lost> endsub, за которым следует команда M2.

  • Файлы необходимо поместить в папку, указанную в вашем INI-файле с помощью SUBROUTINE_PATH в разделе RS274NGC

Код между sub и endsub будет выполнен нажатием соответствующей кнопки макроса.

Note
В графическом интерфейсе будет показано максимум 16 макросов. Из-за нехватки места вам может потребоваться нажать на стрелку, чтобы переключить страницу и отобразить скрытые кнопки макросов. Кнопки макросов будут отображаться в порядке записей INI. Размещение более 16 макросов в INI-файле не является ошибкой, они просто не будут отображаться.
Note
Вы найдете примеры макросов в папке с именем macros, расположенной в папке GMOCCAPY sim. Если вы указали несколько путей к подпрограммам, они будут искаться в порядке заданных путей. Будет использован первый найденный файл.

GMOCCAPY также принимает макросы, запрашивающие такие параметры, как:

[MACRO]
MACRO = go_to_position X-pos Y-pos Z-pos

Параметры должны быть разделены пробелами. В этом примере вызывается файл go_to_position.ngc со следующим содержимым:

; Test file "go to position"
; will jog the machine to a given position

O<go_to_position> sub

G17
G21
G54
G61
G40
G49
G80
G90

;#1 = <X-Pos>
;#2 = <Y-Pos>
;#3 = <Z-Pos>

(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
G0 X #1 Y #2 Z #3

O<go_to_position> endsub
M2

После нажатия кнопки выполнить макрос вам будет предложено ввести значения для X-pos Y-pos Z-pos, и макрос запустится только в том случае, если все значения были заданы.

Note
Если вы хотите использовать макрос без каких-либо перемещений, см. также примечания в разделе известные проблемы.
Пример макроса с использованием макроса "go to position"

images/gmoccapy_getting_macro_info_mid.png

4.4. Встроенные вкладки и панели

Вы можете добавлять встроенные программы в GMOCCAPY, как в AXIS, Touchy и Gscreen. Все делается GMOCCAPY автоматически, если вы добавите несколько строк в свой INI-файл в раздел DISPLAY.

Если вы никогда не использовали панель Glade, рекомендую прочитать отличную документацию по адресу Glade VCP.

Пример встроенной вкладки
EMBED_TAB_NAME = DRO
EMBED_TAB_LOCATION = ntb_user_tabs
EMBED_TAB_COMMAND = gladevcp -x {XID} dro.glade

EMBED_TAB_NAME = Second user tab
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND = gladevcp -x {XID} vcp_box.glade

Все, о чем вам нужно позаботиться, это включить для каждой вкладки или боковой панели упомянутые три строки:

  • EMBED_TAB_NAME = Представляет имя вкладки или боковой панели. Какое имя вы используете, зависит от вас, но оно должно присутствовать!

  • EMBED_TAB_LOCATION = Место, где будет размещена ваша программа в ГИП, см. на рисунке Расположение встроенных вкладок. Допустимые значения:

    • ntb_user_tabs (в качестве основной вкладки, закрывающей весь экран)

    • ntb_preview (как вкладка на стороне предварительного просмотра (1))

    • hbox_jog (скроет кнопки перемещения и разместит здесь ваш файл Glade (2))

    • box_left (слева, полная высота экрана)

    • box_right (справа, между обычным экраном и списком кнопок)

    • box_tool_and_code_info (скроет информацию об инструменте и поля G-кода и разместит здесь ваш файл Glade. (3))

    • box_tool_info (скроет поле информации об инструменте и разместит здесь ваш файл Glade.)

    • box_code_info (скроет информационное поле G-кода и разместит здесь ваш файл Glade)

    • box_vel_info (скроет поля скорости и разместит ваш Glade файл (4))

    • box_coolant_and_spindle (скроет поля СОЖ и шпинделя и разместит здесь ваш файл Glade (5)+(6))

    • box_cooling (скроет поле охлаждения и разместит ваш Glade файл (5))

    • box_spindle (скроет поле шпинделя и разместит ваш Glade файл (6))

    • box_custom_1 (представит ваш Glade файл слева от vel_frame)

    • box_custom_2 (разместит ваш файл Glade слева от cooling_frame)

    • box_custom_3 (представит ваш файл Glade слева от spindle_frame)

    • box_custom_4 (представит ваш Glade файл справа от spindle_frame)

    • box_dro_side (разместит ваш Glade файл справа от УЦИ)

Note
См. также прилагаемые примеры INI-файлов, чтобы увидеть различия.
  • EMBED_TAB_COMMAND = Команда для выполнения, т.е.

    gladevcp -x {XID} dro.glade

    включает в себя собственный файл Glade под названием dro.glade в указанном месте. Файл необходимо поместить в папку конфигурации вашего компьютера.

    gladevcp h_buttonlist.glade

    просто откроет новое пользовательское окно под названием h_buttonlist.glade. Обратите внимание на разницу. Это автономный файл, и его можно перемещать независимо от окна GMOCCAPY.

    gladevcp -c gladevcp -u hitcounter.py -H manual-example.hal manual-example.ui

    добавит панель manual-example.ui, включит собственный обработчик Python, hitcounter.py и установит все подключения после реализации панели в соответствии с manual-example.hal.

    hide

    скроет выбранное поле.

images/gmoccapy_embedded_tabs.png
Figure 1. Расположение встроенных вкладок
Note
Если вы выполняете какие-либо подключения HAL к своей пользовательской панели Glade, вам необходимо сделать это в файле HAL, указанном в строке EMBED_TAB_COMMAND, в противном случае вы можете получить сообщение об ошибке, что контакт HAL не существует — это происходит из-за условий гонки, при загрузке HAL-файлов. Соединения с контактами GMOCCAPY HAL необходимо выполнить в файле HAL postgui, указанном в вашем INI-файле, поскольку эти контакты не существуют до реализации ГИП.

Вот некоторые примеры:

ntb_preview

images/gmoccapy_ntb_preview_small.png

box_right - и GMOCCAPY в режиме MDI

images/gmoccapy_with_right_panel_in_MDI_mode_small.png

4.5. Сообщения, созданные пользователем

GMOCCAPY имеет возможность создавать пользовательские сообщения на основе HAL. Чтобы их использовать, вам необходимо добавить несколько строк в раздел [DISPLAY] INI-файла.

Эти три строки необходимы для определения диалогового окна всплывающего сообщения пользователя:

MESSAGE_TEXT    = The text to be displayed, may be pango markup formatted
MESSAGE_TYPE    = "status" , "okdialog" , "yesnodialog"
MESSAGE_PINNAME = is the name of the HAL pin group to be created

Сообщения поддерживают язык разметки pango. Подробную информацию о языке разметки можно найти по адресу Pango Markup.

Доступны следующие три типа диалогов:

  • status - Просто отобразит сообщение в виде всплывающего окна, используя систему обмена сообщениями GMOCCAPY.

  • okdialog - Удерживает фокус на диалоговом окне сообщения и активирует контакт HAL -waiting.

  • yesnodialog - Удерживает фокус на диалоговом окне сообщения, активирует контакт HAL -waiting и предоставляет контакт HAL -response.

Для получения более подробной информации о контактах см. User Created Message HAL Pins.

Пример конфигурации сообщений пользователя
MESSAGE_TEXT = This is a <span background="#ff0000" foreground="#ffffff">info-message</span> test
MESSAGE_TYPE = status
MESSAGE_PINNAME = statustest

MESSAGE_TEXT = This is a yes no dialog test
MESSAGE_TYPE = yesnodialog
MESSAGE_PINNAME = yesnodialog

MESSAGE_TEXT = Text can be <small>small</small>, <big>big</big>, <b>bold</b <i>italic</i>, and even be <span color="red">colored</span>.
MESSAGE_TYPE = okdialog
MESSAGE_PINNAME = okdialog
Note
На данный момент форматирование не работает.

4.6. Управление предварительным просмотром

Волшебные комментарии можно использовать для управления предварительным просмотром G-кода. В очень больших программах загрузка предварительного просмотра может занять много времени. Вы можете управлять тем, что отображается и что скрыто на графическом экране, добавляя в свой G-код соответствующие комментарии из этого списка:

(PREVIEW,hide)
<G-code to be hidden>
(PREVIEW,show)

4.7. Пользовательский командный файл

Если файл ~/.gmoccapyrc существует, его содержимое выполняется как исходный код Python сразу после отображения ГИП. Детали того, что может быть записано в ~/.gmoccapyrc, могут быть изменены в ходе цикла разработки.

Файл Python для конкретной конфигурации можно указать с помощью параметра INI-файла

[DISPLAY]
USER_COMMAND_FILE=filename.py

Если этот файл указан, он будет считан сразу после отображения ГИП GMOCCAPY вместо ~/.gmoccapyrc.

В следующем примере изменяется размер вертикальных кнопок: .Пример файла .gmoccapyrc

self.widgets.vbtb_main.set_size_request(85,-1)
BB_SIZE = (70, 70) # default = (90, 56)
self.widgets.tbtn_estop.set_size_request(*BB_SIZE)
self.widgets.tbtn_on.set_size_request(*BB_SIZE)
self.widgets.rbt_manual.set_size_request(*BB_SIZE)
self.widgets.rbt_mdi.set_size_request(*BB_SIZE)
self.widgets.rbt_auto.set_size_request(*BB_SIZE)
self.widgets.tbtn_setup.set_size_request(*BB_SIZE)
self.widgets.tbtn_user_tabs.set_size_request(*BB_SIZE)
self.widgets.btn_exit.set_size_request(*BB_SIZE)

Имена виджетов можно посмотреть в файле /usr/share/gmoccapy.glade

4.8. Пользовательский CSS файл

Подобно командному файлу пользователя, на внешний вид можно влиять с помощью каскадных таблиц стилей (CSS). Если файл ~/.gmoccapy_css существует, его содержимое загружается в поставщика таблицы стилей и таким образом применяется к графическому интерфейсу.

CSS-файл для конкретной конфигурации можно указать с помощью параметра INI-файла

[DISPLAY]
USER_CSS_FILE=filename.css

Если этот файл указан, он используется вместо ~/.gmoccapy_css.

Информацию о том, чем можно управлять с помощью CSS, можно найти здесь: link:https://docs.gtk.org/gtk3/css-overview.html [Обзор CSS в GTK]

Вот пример того, как можно установить желтый цвет отмеченных кнопок: .Пример желтого цвета для отмеченных кнопок

button:checked {
    background: rgba(250,230,0,0.8);
}

4.9. Ведение журнала

GMOCCAPY поддерживает указание уровня информации (log level), которая будет выводиться на консоль и в файл журнала.

Порядок: VERBOSE, DEBUG, INFO, WARNING, ERROR, CRITICAL. По умолчанию установлено значение WARNING, что означает, что печатаются WARNING, ERROR и CRITICAL.

Вы можете указать уровень детализации журнала в INI-файле следующим образом:

[DISPLAY]
DISPLAY = gmoccapy <log_level_param>

используя эти параметры:

Log level   <log_level_param>
DEBUG       -d
INFO        -i
VERBOSE     -v
ERROR       -q
Пример: Настройка ведения журнала для записи только ошибок
[DISPLAY]
DISPLAY = gmoccapy -q

Вы можете указать, где сохранить файл журнала:

[DISPLAY]
LOG_FILE = gmoccapy.log

Если LOG_FILE не установлен, журналирование происходит в $HOME/<base_log_name>.log.

5. HAL Контакты

GMOCCAPY экспортирует несколько контактов HAL, чтобы иметь возможность реагировать на аппаратные устройства. Цель состоит в том, чтобы получить ГИП, которым можно было бы управлять в магазине инструментов полностью/в основном без мыши или клавиатуры.

Note

Все подключения к контактам GMOCCAPY вам придется выполнить в файле postgui.hal. При запуске GMOCCAPY он создает контакты HAL для ГИП, а затем выполняет post-GUI файл HAL, указанный в INI файле:

[HAL]
POSTGUI_HALFILE=<filename>

Обычно <filename> представляет собой базовое имя конфигурации + _postgui.hal, например. lathe_postgui.hal, но может быть любым допустимым именем файла.
Эти команды выполняются после построения экрана, гарантируя доступность контактов HAL виджета.
В INI-файле может быть несколько строк POSTGUI_HALFILE=<filename>. Каждый из них будет запускаться один за другим в том порядке, в котором они появляются.

5.1. Списки правых и нижних кнопок

На экране есть два основных списка кнопок: один справа, другой внизу. Правые кнопки не будут меняться во время работы, но список нижних кнопок будет меняться очень часто. Кнопки отсчитываются сверху вниз и слева направо, начиная с 0.

Note
Названия контактов были изменены в GMOCCAPY 2, чтобы лучше их упорядочить.

Контакты для правых (вертикальных) кнопок:

  • gmoccapy.v-button.button-0 (bit IN)

  • gmoccapy.v-button.button-1 (bit IN)

  • gmoccapy.v-button.button-2 (bit IN)

  • gmoccapy.v-button.button-3 (bit IN)

  • gmoccapy.v-button.button-4 (bit IN)

  • gmoccapy.v-button.button-5 (bit IN)

  • gmoccapy.v-button.button-6 (bit IN)

Для нижних (горизонтальных) кнопок это:

  • gmoccapy.h-button.button-0 (bit IN)

  • gmoccapy.h-button.button-1 (bit IN)

  • gmoccapy.h-button.button-2 (bit IN)

  • gmoccapy.h-button.button-3 (bit IN)

  • gmoccapy.h-button.button-4 (bit IN)

  • gmoccapy.h-button.button-5 (bit IN)

  • gmoccapy.h-button.button-6 (bit IN)

  • gmoccapy.h-button.button-7 (bit IN)

  • gmoccapy.h-button.button-8 (bit IN)

  • gmoccapy.h-button.button-9 (bit IN)

Поскольку кнопки в нижнем списке будут меняться в зависимости от режима и других воздействий, аппаратные кнопки будут активировать отображаемые функции. Таким образом, вам не нужно заботиться о переключении функций в HAL, потому что это полностью делает GMOCCAPY!

Для трехосного станка XYZ контакты HAL будут реагировать, как показано в следующих трех таблицах:

Table 1. Функциональное назначение горизонтальных кнопок (1)
Контакт Ручной режим Режим MDI Автоматический режим

gmoccapy.h-button.button-0

открыть кнопку исходной позиции

macro_0 или ничего

открыть файл

gmoccapy.h-button.button-1

открыть меню касания

macro_1 или ничего

перезагрузить программу

gmoccapy.h-button.button-2

macro_2 или ничего

запуск

gmoccapy.h-button.button-3

открыть инструментальные диалоги

macro_3 или ничего

стоп

gmoccapy.h-button.button-4

macro_4 или ничего

пауза

gmoccapy.h-button.button-5

macro_5 или ничего

шаг за шагом

gmoccapy.h-button.button-6

macro_6 или ничего

запускать из строки, если это разрешено в настройках, иначе ничего

gmoccapy.h-button.button-7

macro_7 или ничего

опциональные блоки

gmoccapy.h-button.button-8

полноэкранный предпросмотр

macro_8 или переключить страницу на дополнительные макросы

полноэкранный предпросмотр

gmoccapy.h-button.button-9

выйти, если станок выключен, иначе никакой реакции

открыть клавиатуру или прервать работу, если макрос запущен

редактировать код

Table 2. Функциональное назначение горизонтальных кнопок (2)
Контакт Режим настроек Режим исходной позиции Режим касания

gmoccapy.h-button.button-0

стереть историю MDI

редактировать смещения

gmoccapy.h-button.button-1

вернуть все в исходную позицию

касание X

gmoccapy.h-button.button-2

касание Y

gmoccapy.h-button.button-3

исходная позиция x

касание Z

gmoccapy.h-button.button-4

открыть язык релейных схем

исходная позиция y

gmoccapy.h-button.button-5

октрыть HAL scope

исходная позиция z

gmoccapy.h-button.button-6

открыть HAL status

обнулить G92

gmoccapy.h-button.button-7

окрыть HAL meter

gmoccapy.h-button.button-8

окрыть HAL calibration

вывести все из исходной позиции

установить выбранное

gmoccapy.h-button.button-9

открыть HAL show

назад

назад

Table 3. Функциональное назначение горизонтальных кнопок (3)
Контакт Режим инструмента Режим редактирования Выбрать файл

gmoccapy.h-button.button-0

удалить инструмент(ы)

перейти в домашний каталог

gmoccapy.h-button.button-1

новый инструмент

перезагрузить файл

на один каталог выше

gmoccapy.h-button.button-2

перезагрузить таблицу инструмента

сохранить

gmoccapy.h-button.button-3

применить изменения

сохранить как

двигать выделение влево

gmoccapy.h-button.button-4

сменить инструмент под номером Т? М6

двигать выделение вправо

gmoccapy.h-button.button-5

установить инструмент по номеру без изменения M61 Q?

перейти в каталог, указанный в настройках

gmoccapy.h-button.button-6

сменить инструмент на выбранный

Новый файл

gmoccapy.h-button.button-7

выбрать / ENTER

gmoccapy.h-button.button-8

касание инструмента в Z

показать клавиатуру

gmoccapy.h-button.button-9

назад

назад

назад

Итак, у нас есть 67 реакций всего с 10 контактами HAL!

Эти контакты предназначены для использования экрана без сенсорной панели или для защиты его от чрезмерного использования путем размещения аппаратных кнопок вокруг панели. Они доступны в примерной конфигурации, как показано на изображение ниже.

Пример конфигурации "gmoccapy_sim_hardware_button" с боковыми кнопками

images/gmoccapy_sim_hardware_button_mid.png

5.2. Скорости и переназначения

Все слайдеры от GMOCCAPY можно подключить к аппаратным энкодерам или аппаратным потенциометрам.

Note
В GMOCCAPY 3 имена некоторых контактов HAL изменились после реализации новых элементов управления. Максимальной скорости больше не существует, она была заменена быстрым переопределением по требованию многих пользователей.

Для подключения энкодеров экспортируются следующие контакты:

  • gmoccapy.jog.jog-velocity.counts (s32 IN) - Скорость медленной подачи

  • gmoccapy.jog.jog-velocity.count-enable (bit IN) - Должно быть True, чтобы разрешить отсчеты

  • gmoccapy.feed.feed-override.counts (s32 IN) - переопределение подачи

  • gmoccapy.feed.feed-override.count-enable (bit IN) - Должно быть True, чтобы разрешить отсчеты

  • gmoccapy.feed.reset-feed-override (bit IN) - сбросить переопределение подачи на *0%

  • gmoccapy.spindle.spindle-override.counts (s32 IN) - переопределение шпинделя

  • gmoccapy.spindle.spindle-override.count-enable (bit IN) - Должно быть True, чтобы разрешить отсчеты

  • gmoccapy.spindle.reset-spindle-override (bit IN) - сбросить переопределение шпинделя на *0%

  • gmoccapy.rapid.rapid-override.counts (s32 IN) - Максимальная скорость станка

  • gmoccapy.rapid.rapid-override.count-enable (bit IN) - Должно быть True, чтобы разрешить отсчеты

Для подключения потенциометров используйте следующие контакты:

  • gmoccapy.jog.jog-velocity.direct-value (float IN) - Чтобы отрегулировать ползунок скорости медленной подачи

  • gmoccapy.jog.jog-velocity.analog-enable (bit IN) - Должно быть True, чтобы разрешить аналоговые входы

  • gmoccapy.feed.feed-override.direct-value (float IN) - Настройка ползунка коррекции подачи

  • gmoccapy.feed.feed-override.analog-enable (bit IN) - Должно быть True, чтобы разрешить аналоговые входы.

  • gmoccapy.spindle.spindle-override.direct-value (float IN) - Чтобы отрегулировать ползунок переопределения шпинделя

  • gmoccapy.spindle.spindle-override.analog-enable (bit IN) - Должно быть True, чтобы разрешить аналоговые входы.

  • gmoccapy.rapid.rapid-override.direct-value (float) - Чтобы отрегулировать ползунок максимальной скорости

  • gmoccapy.rapid.rapid-override.analog-enable (bit IN) - Должно быть True, чтобы разрешить аналоговые входы.

Кроме того, GMOCCAPY 3 предлагает дополнительные контакты HAL для управления новыми виджетами-слайдерами с помощью мгновенных переключателей. Значения того, насколько быстрым будет увеличение или уменьшение, необходимо задать в файле Glade. В будущем выпуске он будет интегрирован на страницу настроек.

СКОРОСТЬ
  • gmoccapy.spc_jog_vel.increase (bit IN) - Пока значение True, значение ползунка будет увеличиваться

  • gmoccapy.spc_jog_vel.decrease (bit IN) - Пока значение True, значение ползунка будет уменьшаться

  • gmoccapy.spc_jog_vel.scale (float IN) - Значение для масштабирования выходного значения (удобно менять единицы/мин на единицы/сек).

  • gmoccapy.spc_jog_vel.value (float OUT) - Значение виджета

  • gmoccapy.spc_jog_vel.scaled-value (float OUT) - Масштабированное значение виджета .ПОДАЧА

  • gmoccapy.spc_feed.increase (bit IN) - Пока значение True, значение ползунка будет увеличиваться.

  • gmoccapy.spc_feed.decrease (bit IN) - Пока значение True, значение ползунка будет уменьшаться

  • gmoccapy.spc_feed.scale (float IN) - Значение для масштабирования выходного значения (удобно менять единицы/мин на единицы/сек)

  • gmoccapy.spc_feed.value (float OUT) - Значение виджета

  • gmoccapy.spc_feed.scaled-value (float OUT) - Масштабированное значение виджета .SPINDLE

  • gmoccapy.spc_spindle.increase (bit IN) - Пока значение True, значение ползунка будет увеличиваться.

  • gmoccapy.spc_spindle.decrease (bit IN) - Пока значение True, значение ползунка будет уменьшаться

  • gmoccapy.spc_spindle.scale (float IN) - Значение для масштабирования выходного значения (удобно менять единицы/мин на единицы/сек)

  • gmoccapy.spc_spindle.value (float OUT) - Значение виджета

  • gmoccapy.spc_spindle.scaled-value (float OUT) - Масштабированное значение виджета .БЫСТРЫЕ ПЕРЕМЕЩЕНИЯ

  • gmoccapy.spc_rapid.increase (bit IN) - Пока значение True, значение ползунка будет увеличиваться

  • gmoccapy.spc_rapid.decrease (bit IN) - Пока значение True, значение ползунка будет уменьшаться.

  • gmoccapy.spc_rapid.scale (float IN) - Значение для масштабирования выходного значения (удобно менять единицы/мин на единицы/сек).

  • gmoccapy.spc_rapid.value (float OUT) - Значение виджета

  • gmoccapy.spc_rapid.scaled-value (float OUT) - Масштабированное значение виджета

Контакты типа float принимают значения от 0,0 до 1,0, что представляет собой процентное значение, которое вы хотите установить для ползунка.

Warning
Если вы используете оба типа подключения, не подключайте один и тот же ползунок к обоим контактам, поскольку влияние между ними не проверялось! К тому или иному типу соединения HAL могут быть подключены разные ползунки.
Important
Имейте в виду, что скорость медленной подачи зависит от состояния кнопки-черепахи. Это приведет к разным масштабам ползунка в зависимости от режима (черепаха или кролик). Пожалуйста, взгляните также на jog velocities и Turtle-Jog HAL контакт для получения более подробной информации.
Example 1. Установка значения ползунка

Spindle Override Min Value = 20 %
Spindle Override Max Value = 120 %
gmoccapy.analog-enable = 1
gmoccapy.spindle-override-value = 0.25

value to set = Min Value + (Max Value - Min Value) * gmoccapy.spindle-override-value
value to set = 20 + (120 - 20) * 0.25
value to set = 45 %

5.3. HAL Контакты медленной подачи

Все оси, указанные в INI-файле, имеют контакты jog-plus и jog-minus, поэтому для медленной подачи осей можно использовать аппаратные переключатели мгновенного действия.

Note
Именование этих контактов HAL изменилось в GMOCCAPY 2.

Для стандартной конфигурации XYZ будут доступны следующие контакты HAL:

  • gmoccapy.jog.axis.jog-x-plus (bit IN)

  • gmoccapy.jog.axis.jog-x-minus (bit IN)

  • gmoccapy.jog.axis.jog-y-plus (bit IN)

  • gmoccapy.jog.axis.jog-y-minus (bit IN)

  • gmoccapy.jog.axis.jog-z-plus (bit IN)

  • gmoccapy.jog.axis.jog-z-minus (bit IN)

Если вы используете конфигурацию с 4 осями, тогда будет два дополнительных контакта:

  • gmoccapy.jog.jog-<your fourth axis letter >-plus (bit IN)

  • gmoccapy.jog.jog-<your fourth axis letter >-minus (bit IN)

Для оси C вы увидите:

  • gmoccapy.jog.axis.jog-c-plus (bit IN)

  • gmoccapy.jog.axis.jog-c-minus (bit IN)

5.4. Скорость медленной подачи и контакт HAL Turtle-Jog

Скорость медленной подачи можно выбрать с помощью соответствующего ползунка. Масштаб ползунка будет изменен, если была переключена кнопка черепахи (та, которая показывает кролика или черепаху). Если кнопка не видна, возможно, она отключена на странице settings. Если на кнопке отображается значок кролика, шкала составляет от минимальной до максимальной скорости станка. Если на нем изображена черепаха, по умолчанию масштаб будет достигать только 1/20 максимальной скорости. Используемый разделитель можно настроить на странице settings.

Таким образом, с помощью сенсорного экрана гораздо проще выбирать меньшие скорости.

GMOCCAPY предлагает этот контакт HAL для переключения между скоростью подачи черепахи и кролика:

  • gmoccapy.jog.turtle-jog (bit IN)

5.5. HAL Контакты приращения медленной подачи

Приращения подачи, указанное в INI-файле, например

[DISPLAY]
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm

выбираются через контакты HAL, поэтому для выбора используемого приращения можно использовать аппаратный переключатель выбора. Для приращений, указанных в INI-файле, будет максимум 10 контактов HAL. Если вы укажете больше приращений в своем INI-файле, они будут недоступны из графического интерфейса, поскольку не будут отображаться.

Если у вас есть 6 приращений в вашем INI-файле, как в примере выше, вы получите 7 контактов:

  • gmoccapy.jog.jog-inc-0 (bit IN) - Этот фиксированный и будет представлять собой непрерывную медленную подачу.

  • gmoccapy.jog.jog-inc-1 (bit IN) - Первое приращение указано в INI-файле.

  • gmoccapy.jog.jog-inc-2 (bit IN)

  • gmoccapy.jog.jog-inc-3 (bit IN)

  • gmoccapy.jog.jog-inc-4 (bit IN)

  • gmoccapy.jog.jog-inc-5 (bit IN)

  • gmoccapy.jog.jog-inc-6 (bit IN)

GMOCCAPY также предлагает контакт HAL для вывода выбранного приращения медленной подачи:

  • gmoccapy.jog.jog-increment (float OUT)

5.6. Контакт разблокировки оборудования

Чтобы иметь возможность использовать ключевой переключатель для разблокировки страницы настроек, экспортируется следующий контакт:

  • gmoccapy.unlock-settings (bit IN) - Страница настроек разблокируется, если контакт находится в активном состоянии. Чтобы использовать этот контакт, вам необходимо активировать его на странице настроек.

5.7. Контакты ошибок/предупреждений

  • gmoccapy.error (bit OUT) - Указывает на ошибку, поэтому может загореться индикатор или даже может быть остановлен станок. Он будет сброшен с помощью контакта gmoccapy.delete-message.

  • gmoccapy.delete-message (bit IN) - Удалит первую ошибку и сбросит контакт gmoccapy.error в значение false после устранения последней ошибки.

  • gmoccapy.warning-confirm (bit IN) - Подтверждает диалоговое окно с предупреждением подобно клику на ОК.

Note

Сообщения или информация пользователя не влияют на контакт gmoccapy.error, но контакт gmoccapy.delete-message удалит последнее сообщение, если не отображается ошибка!

5.8. HAL Контакты созданного пользователем сообщения

GMOCCAPY можно настроить на реагирование на внешние ошибки, используя 3 различных сообщения пользователя:

статус
  • gmoccapy.messages.status (bit IN) - Запускает диалог.

okdialog
  • gmoccapy.messages.okdialog (bit IN) - Запускает диалог.

  • gmoccapy.messages.okdialog-waiting (bit OUT) - Будет 1, пока открыто диалоговое окно. Закрытие сообщения сбросит этот контакт.

yesnodialog
  • gmoccapy.messages.yesnodialog (bit IN) - Запускает диалог.

  • gmoccapy.messages.yesnodialog-waiting (bit OUT) - Будет 1, пока открыто диалоговое окно. Закрытие сообщения сбросит этот контакт.

  • gmoccapy.messages.yesnodialog-response (bit OUT) - Этот PIN-код изменится на 1, если пользователь нажмет ОК, а во всех остальных случаях он будет равен 0. Этот контакт будет оставаться 1 до тех пор, пока диалоговое окно не будет вызвано снова.

Чтобы добавить сообщение, созданное пользователем, вам необходимо добавить сообщение в INI-файл в разделе DISPLAY. См. Конфигурация сообщений.

Пример сообщения пользователя (INI-файл)
MESSAGE_TEXT = LUBE FAULT
MESSAGE_TYPE = okdialog
MESSAGE_PINNAME = lube-fault

MESSAGE_TEXT = X SHEAR PIN BROKEN
MESSAGE_TYPE = status
MESSAGE_PINNAME = pin

Чтобы соединить эти новые контакты, вам нужно сделать это в HAL-файле postgui. Вот несколько примеров соединений, которые соединяют сигналы сообщения с другим местом в файле HAL.

Пример подключения сообщений пользователя (HAL файл)
net gmoccapy-lube-fault gmoccapy.messages.lube-fault
net gmoccapy-lube-fault-waiting gmoccapy.messages.lube-fault-waiting
net gmoccapy-pin gmoccapy.messages.pin

Для получения дополнительной информации о файлах HAL и команде net см. HAL Basics.

5.9. Контакты обратной связи шпинделя

Для обратной связи шпинделя имеется два контакта:

  • gmoccapy.spindle_feedback_bar (float IN) - Значок для отображения скорости шпинделя на шкале шпинделя.

  • gmoccapy.spindle_at_speed_led (bit IN) - Контакт для включения is-at-speed-led.

5.10. Контакты для отображения информации о ходе выполнения программы

Есть три контакта, которые дают информацию о ходе программы:

  • gmoccapy.program.length (s32 OUT) - Показывает общее количество строк программы.

  • gmoccapy.program.current-line (s32 OUT) - Указывает текущую рабочую строку программы.

  • gmoccapy.program.progress (float OUT) - Показывает ход выполнения программы в процентах.

Значения могут быть неточными, если вы работаете с подпрограммами или большими процедурами переназначения. Также циклы будут вызывать разные значения.

5.11. Контакты, относящиеся к инструменту

Контакты смены инструмента

Эти контакты предназначены для использования внутреннего диалога смены инструмента GMOCCAPY, аналогичного тому, который известен в AXIS, но с некоторыми модификациями. Таким образом, вы получите не только сообщение о смене инструмента на инструмент номер 3, но и описание этого инструмента, например фреза с канавками 7,5 мм 3. Информация берется из таблицы инструментов, поэтому вам решать, что отображать.

Ручная смена инструмента
Figure 2. Диалоговое окно смены инструмента GMOCCAPY
  • gmoccapy.toolchange-number (s32 IN) - Номер инструмента, подлежащего замене

  • gmoccapy.toolchange-change (bit IN) - Указывает на необходимость замены инструмента

  • gmoccapy.toolchange-changed (bit OUT) - Указывает на то, что инструмент был изменен

  • gmoccapy.toolchange-confirm (bit IN) - Подтверждает смену инструмента

Обычно для ручной смены инструмента их подключают так:

net tool-change gmoccapy.toolchange-change <= iocontrol.0.tool-change
net tool-changed gmoccapy.toolchange-changed <= iocontrol.0.tool-changed
net tool-prep-number gmoccapy.toolchange-number <= iocontrol.0.tool-prep-number
net tool-prep-loop iocontrol.0.tool-prepare <= iocontrol.0.tool-prepared
Note
Пожалуйста, обратите внимание, что эти соединения должны быть выполнены в HAL-файле postgui.
Контакты смещения инструмента

Эти контакты позволяют отображать активные значения коррекции инструмента по X и Z в информационном поле инструмента. Вы должны знать, что они активны только после отправки G43.

Информация об инструменте
Figure 3. Область информации об инструменте
  • gmoccapy.tooloffset-x (float IN)

  • gmoccapy.tooloffset-z (float IN)

Note
Линия tooloffset-x не требуется на фрезерном станке и не будет отображаться на фрезерном станке с тривиальной кинематикой.

Чтобы отобразить текущие смещения, контакты должны быть соединены следующим образом в файле HAL postgui:

net tooloffset-x gmoccapy.tooloffset-x <= motion.tooloffset.x
net tooloffset-z gmoccapy.tooloffset-z <= motion.tooloffset.z
Important
Обратите внимание, что GMOCCAPY самостоятельно обновляет смещения, отправляя G43 после любой смены инструмента, но не в автоматическом режиме!
Таким образом, написание программы возлагает на вас ответственность включать G43 после каждой смены инструмента!

6. Автоматическое измерение инструмента

GMOCCAPY предлагает интегрированное автоматическое измерение инструмента. Чтобы использовать эту функцию, вам потребуется выполнить некоторые дополнительные настройки, и вы можете использовать предлагаемый контакт HAL для получения значений в вашей собственной процедуре переназначения NGC.

Important
Перед началом первого теста не забудьте ввести высоту и скорость зонда на странице настроек! См. <<gmoccapy:tool-measurement, Страница настроек Измерение инструмента.

Возможно, было бы также неплохо взглянуть на видео об измерениях инструментов: см. видео.

Измерение инструментов в GMOCCAPY немного отличается от многих других ГИПов. Вам следует выполнить следующие шаги:

  1. Коснитесь заготовки по X и Y.

  2. Измерьте высоту вашего блока от основания, где расположен переключатель инструмента, до верхней поверхности блока (включая патрон и т. д.).

  3. Нажмите кнопку высоты блока и введите измеренное значение.

  4. Перейдите в автоматический режим и запустите программу.

Вот небольшой эскиз:

images/sketch_auto_tool_measurement.png
Figure 4. Данные измерений инструмента

При первой смене инструмента инструмент будет измерен, и смещение будет установлено автоматически в соответствии с высотой блока. Преимущество метода GMOCCAPY в том, что вам не нужен калибровочный инструмент.

Note

Ваша программа должна содержать смену инструмента в начале! Инструмент будет измерен, даже если он уже использовался ранее, поэтому нет никакой опасности, если высота блока изменится. На YouTube есть несколько видеороликов, показывающих, как это сделать.

6.1. Предоставленные контакты

GMOCCAPY предлагает пять контактов для измерения инструмента. Эти контакты в основном используются для чтения из подпрограммы G-кода, поэтому код может реагировать на разные значения.

  • gmoccapy.toolmeasurement (bit OUT) - Разрешить или нет измерение инструмента

  • gmoccapy.blockheight (float OUT) - Измеренное значение верхней части заготовки

  • gmoccapy.probeheight (float OUT) - Высота переключения зонда

  • gmoccapy.searchvel (float OUT) - Скорость поиска переключения датчика инструмента

  • gmoccapy.probevel (float OUT) - Скорость измерения длины инструмента

6.2. Изменения INI-файла

Измените свой INI-файл, включив в него следующие разделы.

Раздел RS274NGC
[RS274NGC]
# is the sub, with is called when a error during tool change happens, not needed on every machine configuration
ON_ABORT_COMMAND=O <on_abort> call

# The remap code
REMAP=M6  modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
Note
Убедитесь, что для INI_VARS и HAL_PIN_VARS не установлено значение 0. По умолчанию для них установлено значение 1.
Раздел Датчик инструмента

Положение датчика инструмента и начальное положение измерительного движения, все значения являются абсолютными координатами, кроме MAXPROBE, которое должно быть задано в относительном движении.

[TOOLSENSOR]
X = 10
Y = 10
Z = -20
MAXPROBE = -20
Раздел Изменить позицию

Это имя не называется TOOL_CHANGE_POSITION намеренно — canon использует это имя и в противном случае будет мешать. Позиция перемещения станка перед подачей команды смены инструмента. Все значения указаны в абсолютных координатах.

[CHANGE_POSITION]
X = 10
Y = 10
Z = -2
Раздел Python

Плагины Python служат интерпретатором и задачами.

[PYTHON]
# The path to start a search for user modules
PATH_PREPEND = python
# The start point for all.
TOPLEVEL = python/toplevel.py

6.3. Необходимые файлы

Сначала создайте каталог "python" в папке конфигурации. Из <your_linuxcnc-dev_directory>/configs/sim/gmoccapy/python скопируйте следующие файлы в только что созданную папку config_dir/python:

  • toplevel.py

  • remap.py

  • stdglue.py

Из копии <your_linuxcnc-dev_directory>/configs/sim/gmoccapy/macros

  • on_abort.ngc

  • change.ngc

в каталог, указанный как SUBROUTINE_PATH, см. Раздел RS274NGC.

Откройте change.ngc в редакторе и раскомментируйте следующие строки (49 и 50):

F #<_hal[gmoccapy.probevel]>
G38.2 Z-4

Возможно, вы захотите изменить этот файл, чтобы он больше соответствовал вашим потребностям.

6.4. Необходимые соединения HAL

Подключите датчик инструмента к вашему файлу HAL следующим образом:

net probe  motion.probe-input <= <your_input_pin>

Строка может выглядеть так:

net probe  motion.probe-input <= parport.0.pin-15-in

В файле postgui.hal добавьте следующие строки:

# The next lines are only needed if the pins had been connected before
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
unlinkp iocontrol.0.tool-prep-number
unlinkp iocontrol.0.tool-prepared

# link to GMOCCAPY toolchange, so you get the advantage of tool description on change dialog
net tool-change gmoccapy.toolchange-change <= iocontrol.0.tool-change
net tool-changed gmoccapy.toolchange-changed <= iocontrol.0.tool-changed
net tool-prep-number gmoccapy.toolchange-number <= iocontrol.0.tool-prep-number
net tool-prep-loop iocontrol.0.tool-prepare <= iocontrol.0.tool-prepared

7. Страница настроек

Чтобы войти на страницу, вам нужно будет нажать на images/gmoccapy_settings_button.png и ввести код разблокировки, который по умолчанию равен 123. Если вы хотите изменить его сейчас, вам придется отредактировать скрытый файл настроек, подробности см. в разделе the displaysection.

Страница разделена на три основные вкладки:

7.1. Внешний вид

Страница конфигурации
Figure 5. Страница настроек GMOCCAPY Внешний вид

На этой вкладке вы найдете следующие опции:

Главное окно

Здесь вы можете выбрать способ запуска ГИП. Основной причиной этого было желание предоставить пользователю простой способ установки параметров запуска без необходимости изменения кода. У вас есть три варианта:

  • Start as full screen

  • Start maximized

  • Start as window - Если вы выберете start as window, поля прокрутки для установки положения и размера станут активными. Будучи установленным, ГИП будет запускаться каждый раз на том же месте и с выбранным размером. Тем не менее, пользователь может изменить размер и положение с помощью мыши, но это не окажет никакого влияния на настройки.

  • Window decorated - Позволяет скрыть строку заголовка. (по умолчанию: строка заголовка видна)

  • hide cursor - Позволяет скрыть курсор, что очень полезно, если вы пользуетесь сенсорным экраном.

  • hide tooltips - Скрывает подсказки инструментов.

Клавиатура

Флажки позволяют пользователю выбрать, хочет ли он, чтобы встроенная клавиатура отображалась немедленно при входе в режим MDI, при входе на страницу смещения, в виджет редактирования инструментов или при открытии программы в режиме РЕДАКТИРОВАНИЯ. Эти настройки не повлияют на кнопку клавиатуры в нижнем списке кнопок, поэтому вы можете показать или скрыть клавиатуру, нажав кнопку. Поведение по умолчанию будет установлено флажками.

По умолчанию:

Note
Если этот раздел не является изменяемым, у вас не установлена виртуальная клавиатура, поддерживаются только onboard и matchbox-keyboard.
  • Show keyboard on offset

  • Show keyboard on tooledit

  • Show keyboard on MDI

  • Show keyboard on EDIT

  • Show keyboard on load file

Если раскладка клавиатуры неправильная (т. е. нажатие Y дает Z, значит раскладка установлена неправильно в соответствии с настройками вашего региона). Для встроенной системы это можно решить с помощью небольшого командного файла следующего содержания:

#!/bin/bash
setxkbmap -model pc105 -layout de -variant basic

Буквы "de" обозначают немецкий язык, вам придется установить их в соответствии с настройками вашего региона. Просто запустите этот файл перед запуском LinuxCNC, это также можно сделать, добавив стартер в локальную папку.

./config/autostart

Чтобы макет устанавливался автоматически при запуске.

Для миниатюрной клавиатуры придется делать свою раскладку, для немецкой раскладки спрашивайте на форуме.

GMOCCAPY со встроенной клавиатурой в режиме редактирования

Onboard keyboard

Включить касание

Это дает возможность выбрать, показывать ли вкладку предварительного просмотра или вкладку страницы смещения когда вы входите в режим касания путем нажатия соответствующей нижней кнопки.

  • show preview

  • show offsets

Варианты УЦИ

У вас есть возможность выбрать цвета фона для различных состояний УЦИ. Таким образом, пользователи, страдающие протанопией (слабостью красного и зеленого), могут выбирать правильные цвета.

По умолчанию цвета фона:

  • Относительный режим = черный

  • Абсолютный режим = синий

  • Оставшееся расстояние = желтый

Цвет переднего плана УЦИ можно выбрать с помощью:

  • цвет исходной позиции = зеленый

  • цвет вне исходной позиции = красный

Note
Вы можете переключать режимы УЦИ (абсолютный, относительный, оставшееся расстояние), щелкая номер на УЦИ! Если вы щелкните левую букву УЦИ, появится всплывающее окно, которое позволит вам установить значение осей, что упростит установку значения, поскольку вам не нужно будет нажимать на нижнюю кнопку отключения касания.
size

Позволяет установить размер шрифта УЦИ, по умолчанию — 28. Если вы используете экран большего размера, вы можете увеличить размер до 56. Если вы используете 4 оси, размер шрифта УЦИ будет составлять 3/4 значения, по соображениям пространства.

digits

Устанавливает количество цифр УЦИ от 1 до 5.

Note

Имперская система покажет на одну цифру больше, чем метрическая. Таким образом, если вы используете имперские станочные единицы и установили цифровое значение на 1, вы вообще не получите цифр в метрических единицах.

toggle DRO mode

Если не активен, щелчок мышью по УЦИ не приведет к каким-либо действиям.
По умолчанию этот флажок активен, поэтому каждый щелчок по любому УЦИ будет переключать показания УЦИ с фактического на относительное от DTG (оставшееся расстояние).
Тем не менее, щелчок по букве оси откроет всплывающее диалоговое окно для установки значения оси.

Предварительный просмотр
  • Grid Size - Устанавливает размер сетки окна предварительного просмотра. К сожалению, размер *должен быть установлен в дюймах*, даже если единицы измерения на вашем станке метрические. Мы надеемся исправить это в будущем выпуске.

Note
Сетка не будет отображаться в режиме перспективы.
  • Show DRO - УЦИ также будет отображаться на панели предварительного просмотра, он всегда будет отображаться в полноразмерном предварительном просмотре.

  • Show DTG - Будет показывать DTG (прямое расстояние до конечной точки) на панели предварительного просмотра, если параметр Show DRO активен. В противном случае только в полноразмерном просмотре.

  • Show Offsets - Отображает смещения на панели предварительного просмотра, когда активен параметр Show DRO. В противном случае только в полноразмерном просмотре.

  • Mouse Button Mode - Это поле со списком позволяет выбрать поведение кнопок мыши для вращения, перемещения или масштабирования в пределах предварительного просмотра:

    • левая вращение, средняя перемещение, правая масштабирование

    • левая масштабирование , средняя перемещение, правая вращение

    • левая перемещение, средняя вращение, правая масштабирование

    • левая масштабирование, средняя вращение, правая перемещение

    • левая перемещение, средняя масштабирование, правая вращение

    • левая вращение, средняя масштабирование, правая перемещение

      По умолчанию — левая перемещение, средняя масштабирование, правая вращение.

Колесо мыши по-прежнему будет масштабировать предварительный просмотр в каждом режиме.

Tip

Если вы выберете элемент в предварительном просмотре, выбранный элемент будет считаться центром вращения и в автоматическом режиме будет выделена соответствующая строка кода.

Файл для загрузки при запуске

Выберите файл, который вы хотите загрузить при запуске. Если файл загружен, его можно установить, нажав текущую кнопку. Чтобы избежать загрузки какой-либо программы при запуске, просто нажмите кнопку None.

На экране выбора файла будут использоваться фильтры, которые вы установили в файле INI. Если фильтры не заданы, вы увидите только файлы NGC. Путь будет установлен в соответствии с настройками INI в [DISPLAY] PROGRAM_PREFIX.

Перейти в каталог

Здесь вы можете указать каталог, в который будет осуществляться переход при нажатии соответствующей кнопки в диалоге выбора файла.

Темы и звуки

Это позволяет пользователю выбрать, какую тему рабочего стола применить и какие звуки ошибок и сообщений следует воспроизводить. По умолчанию установлено "Follow System Theme".

Кроме того, он позволяет изменить тему значков. На данный момент доступны три темы:

  • classic

  • material

  • material light

Чтобы создать собственные темы значков, подробности см. в разделе Icon Theme.

7.2. Оборудование

Настройки оборудования
Масштаб аппаратного РГИ

Для различных контактов HAL для подключения маховичков РГИ вы можете выбрать отдельные масштабы, которые будут применяться. Основной причиной этого был мой собственный тест по решению этой проблемы через соединения HAL, в результате которого получился очень сложный файл HAL. Представьте себе пользователя, у которого есть маховичок РГИ со 100 имп/об и он хочет замедлить мак. скорость от 14000 до 2000 мм/мин, что требует 12000 импульсов, что соответствует 120 оборотам колеса! Или другой пользователь, у которого есть маховичок РГИ с 500 имп/об, и он хочет установить коррекцию шпинделя с пределами от 50 до 120%, чтобы он переходил от минимального до максимального значения за 70 импульсов, то есть даже не за 1/4 оборота.

По умолчанию все масштабы задаются с помощью расчета:

(MAX - MIN)/100
Горячие клавиши

Некоторые пользователи хотят управлять станком с помощью кнопок клавиатуры, а есть другие, которые никогда этого не позволят. Таким образом, каждый может выбрать, использовать их или нет.
По умолчанию сочетания клавиш отключены.

Warning
Не рекомендуется использовать клавиатуру для медленной подачи, так как это представляет серьезную опасность для оператора и станка.

Пожалуйста, будьте осторожны, если вы используете токарный станок, тогда сочетания клавиш будут другими, см. Lathe Specific Section.

General
  • F1 - Триггер Estop (будет работать, даже если сочетания клавиш отключены)

  • F2 - Включить/выключить станок

  • F3 - Ручной режим

  • F5 - MDI режим

  • ESC - Прервать

В ручном режиме
  • Arrow_Left или NumPad_Left - Медленная подача X минус

  • Arrow_Right или NumPad_Right - Медленная подача X плюс

  • Arrow_up или NumPad_Up - Медленная подача Y плюс

  • Arrow_Down или NumPad_Down - Медленная подача Y минус

  • Page_Up или NumPad_Page_Up - Медленная подача Z плюс

  • Page_Down или NumPad_Page_Down - Медленная подача Z минус

В автоматическом режиме
  • R или r - Запустить программу

  • P или p - Приостановить программу

  • S или s - Возобновить программу

  • Control + R или Control + r - Перезагрузить загруженный файл

Обработка сообщений (см. Поведение и внешний вид сообщения)
  • WINDOWS - Удалить последнее сообщение

  • Control + Space - Удалить все сообщения

Параметры разблокировки

Есть три варианта разблокировки страницы настроек:

  • Use unlock code - Пользователь должен ввести код для входа.

  • Do not use unlock code - Никакой проверки безопасности не будет.

  • Use HAL pin to unlock - Аппаратный контакт должен иметь высокий уровень, чтобы разблокировать настройки, см. аппаратный разблокирующий контакт.

По умолчанию use unlock code (по умолчанию = 123).

Spindle
  • Starting RPM - Устанавливает частоту вращения, которая будет использоваться, если шпиндель запущен и значение S не установлено.

    Note
    Это значение будет задано в соответствии с вашими настройками в [DISPLAY] DEFAULT_SPINDLE_SPEED вашего INI-файла. Если вы измените настройки на странице настроек, с этого момента это значение будет использоваться по умолчанию, ваш INI-файл не будет изменен.
  • Spindle bar min и Spindle bar max - Устанавливает пределы шпинделя, отображаемые в рамке INFO на главном экране.

    Значения по умолчанию:
    MIN = 0
    MAX = 6000

    Note
    Это не ошибка, дающая неверные значения. Если вы дадите максимум 2000, а ваш шпиндель делает 4000 об/мин, то только показания шкалы будут неверными на скоростях выше 2000 об/мин.
Очень медленная подача

Эти настройки будут влиять на скорость медленной подачи.

  • Hide turtle jog button - Скроет кнопку справа от ползунка скорости медленной подачи. Если вы скроете эту кнопку, позаботьтесь о том, чтобы был активирован "режим кролика", иначе вы не сможете подавать быстрее, чем скорость очень медленной (черепашей) подачи, которая рассчитывается с использованием коэффициента очень медленной подачи.

  • Turtle jog factor - Устанавливает масштаб, применяемый для режима очень медленной (черепашей) подачи (нажатие кнопки показывает черепаху). Если вы установите коэффициент 20, скорость очень медленной подачи будет составлять 1/20 от максимальной. скорости станка.

Note
Этой кнопкой можно управлять с помощью контакта Turtle-Jog HAL.

7.3. Расширенные настройки

Расширенные настройки
Измерение инструмента

Пожалуйста, проверьте автоматическое измерение инструмента

Note
Если эта часть не редактируема, у вас нет допустимой конфигурации INI-файла для использования измерения инструмента.
  • Use auto tool measurement - Если этот флажок установлен, после каждой смены инструмента будет выполняться измерение инструмента, результат будет сохранен в таблице инструментов, а после замены будет выполняться G43.

    Информация о зонде

    Следующая информация взята из вашего INI-файла и должна быть указана в абсолютных координатах.

    • X Pos. - Положение X переключателя инструмента.

    • Y Pos. - Положение Y переключателя инструмента.

    • Z Pos. - Положение Z переключателя инструмента, мы будем быстро перемещаться по этой координате.

    • Max. Probe Расстояние для поиска контакта, будет ошибка, если в этом диапазоне не будет задан ни один контакт. Расстояние должно быть задано в относительных координатах, начиная движение от позиции Z, поэтому вам нужно указать отрицательное значение, чтобы идти вниз!

    • Probe Height - Вы можете измерить высоту вашего переключателя щупа. Просто коснитесь основания, где расположен щуп датчика, и установите его на ноль. Затем замените инструмент и посмотрите значение tool_offset_z, то есть высоту, которую вы должны ввести здесь.

    Скорости зонда
    • Search Vel. - Скорость поиска переключателя инструмента. После контакта инструмент снова поднимется вверх, а затем снова пойдет к датчику с увеличением скорости датчика, так что вы получите лучшие результаты.

    • Probe Vel. - Скорость второго движения к переключателю. Это должно быть медленнее, чтобы получить лучшие результаты касания. В режиме моделирования это закомментировано в файле macros/change.ngc, иначе пользователю придется дважды нажать кнопку проверки.

Перезагрузка инструмента
  • Reload Tool on Start - Загружает последний инструмент при запуске после возврата в исходное положение.

Вариант запуска с линии

Вы можете разрешить или запретить запуск с линии. Это сделает соответствующую кнопку нечувствительной (серой) и пользователь не сможет использовать эту опцию. По умолчанию запуск с линии отключен .

Warning
Не рекомендуется использовать запуск со строки, поскольку LinuxCNC не будет обрабатывать предыдущие строки кода перед начальной строкой. Поэтому ошибки или сбои вполне вероятны.
Поведение и внешний вид сообщения

При этом отобразятся небольшие всплывающие окна с сообщением или текстом ошибки, подобные тем, которые известны в AXIS. Вы можете удалить конкретное сообщение, нажав на его кнопку закрытия. Если вы хотите удалить последнее, просто нажмите клавишу WINDOWS на клавиатуре или удалите все сообщения одновременно с помощью Control + Space.

Вы можете установить некоторые параметры:

  • X Pos - Положение верхнего левого угла сообщения по оси X считается в пикселях от верхнего левого угла экрана.

  • Y Pos - Положение верхнего левого угла сообщения по оси Y считается в пикселях от верхнего левого угла экрана.

  • Width - Ширина окна сообщения.

  • Max Messages - Максимальное количество сообщений, которые вы хотите видеть одновременно. Если вы установите значение 10, 11е сообщение удалит первое, поэтому вы увидите только последние 10.

  • Font - Шрифт и размер, которые вы хотите использовать для отображения сообщений.

  • Use frames - Если вы активируете флажок, каждое сообщение будет отображаться в рамке, поэтому различать сообщения будет намного проще. Но вам понадобится немного больше места.

  • Launch test message-button - Появится сообщение, так что вы сможете увидеть изменения ваших настроек без необходимости генерировать ошибку.

8. Тема иконок

Темы иконок используются для настройки внешнего вида иконок GMOCCAPY.

GMOCCAPY поставляется с тремя различными темами иконок:

  • classic - Классические иконки GMOCCAPY.

  • material - Современная тема значков, вдохновленная иконками материалов Google, которая автоматически принимает цвет из выбранной темы рабочего стола.

  • material-light - Создано на основе материала, но оптимизировано для легких тем рабочего стола.

Тема иконок, используемая в GMOCCAPY, представляет собой обычную тему иконок GTK, соответствующую спецификации темы иконок freedestktop. Таким образом, любую действующую тему иконок GTK можно использовать в качестве темы иконок GMOCCAPY, если она содержит необходимые иконки.

GMOCCAPY сканирует следующие каталоги на предмет тем иконок:

  • linuxcnc/share/gmoccapy/icons

  • ~/.icons

8.1. Пользовательская тема значков

Создать собственную тему иконок довольно просто. Все, что вам нужно, это текстовый редактор и, конечно же, нужные иконки в виде пиксельной или векторной графики. Подробную информацию о том, как именно создается тема иконок, можно найти в https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html [Спецификация темы значков Freedesktop].

Начните с создания пустого каталога с именем темы иконок. Поместите каталог в один из каталогов тем иконок GMOCCAPY. Затем нам нужен файл index.theme в корневой папке нашей темы иконок, который содержит необходимые метаданные для темы. Это простой текстовый файл, содержащий как минимум следующие разделы:

  • [Icon Theme]

    [Icon Theme]
    Name=YOUR_THEME_NAME
    Comment=A DESCRIPTION OF YOUR THEME
    Inherits=hicolor
    Directories=16x16/actions,24x24/actions,32x32/actions,48x48/actions,scalable/actions
    • Name: Имя вашей темы иконок.

    • Comment: Описание темы иконок.

    • Inherits: Тема иконок может быть производной от другой темы иконок, по умолчанию используется hicolor.

    • Directories: Разделенный запятыми список всех каталогов вашей темы значков.
      Каждый каталог обычно содержит все значки темы определенного размера, например 16x16/actions должен содержать все значки категории "actions" размером 16x16 пикселей в виде пиксельной графики (например, файлы png). Особым случаем является каталог под названием "scalable/actions", он содержит масштабируемые значки, не привязанные к определенному размеру (например, файлы svg).
      Предоставляя версии значков разного размера, мы можем гарантировать красивый вид значка, если размеры разные, а также у нас есть возможность изменять значок в соответствии с его размером, например, значок размером 64x64 пикселей может содержать больше деталей, чем его версия 16x16 пикселей. .

  • Для каждого каталога нам также нужно написать раздел в файле index.theme:

    [16x16/actions]
    Size=16
    Type=Fixed
    Context=Actions
    
    [scalable/actions]
    Size=48
    Type=Scalable
    Context=Actions
    • Size: Номинальный размер значка в этом каталоге

    • Type: Фиксированный, пороговый или масштабируемый

    • Context: Предполагаемая "категория" иконок

По сути, это все, что нужно для создания пользовательской темы иконок.

8.2. Символические иконки

Символические иконки — это особый тип иконок, обычно монохромное изображение. Особенностью символических иконок является то, что во время выполнения иконки автоматически окрашиваются в соответствии с темой рабочего стола. Таким образом, можно создавать темы иконок, которые хорошо сочетаются как с темными, так и со светлыми темами рабочего стола (на самом деле, это не всегда лучший вариант, поэтому существует специальная тема "material-light").

images/gmoccapy_icon_theme_symbolic.png

Чтобы использовать символическую функцию, файл иконки должен иметь суффикс .symbolic.$ext (где $ext — это обычное расширение файла, например png), например "power_on.symbolic.png".

С таким именем GTK рассматривает это изображение как символическую иконку и применяет некоторую перекраску при загрузке иконки. Разрешено использовать только четыре цвета:

Цвет Hex Код Description

черный

#000000

Основной цвет изменяется в соответствии с основным цветом темы рабочего стола.

красный

#ff0000

Успех: этот цвет указывает на "успех" (обычно что-то зеленоватого цвета).

зеленый

#00ff00

Предупреждение: этот цвет означает "предупреждение" (обычно что-то желтое/оранжевое).

синий

#0000ff

Ошибка: этот цвет указывает на "ошибку" (обычно красный).

Tip
Примеры символических иконок можно найти по адресу linuxcnc/share/gmoccapy/icons/material.

9. Специальный раздел для токарных станков

Если в INI-файле указано LATHE = 1, ГИП изменит свой внешний вид в соответствии с особыми потребностями токарного станка. В основном ось Y будет скрыта, а кнопки перемещения будут расположены в другом порядке.

images/gmoccapy_lathe.png
Figure 6. Обычный токарный станок
images/gmoccapy_back_tool_lathe.png
Figure 7. Задний инструмент токарного станка

Как вы видите, R УЦИ имеет черный фон, а D УЦИ — серый. Это будет меняться в зависимости от активного G-кода G7 или G8. Активный режим виден по черному фону, что означает, что на показанных изображениях G8 активен.

Следующее отличие от стандартного экрана — расположение кнопок поворота. X и Z поменялись местами, а Y исчезла. Вы заметите, что кнопки X+ и X- меняются местами в зависимости от обычного или токарного станка с задним инструментом.

Также изменится поведение клавиатуры:

Обычный токарный станок:

  • Arrow_Left или NumPad_Left - Медленная подача Z минус

  • Arrow_Right или NumPad_Right - Медленная подача Z плюс

  • Arrow_up или NumPad_Up - Медленная подача X минус

  • Arrow_Down или NumPad_Down - Медленная подача X плюс

Токарный станок с задним инструментом:

  • Arrow_Left или NumPad_Left - Медленная подача Z минус

  • Arrow_Right или NumPad_Right - Медленная подача Z плюс

  • Arrow_up или NumPad_Up - Медленная подача X плюс

  • Arrow_Down или NumPad_Down - Медленная подача X минус

В окне информации об инструменте будет отображаться не только смещение по оси Z, но и смещение по оси X, а в таблице инструментов отображается вся информация, относящаяся к токарному станку.

10. Специальный раздел плазмы

Плазма ГИП

Существует очень хорошая WIKI, которая постоянно растет и поддерживается Мариусом, см. https://wiki.linuxcnc.org/cgi-bin/wiki.pl?Gmoccapy_plasma [вики-страница Plasma].

11. Видео на YouTube

Ниже представлена серия видеороликов, показывающих GMOCCAPY в действии. К сожалению, в этих видеороликах не показана последняя версия GMOCCAPY, но способ ее использования останется таким же, как и в текущей версии. Я буду обновлять видео как можно скорее.

11.1. Базовое использование

11.2. Имитация маховичков медленной подачи

11.3. Страница настроек

11.4. Имитированная аппаратная кнопка

11.5. Пользовательские вкладки

11.6. Видео об измерениях инструментов

Моделирование автоматического измерения инструмента: https://youtu.be/rrkMw6rUFdk

Экран автоматического измерения инструмента: https://youtu.be/Z2ULDj9dzvk

Автоматический станок для измерения инструментов: https://youtu.be/1arucCaDdX4

12. Известные проблемы

12.1. Странные числа в информационной зоне

Если вы получаете странные числа в информационной области GMOCCAPY, например:

Странные числа

Вы создали файл конфигурации, используя более старую версию StepConfWizard. Он сделал неверную запись в файле INI под [TRAJ] с именем MAX_LINEAR_VELOCITY = xxx. Измените эту запись на MAX_VELOCITY = xxx.

12.2. Не завершающийся макрос

Если вы используете макрос без движения, например этот:

 o<zeroxy> sub

G92.1
G92.2
G40

G10 L20 P0 X0 Y0

o<zeroxy> endsub
m2

GMOCCAPY не увидит конец макроса, потому что интерпретатору необходимо изменить свое состояние на IDLE, но макрос даже не переводит интерпретатор в новое состояние. Чтобы избежать этого, просто добавьте линию G4 P0.1, чтобы получить необходимый сигнал. Правильный макрос будет такой:

 o<zeroxy> sub

G92.1
G92.2
G40

G10 L20 P0 X0 Y0

G4 P0.1

o<zeroxy> endsub
m2