LinuxCNC: различия между версиями
Enderukov (обсуждение | вклад) (→Приложения) |
Enderukov (обсуждение | вклад) (→Главный экран) |
||
Строка 13: | Строка 13: | ||
Группа горячих функций - блок функций, созданный для удобства работы, функций, которые часто требуются для работы.<br> | Группа горячих функций - блок функций, созданный для удобства работы, функций, которые часто требуются для работы.<br> | ||
[[File:HOTFUNCTION.jpg|border|240px|HOTFUNCTION]] | [[File:HOTFUNCTION.jpg|border|240px|HOTFUNCTION]] | ||
− | ====REFERENCE==== | + | ====REFERENCE (Возврат в машинный ноль)==== |
Группа параметров REFERENCE отвечает за возврат станка в домашнее положение. Структура LinuxCNC устроена таким образом, что работа на станке ограничена, пока не найден машинный ноль. Это позволяет предотвратить аварийные ситуации при работе (выход станка за рабочее поле и запуск управляющей программы, превышающей рабочее поле станка). Возвращать в домашнее положение станка необходимо каждый раз при запуске LinuxCNC. <br> | Группа параметров REFERENCE отвечает за возврат станка в домашнее положение. Структура LinuxCNC устроена таким образом, что работа на станке ограничена, пока не найден машинный ноль. Это позволяет предотвратить аварийные ситуации при работе (выход станка за рабочее поле и запуск управляющей программы, превышающей рабочее поле станка). Возвращать в домашнее положение станка необходимо каждый раз при запуске LinuxCNC. <br> | ||
Обратите внимание, что группа функций разделена на:<br> | Обратите внимание, что группа функций разделена на:<br> | ||
Строка 21: | Строка 21: | ||
[[File:REFZ.jpg|border|80px|REFZ]] - '''Возврат в домашнее положение по оси Z.'''<br> | [[File:REFZ.jpg|border|80px|REFZ]] - '''Возврат в домашнее положение по оси Z.'''<br> | ||
− | ====ZERO==== | + | ====ZERO (Обнуление относительных координат)==== |
Группа горячий функций ZERO отвечает за установку относительных координат в 0 (G54). Относительные координаты служат для установки точка начала управляющей программы.<br> | Группа горячий функций ZERO отвечает за установку относительных координат в 0 (G54). Относительные координаты служат для установки точка начала управляющей программы.<br> | ||
Строка 29: | Строка 29: | ||
[[File:ZEROZ.jpg|border|80px|ZEROZ]] - '''Установить относительные координаты в 0 по оси Z.''' <br> | [[File:ZEROZ.jpg|border|80px|ZEROZ]] - '''Установить относительные координаты в 0 по оси Z.''' <br> | ||
− | ====ORIGIN==== | + | ====ORIGIN (Возврат в относительный ноль)==== |
Группа горячих функций ORN отвечает за быстрый возврат в относительный ноль.<br> | Группа горячих функций ORN отвечает за быстрый возврат в относительный ноль.<br> | ||
Версия 14:11, 12 июля 2019
LinuxCNC (EMC2) - программное обеспечение для управления оборудованием с ЧПУ, созданное на базе Linux.
Содержание
- 1 Описание
- 2 Интерфейс пользователя
- 3 Настройка
- 3.1 Редактирование *.hal файла
- 3.2 Редактирование *.ini файла
- 3.2.1 Группа [DISPLAY]
- 3.2.2 Группа [EMCMOT]
- 3.2.3 Группа [TRAJ]
- 3.2.4 Группа [AXIS_*]
- 3.2.4.1 TYPE
- 3.2.4.2 HOME
- 3.2.4.3 MAX_VELOCITY
- 3.2.4.4 MAX_ACCELERATION
- 3.2.4.5 STEPGEN_MAXACCEL
- 3.2.4.6 SCALE
- 3.2.4.7 FERROR
- 3.2.4.8 MIN_FERROR
- 3.2.4.9 MIN_LIMIT
- 3.2.4.10 MAX_LIMIT
- 3.2.4.11 HOME_OFFSET
- 3.2.4.12 HOME_SEARCH_VEL
- 3.2.4.13 HOME_LATCH_VEL
- 3.2.4.14 HOME_IGNORE_LIMITS
- 3.2.4.15 HOME_SEQUENCE
- 3.3 G-code
- 3.4 G64 P xxx (Continuous Mode with P)
- 4 F.A.Q.
- 5 Приложения
Описание
В данном руководстве описан процесс установки, настройки и работы с системой управления ЧПУ LinuxCNC. Главный акцент в руководстве сделан на интерфейс Craftex, созданный компанией CNC-Technology. Интерфейс Craftex, разработан для удобства работы. Целью разработчиков был минимально-достаточный, интуитивно понятный пользователю интерфейс.
Интерфейс пользователя
Почему мы решили изменить один из существующих в LinuxCNC интерфейсов пользователя?
За основу интерфейса пользователя Craftex взят интерфейс Gmoccapy. Однако в стандартном виде данного интерфейса нет некоторых функций (правильней сказать не функций, а горячих клавиш), которые позволят даже неопытному пользователю легко и интуитивно понять, какая кнопка за какую функцию отвечает.
Итак, давайте детальнее рассмотрим интерфейс пользователя.
Главный экран
Горячие функции
Группа горячих функций - блок функций, созданный для удобства работы, функций, которые часто требуются для работы.
REFERENCE (Возврат в машинный ноль)
Группа параметров REFERENCE отвечает за возврат станка в домашнее положение. Структура LinuxCNC устроена таким образом, что работа на станке ограничена, пока не найден машинный ноль. Это позволяет предотвратить аварийные ситуации при работе (выход станка за рабочее поле и запуск управляющей программы, превышающей рабочее поле станка). Возвращать в домашнее положение станка необходимо каждый раз при запуске LinuxCNC.
Обратите внимание, что группа функций разделена на:
- Возврат в домашнее положение по всем осям одновременно.
- Возврат в домашнее положение по оси X.
- Возврат в домашнее положение по оси Y.
- Возврат в домашнее положение по оси Z.
ZERO (Обнуление относительных координат)
Группа горячий функций ZERO отвечает за установку относительных координат в 0 (G54). Относительные координаты служат для установки точка начала управляющей программы.
- Установить относительные координаты в 0 по всем осям.
- Установить относительные координаты в 0 по оси X.
- Установить относительные координаты в 0 по оси Y.
- Установить относительные координаты в 0 по оси Z.
ORIGIN (Возврат в относительный ноль)
Группа горячих функций ORN отвечает за быстрый возврат в относительный ноль.
- Переместить станок в относительный ноль по всем осям.
- Переместить станок в относительный ноль по оси X.
- Переместить станок в относительный ноль по оси Y.
- Переместить станок в относительный ноль по оси Z.
Подменю JOG
Данный раздел находится в разработке.
Подменю MDI
Данный раздел находится в разработке.
Подменю PGM
Данный раздел находится в разработке.
Подменю MENU
Данный раздел находится в разработке.
Настройка
В LinuxCNC настройка системы под заданное оборудование, происходит отлично от стандартного графического интерфейса (Mach3 или NC-Studio). Большинство необходимых параметров задаются внесением изменений в текстовые конфигурационные файлы.
Примечание: В составе LinuxCNC есть приложение с графическим интерфейсом пользователя для настройки конфигурации станка (Stepconf), однако, как показывает практика некоторые изменения приходится вносить в конфигурационные файлы вручную. Именно поэтому в данном руководстве вся настройка и внесение изменений происходят через *.hal и *.ini файлы.
Что же такое *.hal и *.ini файлы? Давайте обратимся к теории.
hal - Hardware Abstraction Layer (Слой аппаратных абстракций) - конфигурационный файл Linux, отвечающий за связь аппаратной и программной части станка.
К примеру в данном файле содержится информация: адрес устройства ввода-вывода (PCI-LPT или другой контроллер), назначение портов ввода\вывода функциям системы и др.
ini - файл конфигурации, содержащий настройки системы. К примеру в данном файле содержится информация: скорости, ускорения, количество импульсов на мм, скорость поиска домашнего положения, пределы перемещений и др.
Ниже перечислены все, необходимые параметры для настройки вашего станка под управлением LPT (в руководстве используется контроллер LPT-DPTR 1.03)
Редактирование *.hal файла
Данная рубрика находится в разработке
Параметры порта
Для того, чтобы увидеть установленные в системный блок PCI устройства нужно открыть эмулятор терминала и набрать команду:
lspci –vv
В командной строке отобразятся все устройства, доступные операционной системе для работы. Среди них необходимо найти Paralell controller. Необходимый нам Region 0, адрес данного устройства c000.
Данный адрес необходимо указать в *.hal файле конфигурации (См. Подробнее Приложение: Как изменить *.hal или *.ini файл):
linuxcnc/configs/Cutter_ST/ST.hal
В открытом файле Cutter_ST.hal изменить строку loadrt hal_parport cfg=”0x378 out” на loadrt hal_parport cfg=”0xd000 out”, где 0xd000 адрес порта pci-платы.
Редактирование *.ini файла
- .ini - файл конфигурации, в котором хранятся основные настройки конфигурации LinuxCNC под конкретное оборудование. Данный файл располагается в директории: home/user/linuxcnc/configs/ST.ini, где:
user - имя пользователя на вашем ПК
ST*.ini - название вашей конфигурации
Давайте разберем, из чего состоит *.ini файл.
Группа [DISPLAY]
DISPLAY
Имя интерфейса для использования при загрузки текущей конфигурации LinuxCNC.
Доступные интерфейсы: axis, touchy, gmoccapy, gscreen, keystick, mini, tklinuxcnc, xemc.
DISPLAY = gmoccapy
Выбран интерфейс GMOCCAPY.
DEFAULT_LINEAR_VELOCITY
Установленная по умолчанию скорость перемещений, установленная при первом запуске LinuxCNC.
DEFAULT_LINEAR_VELOCITY = 100.0
Скорость по умолчанию 100 мм/сек.
MAX_LINEAR_VELOCITY
Группа [EMCMOT]
EMCMOT
COMM_TIMEOUT
BASE_PERIOD
Параметр BASE_PERIOD
является одним из основных параметров, влияющих на максимальную скорость перемещения станка. Параметр BASE_PERIOD
определяется исходя из показателей Latency-Test.
SERVO_PERIOD
Группа [TRAJ]
Группа [AXIS_*]
TYPE
В LinuxCNC могут быть два типа оси: линейная и угловая.
TYPE = LINEAR
Линейная ось
TYPE = ANGULAT
Угловая (поворотная ось)
HOME
MAX_VELOCITY
Максимальная скорость перемещений данной оси (мм\сек).
MAX_VELOCITY = 100.0
Максимальная скорость перемещения 100.0 мм/сек.
MAX_ACCELERATION
Максимальное ускорение данной оси (мм\сек^2).
Пример: Максимальное ускорение 600 мм\сек^2 MAX_ACCELERATION = 600.0
STEPGEN_MAXACCEL
Данные значение должно быть на 1-10% больше по сравнению с параметром MAX_ACCELERATION. Если вы используете параметр BACKLASH (компенсацию люфта), то данный параметр необходимо увеличить в 1,5 - 2 раза по сравнению с параметром MAX_ACCELERATION.
SCALE
Параметр SCALE отвечает за количество импульсов на единицу перемещения. Другими словами, данный параметр отвечает за соответствие реального перемещения станка программному. Для того, чтобы посчитать количество импульсов на мм, необходимо воспользоваться формулой.
FERROR
Максимальное допустимое отклонение от перемещений станка (в мм). Если рассогласование между реальным и заданным положением превысит значение FERROR, то контроллер отключится. Максимально допустимое отклонение FERROR может достигаться при скорости [TRAJ] MAX_VELOCITY и при снижении скорости ошибка будет стремиться к MIN_FERROR.
MIN_FERROR
Минимальное допустимое отклонение от заданного перемещения (в мм). Если рассогласование между реальным и заданным положением превысит значение MIN_FERROR, то контроллер отключится. Минимально допустимое отклонение MIN_FERROR при низкой скорости. При росте скорости, пропорционально будет увеличиваться ошибка рассогласования и может достигать FERROR при скорости MAX_VELOCITY.
MIN_LIMIT
Минимальные машинные координаты для перемещения (мм).
MAX_LIMIT
Максимальные координаты станка для перемещения (мм).
HOME_OFFSET
Смещение рабочего поля станка относительно датчика домашнего положения для данной оси.
HOME_SEARCH_VEL
Скорость возврата в домашнее положение по датчикам (мм\сек).
Примечание: Для того, чтобы изменить направление поиска домашнего положения, необходимо поменять знак.
Пример: HOME_SEARCH_VEL = -150.00000
Примечание: При указании параметра HOME_SEARCH_VEL = 0.0, ось не будет возвращаться в домашнее положение (если в конструкции станка, не предусмотрен датчик домашнего положения).
HOME_LATCH_VEL
Скорость уточнения (точной калибровки) датчиков домашнего положения (мм\сек).
HOME_IGNORE_LIMITS
HOME_SEQUENCE
G-code
G61 (Exact Path Mode)
Метод сглаживания траектории при котором LinuxCNC будет точно следовать заданной траектории, вплоть до полной остановки.
G61.1 (Exact Stop Mode)
Режим полной остановки.
G64 (Continuous Mode)
Непрерывный режим. Это значит, что LinuxCNC может откланяться от траектории, для достижения наилучшей возможной скорости обработки.
G64 P xxx (Continuous Mode with P)
Непрерывный режим с допуском xxx. Пример G64 P0.01. Данная команда означает что LinuxCNC может отклониться от траектории на 0,01 для сохранения наилучшей возможной скорости.
F.A.Q.
Где скачать и как установить Craftex?
Для того, чтобы получить образ диска с системой Craftex обратитесь в отдел продаж компании CNC-Technology. Данное ПО распространяется бесплатно и доступно для скачиванию любому желающему.
Как изменить *.hal или *.ini файл
LinuxCNC не имеет привычного интерфейса пользователя для настройки параметров работы системы. Большинство необходимых параметров изменяются с помощью двух текстовых файлов *.hal и *.ini. Данные файлы расположены в директории:
Домашний каталог/limuxcnc/config/Cutter_ST/Cutter_ST.hal
Примечание: В данном случае конфигурация создана для станка Cutter ST, если у вас станок другой модели или вы создаете конфигурацию под собственное оборудование, то каталог Cutter_ST будет называться в соответствии с вашей конфигурацией.
Для того, чтобы изменить параметры системы в режиме супер-пользователя воспользуемся эмулятором терминала.
- Перейдем в каталог с конфигурацией с помощью команды:
cd linuxcnc/config/Cutter_ST
- Откроем необходимый файл с помощью текстового редактора mousepad.
Пример как открыть для редактирования *.hal файл:
sudo mousepad ST.hal
Пример как открыть для редактирования *.ini файл:
sudo mousepad ST.ini
- После ввода пароля пользователя откроется окно редактора.
Как изменить максимальную скорость перемещений по осям
За максимальную скорость перемещения по конкретной оси отвечает параметр MAX_VELOCITY (*.hal файл) в соответствующей группе для каждой оси ([AXIS_0] - X, [AXIS_1] - Y, ...).
Обратите отдельное внимание на то, что параметр MAX_VELOCITY не может превышать MAX_LINEAR_VELOCITY в группе [DISPLAY] (точнее говоря, превышать может, но фактическая скорость перемещений не поднимется выше параметра указанного в [DISPLAY]).
Как изменить деление шага для каждой оси
LinuxCNC не точно повторяет траекторию
В LinuxCNC есть несколько способов режимов прохождения углов. Для того, чтобы LinuxCNC точно следовал заданной траектории, введите команду G61 в MDI перед выполнением управляющей программы или добавьте строку G61 в начало вашей управляющей программы.
Приложения
Здесь собраны все полезная информация, которая может пригодится пользователям и разработчикам LinuxCNC\Craftex.
Конфигурационные файлы LinuxCNC для оборудования компании CNC-Technology
Данные конфигурационные файлы созданы для работы с оборудованием CNC-Technology под управлением платы опто-развязки LPT-DPTR 1.03.
Модель станка | Конфигурационные файлы |
Cutter CH | Download |
Cutter GQ | Download |
Cutter GR | Download |
Cutter GT | Download |
Cutter GTL | Download |
Cutter H | Download |
Cutter HD | Download |
Cutter HM | Download |
Cutter KTM | Download |
Cutter ST | Download |
Cutter STL | Download |
Cutter VSK | Download |
Возможные ошибки и методы их устранения
Ошибка | Возможная причина | Метод устранения |
Joint * following error | Компьютер не отвечает техническим требованиям; Установленная скорость перемещений слишком велика для допустимого параметра BASE_PERIOD в *.hal файле;
|
Провести LATENCY-TEST и установить параметр BASE_PERIOD на 10% выше значение MaxJitter (обратите внимание на метод проведения LATENCY-TEST). |
Показатели Latency-Test на различных ПК
Max Interval (1.0 ms) | Max Jitter (1.0 ms) | Max Interval (25 ns) | Max Jitter (25 ns) | Материнская плата | Центральный процессор | Объем RAM | Видеокарта | HDD |