LinuxCNC

Материал из Wiki CNC
Перейти к навигации Перейти к поиску

LinuxCNC (EMC2) - программное обеспечение для управления оборудованием с ЧПУ, созданное на базе Linux.

Описание

В данном руководстве описан процесс установки, настройки и работы с системой управления ЧПУ LinuxCNC. Главный акцент в руководстве сделан на интерфейс Craftex, созданный компанией CNC-Technology. Интерфейс Craftex, разработан для удобства работы. Целью разработчиков был минимально-достаточный, интуитивно понятный пользователю интерфейс.

Настройка

В 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 - название вашей конфигурации

Ниже приведен стандартный файл конфигурации для станка Cutter ST: #Generated by stepconf 1.1 at Tue May 21 18:11:40 2019<br> #Все изменения в этом файле будут перезаписаны<br> #при следующем запуске stepconf<br>

[EMC]
MACHINE = ST
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1
DEFAULT_LINEAR_VELOCITY = 5.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 85.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/enderukov/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm


[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.005

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = ST.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal

[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 5.00
MAX_VELOCITY = 100.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 600.0
STEPGEN_MAXACCEL = 750.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0

HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 15.000000
HOME_LATCH_VEL = -1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 800.0
STEPGEN_MAXACCEL = 1000.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0

HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = 1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 800.0
STEPGEN_MAXACCEL = 1000.0
SCALE = 160.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -250.0
MAX_LIMIT = 0.001

HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = 1.500000
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0

Итак, давайте рассмотрим основные параметры, которые нам требуются.

Группа [DISPLAY]

DISPLAY

DEFAULT_LINEAR_VELOCITY

MAX_LINEAR_VELOCITY

Группа [TRAJ]

Группа [AXIS_*]

TYPE

HOME

MAX_VELOCITY

MAX_ACCELERATION

Рабочий интерфейс / DISPLAY

Scale (Количество импульсов на мм)

Параметр Scale отвечает за необходимое количество импульсов на 1 мм. Для того, чтобы рассчитать количество импульсов для вашего станка, обратитесь к руководству (Как рассчитать количество импульсов на мм).

Для того, что изменить параметр Scale для каждой из осей, необходимо внести изменения в конфигурационный файл *.ini (См. Приложение как изменить конфигурационный файл)


Скорости и ускорения

Параметры скорости и ускорения станка хранятся в *.ini файле. Давайте рассмотрим листинг файла детальнее. Мы можем отметить, что параметры разделены на подгруппы AXIS_*. Каждая группа отвечает за свою ось, а именно:

  • [AXIS_0] - X Axis
  • [AXIS_1] - Y Axis
  • [AXIS_2] - Z Axis
  • [AXIS_3] - A Axis

Таким образом, для того, чтобы изменить параметры оси X мы должны изменить параметры группы [AXIS_0]. [AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 600.0
STEPGEN_MAXACCEL = 750.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0

HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 15.000000
HOME_LATCH_VEL = -1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1


Направление движения

Датчики домашнего положения

Настройка шпинделя

Направление поиска домашнего положения

Ограничение рабочего поля

Приложения

Как изменить *.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

  • После ввода пароля пользователя откроется окно редактора.