LinuxCNC: различия между версиями
Enderukov (обсуждение | вклад) (→Описание) |
Enderukov (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
Ниже перечислены все, необходимые параметры для настройки вашего станка под управлением LPT (в руководстве используется контроллер [https://cnc-tehnologi.ru/chpu-kontrollery-i-perekhodniki/kontroller-lpt-dptr-1-03 LPT-DPTR 1.03]) | Ниже перечислены все, необходимые параметры для настройки вашего станка под управлением LPT (в руководстве используется контроллер [https://cnc-tehnologi.ru/chpu-kontrollery-i-perekhodniki/kontroller-lpt-dptr-1-03 LPT-DPTR 1.03]) | ||
+ | =Редактирование *.hal файла= | ||
==Параметры порта== | ==Параметры порта== | ||
Для того, чтобы увидеть установленные в системный блок PCI устройства нужно открыть эмулятор терминала и набрать команду:<br> | Для того, чтобы увидеть установленные в системный блок PCI устройства нужно открыть эмулятор терминала и набрать команду:<br> | ||
Строка 30: | Строка 31: | ||
В открытом файле Cutter_ST.hal изменить строку '''loadrt hal_parport cfg=”0x378 out”''' на '''loadrt hal_parport cfg=”0xd000 out”''', где '''0xd000''' адрес порта pci-платы. | В открытом файле 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''', где:<br> | ||
+ | '''user''' - имя пользователя на вашем ПК<br> | ||
+ | '''ST*.ini''' - название вашей конфигурации<br> | ||
+ | |||
+ | Ниже приведен стандартный файл конфигурации для станка Cutter ST: | ||
+ | <code> | ||
+ | <nowiki> | ||
+ | #Generated by stepconf 1.1 at Tue May 21 18:11:40 2019<br> | ||
+ | #Все изменения в этом файле будут перезаписаны<br> | ||
+ | #при следующем запуске stepconf<br> | ||
+ | </nowiki> | ||
+ | |||
+ | [EMC]<br> | ||
+ | MACHINE = ST<br> | ||
+ | DEBUG = 0<br> | ||
+ | |||
+ | [DISPLAY]<br> | ||
+ | DISPLAY = axis<br> | ||
+ | EDITOR = gedit<br> | ||
+ | POSITION_OFFSET = RELATIVE<br> | ||
+ | POSITION_FEEDBACK = ACTUAL<br> | ||
+ | ARCDIVISION = 64<br> | ||
+ | GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in<br> | ||
+ | MAX_FEED_OVERRIDE = 2<br> | ||
+ | MIN_SPINDLE_OVERRIDE = 0.5<br> | ||
+ | MAX_SPINDLE_OVERRIDE = 1<br> | ||
+ | DEFAULT_LINEAR_VELOCITY = 5.00<br> | ||
+ | MIN_LINEAR_VELOCITY = 0<br> | ||
+ | MAX_LINEAR_VELOCITY = 85.00<br> | ||
+ | INTRO_GRAPHIC = linuxcnc.gif<br> | ||
+ | INTRO_TIME = 5<br> | ||
+ | PROGRAM_PREFIX = /home/enderukov/linuxcnc/nc_files<br> | ||
+ | INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm<br> | ||
+ | |||
+ | |||
+ | [FILTER]<br> | ||
+ | PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image<br> | ||
+ | PROGRAM_EXTENSION = .py Python Script<br> | ||
+ | png = image-to-gcode<br> | ||
+ | gif = image-to-gcode<br> | ||
+ | jpg = image-to-gcode<br> | ||
+ | py = python<br> | ||
+ | |||
+ | [TASK]<br> | ||
+ | TASK = milltask<br> | ||
+ | CYCLE_TIME = 0.005<br> | ||
+ | |||
+ | [RS274NGC]<br> | ||
+ | PARAMETER_FILE = linuxcnc.var<br> | ||
+ | |||
+ | [EMCMOT]<br> | ||
+ | EMCMOT = motmod<br> | ||
+ | COMM_TIMEOUT = 1.0<br> | ||
+ | COMM_WAIT = 0.010<br> | ||
+ | BASE_PERIOD = 100000<br> | ||
+ | SERVO_PERIOD = 1000000<br> | ||
+ | |||
+ | [HAL]<br> | ||
+ | HALFILE = ST.hal<br> | ||
+ | HALFILE = custom.hal<br> | ||
+ | POSTGUI_HALFILE = custom_postgui.hal<br> | ||
+ | |||
+ | [TRAJ]<br> | ||
+ | AXES = 3<br> | ||
+ | COORDINATES = X Y Z<br> | ||
+ | LINEAR_UNITS = mm<br> | ||
+ | ANGULAR_UNITS = degree<br> | ||
+ | CYCLE_TIME = 0.010<br> | ||
+ | DEFAULT_VELOCITY = 5.00<br> | ||
+ | MAX_VELOCITY = 100.00<br> | ||
+ | |||
+ | [EMCIO]<br> | ||
+ | EMCIO = io<br> | ||
+ | CYCLE_TIME = 0.100<br> | ||
+ | TOOL_TABLE = tool.tbl<br> | ||
+ | |||
+ | [AXIS_0]<br> | ||
+ | TYPE = LINEAR<br> | ||
+ | HOME = 0.0<br> | ||
+ | MAX_VELOCITY = 100.0<br> | ||
+ | MAX_ACCELERATION = 600.0<br> | ||
+ | STEPGEN_MAXACCEL = 750.0<br> | ||
+ | SCALE = 80.0<br> | ||
+ | FERROR = 1<br> | ||
+ | MIN_FERROR = .25<br> | ||
+ | MIN_LIMIT = -0.001<br> | ||
+ | MAX_LIMIT = 520.0<br> | ||
+ | |||
+ | HOME_OFFSET = 0.000000<br> | ||
+ | HOME_SEARCH_VEL = 15.000000<br> | ||
+ | HOME_LATCH_VEL = -1.500000<br> | ||
+ | HOME_IGNORE_LIMITS = YES<br> | ||
+ | HOME_SEQUENCE = 1<br> | ||
+ | |||
+ | [AXIS_1]<br> | ||
+ | TYPE = LINEAR<br> | ||
+ | HOME = 0.0<br> | ||
+ | MAX_VELOCITY = 100.0<br> | ||
+ | MAX_ACCELERATION = 800.0<br> | ||
+ | STEPGEN_MAXACCEL = 1000.0<br> | ||
+ | SCALE = 80.0<br> | ||
+ | FERROR = 1<br> | ||
+ | MIN_FERROR = .25<br> | ||
+ | MIN_LIMIT = -0.001<br> | ||
+ | MAX_LIMIT = 520.0<br> | ||
+ | |||
+ | HOME_OFFSET = 0.000000<br> | ||
+ | HOME_SEARCH_VEL = -15.000000<br> | ||
+ | HOME_LATCH_VEL = 1.500000<br> | ||
+ | HOME_IGNORE_LIMITS = YES<br> | ||
+ | HOME_SEQUENCE = 2<br> | ||
+ | |||
+ | [AXIS_2]<br> | ||
+ | TYPE = LINEAR<br> | ||
+ | HOME = 0.0<br> | ||
+ | MAX_VELOCITY = 60.0<br> | ||
+ | MAX_ACCELERATION = 800.0<br> | ||
+ | STEPGEN_MAXACCEL = 1000.0<br> | ||
+ | SCALE = 160.0<br> | ||
+ | FERROR = 1<br> | ||
+ | MIN_FERROR = .25<br> | ||
+ | MIN_LIMIT = -250.0<br> | ||
+ | MAX_LIMIT = 0.001<br> | ||
+ | |||
+ | HOME_OFFSET = 0.000000<br> | ||
+ | HOME_SEARCH_VEL = -15.000000<br> | ||
+ | HOME_LATCH_VEL = 1.500000<br> | ||
+ | HOME_IGNORE_LIMITS = NO<br> | ||
+ | HOME_SEQUENCE = 0<br> | ||
+ | </code><br> | ||
+ | Итак, давайте рассмотрим основные параметры, которые нам требуются.<br> | ||
+ | |||
+ | ==Группа [DISPLAY]== | ||
+ | ===DISPLAY=== | ||
+ | ===DEFAULT_LINEAR_VELOCITY=== | ||
+ | ===MAX_LINEAR_VELOCITY=== | ||
+ | ==Группа [TRAJ]== | ||
+ | ==Группа [AXIS_*]== | ||
+ | ===TYPE=== | ||
+ | ===HOME=== | ||
+ | ===MAX_VELOCITY=== | ||
+ | ===MAX_ACCELERATION=== | ||
+ | |||
+ | |||
+ | |||
+ | ==Рабочий интерфейс / DISPLAY== | ||
==Scale (Количество импульсов на мм)== | ==Scale (Количество импульсов на мм)== | ||
Строка 38: | Строка 187: | ||
==Скорости и ускорения== | ==Скорости и ускорения== | ||
+ | Параметры скорости и ускорения станка хранятся в *.ini файле. Давайте рассмотрим листинг файла детальнее. Мы можем отметить, что параметры разделены на подгруппы AXIS_*. Каждая группа отвечает за свою ось, а именно: <br> | ||
+ | * [AXIS_0] - X Axis | ||
+ | * [AXIS_1] - Y Axis | ||
+ | * [AXIS_2] - Z Axis | ||
+ | * [AXIS_3] - A Axis<br> | ||
+ | |||
+ | Таким образом, для того, чтобы изменить параметры оси X мы должны изменить параметры группы [AXIS_0]. | ||
+ | <code>[AXIS_0]<br> | ||
+ | TYPE = LINEAR<br> | ||
+ | HOME = 0.0<br> | ||
+ | MAX_VELOCITY = 100.0<br> | ||
+ | MAX_ACCELERATION = 600.0<br> | ||
+ | STEPGEN_MAXACCEL = 750.0<br> | ||
+ | SCALE = 80.0<br> | ||
+ | FERROR = 1<br> | ||
+ | MIN_FERROR = .25<br> | ||
+ | MIN_LIMIT = -0.001<br> | ||
+ | MAX_LIMIT = 520.0<br> | ||
+ | |||
+ | HOME_OFFSET = 0.000000<br> | ||
+ | HOME_SEARCH_VEL = 15.000000<br> | ||
+ | HOME_LATCH_VEL = -1.500000<br> | ||
+ | HOME_IGNORE_LIMITS = YES<br> | ||
+ | HOME_SEQUENCE = 1<br> | ||
+ | |||
+ | |||
+ | </code> | ||
==Направление движения== | ==Направление движения== | ||
==Датчики домашнего положения== | ==Датчики домашнего положения== |
Версия 10:11, 23 мая 2019
LinuxCNC (EMC2) - программное обеспечение для управления оборудованием с ЧПУ, созданное на базе Linux.
Содержание
- 1 Описание
- 2 Настройка
- 3 Редактирование *.hal файла
- 4 Редактирование *.ini файла
- 4.1 Группа [DISPLAY]
- 4.2 Группа [TRAJ]
- 4.3 Группа [AXIS_*]
- 4.4 Рабочий интерфейс / DISPLAY
- 4.5 Scale (Количество импульсов на мм)
- 4.6 Скорости и ускорения
- 4.7 Направление движения
- 4.8 Датчики домашнего положения
- 4.9 Настройка шпинделя
- 4.10 Направление поиска домашнего положения
- 4.11 Ограничение рабочего поля
- 5 Приложения
Описание
В данном руководстве описан процесс установки, настройки и работы с системой управления ЧПУ 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
- После ввода пароля пользователя откроется окно редактора.