LinuxCNC: различия между версиями

Материал из Wiki CNC
Перейти к навигации Перейти к поиску
(G-code)
(Форматирование; Незначительные фактичерские правки и дополнения; Убрано упоминание Craftex (устарело))
 
(не показано 56 промежуточных версий 2 участников)
Строка 1: Строка 1:
LinuxCNC (EMC2) - программное обеспечение для управления оборудованием с ЧПУ, созданное на базе Linux.
+
'''LinuxCNC''' (ранее '''EMC2''') — открытое программное обеспечение для управления оборудованием с ЧПУ, созданное на базе [https://ru.wikipedia.org/wiki/Linux Linux].
 +
<pre style="color: red; font-size: small"> Все вопросы, дополнения и исправления по данному руководству необходимо направлять на электронный адрес: aleksandr@enderukov.ru</pre>
  
=Описание=
+
== Руководства и приложения ==
В данном руководстве описан процесс установки, настройки и работы с системой управления ЧПУ LinuxCNC. Главный акцент в руководстве сделан на интерфейс Craftex, созданный компанией  [https://cnc-tehnologi.ru/ CNC-Technology].
+
Для более удобной структуризации информации воспользуйтесь ссылками на связанные темы:
Интерфейс Craftex, разработан для удобства работы. Целью разработчиков был минимально-достаточный, интуитивно понятный пользователю интерфейс.
+
* [[LinuxCNC / Настройка|Руководство администратора]]
=Интерфейс пользователя=
+
* [[LinuxCNC / Руководство_разработчика_конфигураций|Руководство разработчика конфигураций]]
Почему мы решили изменить один из существующих в LinuxCNC интерфейсов пользователя? <br>
+
* [[LinuxCNC / G-code|G-код LinuxCNC]]
За основу интерфейса пользователя Craftex взят интерфейс Gmoccapy. Однако в стандартном виде данного интерфейса нет некоторых функций (правильней сказать не функций, а горячих клавиш), которые позволят даже неопытному пользователю легко и интуитивно понять, какая кнопка за какую функцию отвечает.
 
Итак, давайте детальнее рассмотрим интерфейс пользователя.
 
  
==Главный экран==
+
== Почему LinuxCNC? ==
Под главным экраном понимается основная часть интерфейса, которая не изменяется при перемещении по подменю JOG, MDI, PRG. Рассмотри основные элементы главного экрана интерфейса Craftex.<br>
 
[[File:MAIN.png|border|800px|MAIN]]<br>
 
<br>
 
<br>
 
 
 
===Выбор режима работы===
 
В правой части экране располагаются кнопки включения и выбора режима работы. <br>
 
[[File:Connect.png|border|100px|Connect]]
 
[[File:Alarm.png|border|100px|Alarm]] '''Индикатор готовности работы станка.''' <br>
 
Кнопка готовности работы. Если данный индикатор зеленый "OK", значит станок подключен и готов к работе. Если данный индикатор красный "Alarm", значит станок не может быть включен по следующим причинам: не подключен LPT-порт к ПК, неверно выставлен порт ввода-вывода LPT-порта в *.hal файле, нажата кнопка аварийной остановки, сработал один из аварийных сигналов (драйвера шаговых двигателей, преобразователь частоты).<br>
 
 
 
[[File:ON.png|border|100px|ON]]
 
[[File:OFF.png|border|100px|OFF]] '''- Кнопка включения\выключения станка. ''(Hotkey: F1).'''''<br>
 
 
 
[[File:JOG.png|border|100px|JOG]] '''- Переключение в режим JOG ''(Hotkey: F3)'' Режим JOG служит для ручного перемещения станка по рабочему полю. '''<br>
 
 
 
[[File:MDI.png|border|100px|MDI]]'''- Переключение в режим MDI ''(Hotkey: F4)'' Режим MDI служит для ручного ввода команд G-кода. Доступные команды G-кода ищите в главе G-code. '''<br>
 
 
 
[[File:PRG.png|border|100px|PRG]]'''- Переключение в режим PRG ''(Hotkey: F5)'' Режим PRG служит для работы с управляющей программой. '''<br>
 
===Координаты===
 
[[File:Coordinates.jpg|border|300px|Coordinates]]<br>
 
В LinuxCNC как и в других системах ЧПУ присутствуют несколько систем координат, среди них:<br>
 
 
 
1. '''Абсолютная система координат.''' Абсолютная система координат - реальное положение шпинделя относительно машинного нуля (машинный ноль - точка возврата по датчикам домашнего положения). На станках компании CNC-Technology машинный ноль находится в левом ближнем углу рабочего поля. Абсолютные системы координат не доступны для изменения пользователем. В интерфейсе Craftex абсолютная система координат обозначается как Abs. Возврат в машинный ноль станка происходит с помощью горячих функций REF (См. подробнее раздел REFERENCE).<br>
 
 
 
2. '''Относительная система координат.''' Пользовательская система координат G54. Относительная система координат создана для того, чтобы выставить точку начала управляющей программы относительно обрабатываемой заготовки. В интерфейсе Craftex система относительная система координат указывается как G54. Для того, чтобы обнулить относительную систему координат воспользуйтесь быстрой функцией ZERO (См. подробнее раздел ZERO)
 
 
 
===Ручное перемещение===
 
В режиме JOG пользователь может перемещать станок с помощью иконок на главном экране или горячих клавиш на клавиатуре. <br>
 
[[File:Ручное перемещение.jpg|border|160px|Ручное перемещение]]<br>
 
Для того, чтобы уменьшить или увеличить скорость ручного перемещения станка передвигайте регулятор скорости.<br>
 
 
 
[[File:Регулятор скорости.jpg|border|300px|Регулятор скорости]]<br>
 
В интерфейсе Craftex доступно два режима перемещения быстрый и медленный. Обратите внимание на переключатель режима скорости FAST-SLOW.
 
 
 
===Перемещение===
 
===Охлаждение===
 
===Шпиндель===
 
===Горячие функции===
 
Группа горячих функций - блок функций, созданный для удобства работы, функций, которые часто требуются для работы.<br>
 
[[File:HOTFUNCTION.jpg|border|240px|HOTFUNCTION]]
 
====REFERENCE (Возврат в машинный ноль)====
 
Группа параметров REFERENCE отвечает за возврат станка в домашнее положение. Структура LinuxCNC устроена таким образом, что работа на станке ограничена, пока не найден машинный ноль. Это позволяет предотвратить аварийные ситуации при работе (выход станка за рабочее поле и запуск управляющей программы, превышающей рабочее поле станка). Возвращать в домашнее положение станка необходимо каждый раз при запуске LinuxCNC. <br>
 
Обратите внимание, что группа функций разделена на:<br>
 
[[File:REFALL.jpg|border|100px|REFALL]]- Возврат в домашнее положение по всем осям одновременно.<br>
 
[[File:REFX.jpg|border|100px|REFX]] - '''Возврат в домашнее положение по оси X.''' <br>
 
[[File:REFY.jpg|border|100px|REFY]] - '''Возврат в домашнее положение по оси Y.''' <br>
 
[[File:REFZ.jpg|border|100px|REFZ]] - '''Возврат в домашнее положение по оси Z.'''<br>
 
 
 
====ZERO (Обнуление относительных координат)====
 
Группа горячий функций ZERO отвечает за установку относительных координат в 0 (G54). Относительные координаты служат для установки точка начала управляющей программы.<br>
 
 
 
[[File:ZERO0.jpg|border|100px|ZERO0]] - '''Установить относительные координаты в 0 по всем осям.''' <br>
 
[[File:ZEROX.jpg|border|100px|ZEROX]] - '''Установить относительные координаты в 0 по оси X.''' <br>
 
[[File:ZEROY.jpg|border|100px|ZEROY]] - '''Установить относительные координаты в 0 по оси Y.''' <br>
 
[[File:ZEROZ.jpg|border|100px|ZEROZ]] - '''Установить относительные координаты в 0 по оси Z.''' <br>
 
 
 
====ORIGIN (Возврат в относительный ноль)====
 
Группа горячих функций ORN отвечает за быстрый возврат в относительный ноль.<br>
 
 
 
[[File:ORNALL.jpg|border|100px|ORNALL]] - Переместить станок в относительный ноль по всем осям. <br>
 
[[File:ORNX.jpg|border|100px|ORNX]] - '''Переместить станок в относительный ноль по оси X.''' <br>
 
[[File:ORNY.jpg|border|100px|ORNY]] - '''Переместить станок в относительный ноль по оси Y.''' <br>
 
[[File:ORNZ.jpg|border|100px|ORNZ]] - '''Переместить станок в относительный ноль по оси Z.''' <br>
 
 
 
====AUTO TOOL ZERO (Датчик высоты инструмента)====
 
[[File:AUTOTOOLZERO.jpg|border|250px|AUTOTOOLZERO]]<br>
 
 
 
Датчик автоматического определения высоты инструмента позволяет точно определить ноль по оси Z. Процедура измерения инструмента происходит следующим образом: контактный провод (крокодил) подключается к инструменту, под инструмент устанавливается контактная площадка. После нажатия кнопки AutoToolZero ось Z поедет вниз до касания с контактной площадкой (процедура повторится дважды, на высокой и на низкой скорости). После этого произойдет автоматическое обнуление инструмента (с учетом толщины контактной площадки).<br>
 
 
 
==Подменю JOG==
 
Данный раздел находится в разработке.
 
==Подменю MDI==
 
Данный раздел находится в разработке.
 
==Подменю PGM==
 
В подменю PRG выполняются все функции связанные с запуском управляющей программы. Переключаясь на режим PGM в нижней строке функций появляются доп. элементы управления.<br>
 
[[File:PGM.png|border|800px|PGM]]<br>
 
<br>
 
 
 
Рассмотрим элементы доп. функции подменю PGM подробнее: <br>
 
[[File:LOAD.jpg|border|100px|LOAD]] - '''Загрузка управляющей программы.'''<br>
 
[[File:CLOSE.jpg|border|100px|CLOSE]] - '''Закрыть текущую управляющую программу.'''<br>
 
[[File:RUN.jpg|border|100px|RUN]] - '''Остановить выполнение управляющей программы.'''<br>
 
[[File:STOP.jpg|border|100px|STOP]] - '''Остановить выполнение управляющей программы.'''<br>
 
[[File:PAUSE.jpg|border|100px|PAUSE]] - '''Приостановить выполнение управляющей программы.'''<br>
 
[[File:STEP.jpg|border|100px|STEP]] - '''Выполнять управляющую программу в пошаговом режиме.'''<br>
 
[[File:RUNFROMLINE.jpg|border|100px|RUNFROMLINE]] - '''Начать выполнение управляющей программы с текущей строки.'''<br>
 
[[File:M1PAUSE.jpg|border|100px|M1PAUSE]] - '''Остановить выполнение управляющей программы при команде M1 в управляющей программе. '''<br>
 
[[File:FULLSCREEN.jpg|border|100px|FULLSCREEN]] - '''Полно-экранная визуализация управляющей программы'''<br>
 
[[File:EDITPROGRAM.jpg|border|100px|EDITPROGRAM]] - '''Редактировать загруженную управляющую программу.'''<br>
 
 
 
==Подменю MENU==
 
Данный раздел находится в разработке.
 
 
 
=Настройка=
 
 
 
В '''LinuxCNC''' настройка системы под заданное оборудование, происходит отлично от стандартного графического интерфейса (Mach3 или NC-Studio). Большинство необходимых параметров задаются внесением изменений в текстовые конфигурационные файлы.<br>
 
 
 
''Примечание: В составе LinuxCNC есть приложение с графическим интерфейсом пользователя для настройки конфигурации станка (Stepconf), однако, как показывает практика некоторые изменения приходится вносить в конфигурационные файлы вручную. Именно поэтому в данном руководстве вся настройка и внесение изменений происходят через *.hal и *.ini файлы.'' <br>
 
 
 
Что же такое *.hal и *.ini файлы? Давайте обратимся к теории. <br>
 
 
 
'''hal''' - Hardware Abstraction Layer (Слой аппаратных абстракций) - конфигурационный файл Linux, отвечающий за связь аппаратной и программной части станка. <br>
 
К примеру в данном файле содержится информация: адрес устройства ввода-вывода (PCI-LPT или другой контроллер), назначение портов ввода\вывода функциям системы и др.
 
 
 
'''ini''' - файл конфигурации, содержащий настройки системы.
 
К примеру в данном файле содержится информация: скорости, ускорения, количество импульсов на мм, скорость поиска домашнего положения, пределы перемещений и др.
 
 
 
Ниже перечислены все, необходимые параметры для настройки вашего станка под управлением LPT (в руководстве используется контроллер [https://cnc-tehnologi.ru/chpu-kontrollery-i-perekhodniki/kontroller-lpt-dptr-1-03 LPT-DPTR 1.03])
 
 
 
==Редактирование *.hal файла==
 
Данная рубрика находится в разработке
 
===Параметры порта===
 
Для того, чтобы увидеть установленные в системный блок PCI устройства нужно открыть эмулятор терминала и набрать команду:<br>
 
<code>lspci –vv</code><br>
 
В командной строке отобразятся все устройства, доступные операционной системе для работы. Среди них необходимо найти Paralell controller. Необходимый нам Region 0, адрес данного устройства c000.
 
 
 
Данный адрес необходимо указать в *.hal файле конфигурации (См. Подробнее Приложение: Как изменить *.hal или *.ini файл): <br>
 
'''linuxcnc/configs/Cutter_ST/ST.hal'''<br>
 
 
 
В открытом файле 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>
 
 
 
Давайте разберем, из чего состоит *.ini файл.
 
===Группа [DISPLAY]===
 
====DISPLAY====
 
Имя интерфейса для использования при загрузки текущей конфигурации LinuxCNC. <br>
 
Доступные интерфейсы: '''axis, touchy, gmoccapy, gscreen, keystick, mini, tklinuxcnc, xemc.'''<br>
 
<code>DISPLAY = gmoccapy</code> ''Выбран интерфейс GMOCCAPY.''<br>
 
 
 
====DEFAULT_LINEAR_VELOCITY====
 
Установленная по умолчанию скорость перемещений, установленная при первом запуске LinuxCNC. <br>
 
<code>DEFAULT_LINEAR_VELOCITY = 100.0</code> ''Скорость по умолчанию 100 мм/сек.''
 
====MAX_LINEAR_VELOCITY====
 
 
 
===Группа [EMCMOT]===
 
====EMCMOT====
 
====COMM_TIMEOUT====
 
====BASE_PERIOD====
 
Параметр <code>BASE_PERIOD</code> является одним из основных параметров, влияющих на максимальную скорость перемещения станка. Параметр <code>BASE_PERIOD</code>  определяется исходя из показателей Latency-Test.
 
 
 
====SERVO_PERIOD====
 
===Группа [TRAJ]===
 
 
 
===Группа [AXIS_*]===
 
====TYPE====
 
В LinuxCNC могут быть два типа оси: линейная и угловая. <br>
 
 
 
<code> TYPE = LINEAR </code> Линейная ось <br>
 
<code> TYPE = ANGULAT </code> Угловая (поворотная ось) <br>
 
 
 
====HOME====
 
 
 
====MAX_VELOCITY====
 
Максимальная скорость перемещений данной оси (мм\сек).<br>
 
<code> MAX_VELOCITY = 100.0 </code> ''Максимальная скорость перемещения 100.0 мм/сек''.<br>
 
 
 
====MAX_ACCELERATION====
 
Максимальное ускорение данной оси (мм\сек^2).<br>
 
Пример: Максимальное ускорение 600 мм\сек^2 <code> MAX_ACCELERATION = 600.0 </code> <br>
 
 
 
====STEPGEN_MAXACCEL====
 
Данные значение должно быть на 1-10% больше по сравнению с параметром MAX_ACCELERATION. Если вы используете параметр BACKLASH (компенсацию люфта), то данный параметр необходимо увеличить в 1,5 - 2 раза по сравнению с параметром MAX_ACCELERATION.<br>
 
 
 
====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====
 
Скорость возврата в домашнее положение по датчикам (мм\сек).<br>
 
''Примечание: Для того, чтобы изменить направление поиска домашнего положения, необходимо поменять знак.''<br>
 
Пример: <code>HOME_SEARCH_VEL = -150.00000</code>
 
 
 
''Примечание: При указании параметра HOME_SEARCH_VEL = 0.0, ось не будет возвращаться в домашнее положение (если в конструкции станка, не предусмотрен датчик домашнего положения).
 
''
 
====HOME_LATCH_VEL====
 
Скорость уточнения (точной калибровки) датчиков домашнего положения (мм\сек).<br>
 
 
 
====HOME_IGNORE_LIMITS====
 
 
 
====HOME_SEQUENCE====
 
 
 
==G-code==
 
===G53 (Move to machine system coordinate)===
 
Перемещение в абсолютной системе координат.
 
 
 
===G54-G59.3 (Coordinat System)===
 
Системы координат G54-G59, G59.1, G59.2, G59.3.
 
 
 
===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 для сохранения наилучшей возможной скорости.
 
 
 
===G90 (Absolute Distance Mode)===
 
Режим перемещения в абсолютных значениях. <br>
 
''Пример: <br>''
 
<code>G90</code><br>
 
<code>G1 X100</code><br>
 
В таком случае станок переместится в точку X100. <br>
 
Отменяется командой G91.
 
 
 
===G91 (Incremental Distance Mode)===
 
Режим перемещения в приращениях.
 
''Пример: <br>''
 
<code>G91</code><br>
 
<code>G1 X100</code><br>
 
 
В таком случае станок переместится на 100 мм по оси X. <br>
 
Отменяется командой G90.
 
 
 
=F.A.Q.=
 
==Где скачать и как установить Craftex?==
 
Для того, чтобы получить образ диска с системой Craftex обратитесь в отдел продаж компании CNC-Technology.
 
Данное ПО распространяется бесплатно и доступно для скачиванию любому желающему.
 
 
 
==Как изменить *.hal или *.ini файл==
 
LinuxCNC не имеет привычного интерфейса пользователя для настройки параметров работы системы. Большинство необходимых параметров изменяются с помощью двух текстовых файлов *.hal и *.ini. Данные файлы расположены в директории:<br>
 
'''Домашний каталог/limuxcnc/config/Cutter_ST/Cutter_ST.hal'''<br>
 
 
 
''Примечание: В данном случае конфигурация создана для станка Cutter ST, если у вас станок другой модели или вы создаете конфигурацию под собственное оборудование, то каталог Cutter_ST будет называться в соответствии с вашей конфигурацией.''
 
 
 
Для того, чтобы изменить параметры системы в режиме супер-пользователя воспользуемся эмулятором терминала.<br>
 
*Перейдем в каталог с конфигурацией с помощью команды:<br>
 
 
 
<code>cd linuxcnc/config/Cutter_ST</code>
 
 
 
*Откроем необходимый файл с помощью текстового редактора mousepad.<br>
 
Пример как открыть для редактирования *.hal файл:<br>
 
 
 
<code>sudo mousepad ST.hal</code>
 
 
 
Пример как открыть для редактирования *.ini файл:<br>
 
 
 
<code>sudo mousepad ST.ini</code>
 
 
 
*После ввода пароля пользователя откроется окно редактора.
 
 
 
==Как изменить максимальную скорость перемещений по осям==
 
За максимальную скорость перемещения по конкретной оси отвечает параметр '''MAX_VELOCITY''' (*.hal файл) в соответствующей группе для каждой оси ('''[AXIS_0]''' - X, '''[AXIS_1]''' - Y, ...). <br>
 
Обратите отдельное внимание на то, что параметр '''MAX_VELOCITY''' не может превышать '''MAX_LINEAR_VELOCITY''' в группе '''[DISPLAY]''' (точнее говоря, превышать может, но фактическая скорость перемещений не поднимется выше параметра указанного в '''[DISPLAY]''').
 
 
 
==Как изменить деление шага для каждой оси==
 
==LinuxCNC не точно повторяет траекторию==
 
В LinuxCNC есть несколько способов режимов прохождения углов. Для того, чтобы LinuxCNC точно следовал заданной траектории, введите команду G61 в MDI перед выполнением управляющей программы или добавьте строку G61 в начало вашей управляющей программы.
 
=Приложения=
 
Здесь собраны все полезная информация, которая может пригодится пользователям и разработчикам LinuxCNC\Craftex.
 
==Конфигурационные файлы LinuxCNC для оборудования компании CNC-Technology==
 
Данные конфигурационные файлы созданы для работы с оборудованием CNC-Technology под управлением платы опто-развязки LPT-DPTR 1.03.
 
 
{| class="wikitable"
 
{| class="wikitable"
|+Конфигурационные файлы
 
|-
 
|Модель станка
 
|Конфигурационные файлы
 
|-
 
|Cutter CH
 
|[https://yadi.sk/d/Hnqn_6gBMBYoKg Download]
 
 
|-
 
|-
|Cutter GQ
+
!
|[https://yadi.sk/d/sKTc7x8gTCZ2KQ Download]
+
! Mach3
 +
! NC-Studio
 +
! Автоном. пульты
 +
! LinuxCNC
 
|-
 
|-
|Cutter GR
+
| '''Количество осей'''
|[https://yadi.sk/d/Wp1nBxckgZ5kLw Download]
+
| При работе через LPT-DPTR 1.03: 4 оси<br>При работе через ZKMotion: 6 осей
 +
| PCIMC-3D: 3 оси <br> PCIMC-3G: 3 оси<br>PM95A+Lambda4S: 4 оси (Примечание: стоимость более 1000$)
 +
| DSP RichAuto A11: 3 оси<br> DSP RichAuto A18: 4 оси
 +
| При работе через LPT-DPTR 1.03: 4 оси<br> При работе через MESA: 6 осей
 
|-
 
|-
|Cutter GT
+
| '''Максимальная частота'''
|[https://yadi.sk/d/ue4UlQokbmBBlg Download]
+
| При работе через LPT-DPTR 1.03: 60 kHz*<br> При работе через ZKMotion: 1,5Mhz
 +
| PCIMC-3D: 47 kHz. <br> PCIMC-3G: 120 kHz
 +
| DSP RichAuto A11, A18: 1Mhz
 +
| При работе через LPT-DPTR 1.03: 60kHz<br>При работе через MESA: более 400 kHz
 
|-
 
|-
|Cutter GTL
+
| '''Конфигурируемость''' <small>(возможность изменения функционала или интерфейса под собственные задачи)</small>
|[https://yadi.sk/d/CQ3S25Gd6q855Q Download]
+
| Система скриптов на VB, легко изменяется интерфейс или функционал под задачи
 +
| Интерфейс изменить невозможно, изменение функционала крайне ограничено
 +
| Невозможно изменить ни функционал, ни интерфейс
 +
| Легко изменить функционал и интерфейс, язык Python и другие
 
|-
 
|-
|Cutter H
+
| '''Удобство интерфейса'''
|[https://yadi.sk/d/68j97sHRgPJ1zg Download]
+
| Для рядового пользователя перенасыщен кнопками и функциями
 +
| Минималистичный, удобный
 +
| Недостаточно удобный, нет многих функций
 +
| Минималистичный, нет некоторых удобных функций
 
|-
 
|-
|Cutter HD
+
| '''Удобство настройки'''
|[https://yadi.sk/d/NmBbZ1_h7n3d8g Download]
+
| Легко настраивается из меню программы
 +
| Почти не требует настройки, легко настраивается из меню программы
 +
| Легко настраивается, но некоторые параметры не интуитивны
 +
| Легко настраивается через файлы конфигурации
 
|-
 
|-
|Cutter HM
+
| '''Работа с большим объемом G-кода'''
|[https://yadi.sk/d/wsh4980lDS2DRA Download]
+
| Проблемы при загрузке больших управляющих программ
 +
| Легко работает с большим объемом
 +
| Легко работает с большим объемом, но долго загружает управляющую программу
 +
| Легко работает с большим объемом (однако иногда требуется выключить визуализацию)
 
|-
 
|-
|Cutter KTM
+
| '''Требования к ПК'''
|[https://yadi.sk/d/34nlyxc8I2NMkQ Download]
+
| Очень требователен к ПК (не только к техническим характеристикам, но и к наличию сторонних программ на ПК)
 +
| Не требователен к ПК (только тип операционной системы и битность)
 +
| Не требует ПК
 +
| Не требователен к ПК
 
|-
 
|-
|Cutter ST
+
| '''Стабильность'''
|[https://yadi.sk/d/ClUF8nRB8-bMTQ Download]
+
| Нестабилен вввиду требовательности к ПК
|-
+
| Стабильная система
|Cutter STL
+
| Стабильная система
|[https://yadi.sk/d/OYh1g25EZ7x0lg Download]
+
| Стабильная система
|-
 
|Cutter VSK
 
|[https://yadi.sk/d/Uz0kQoB-6HAqFg Download]
 
|}
 
 
 
==Возможные ошибки и методы их устранения==
 
{| class="wikitable"
 
|+Возможные ошибки
 
 
|-
 
|-
|Ошибка
+
| '''Стоимость'''
|Возможная причина
+
| Платное ПО
|Метод устранения
+
| Платное ПО
 +
| Покупное оборудование
 +
| Стоимость ПК + стоимость контроллера [[EP7i92]], программное обеспечение бесплатно
 
|-
 
|-
|Joint * following error
+
| '''Итоги/выводы'''
|Компьютер не отвечает техническим требованиям;<br> Установленная скорость перемещений слишком велика для допустимого параметра <code>BASE_PERIOD в *.hal файле;</code>
+
| Интерфейс слегка перенасыщен и требует время для освоения системы у новичков, легко настраиваемая неопытным пользователем по созданным руководствам. Огромный плюс состоит в большом количестве информации о данной системе. Отличная гибкость под разные задачи. Однако существенным недостатком данной системы является нестабильная работа. В данном случае под нестабильностью стоит понимать «капризность системы». В особенности это проявляется на больших управляющих программах, которые исполняются на станке часами.
|Провести LATENCY-TEST и установить параметр BASE_PERIOD на 10% выше значение MaxJitter (обратите внимание на метод проведения LATENCY-TEST).
+
| Отличная надежность. Настройка крайне простая и можно легко сказать что данная система работает «из коробки». Два больших недостатка не дают этой системе занять лидирующие позиции: 3 оси (существуют и 4-ех осевые версии, но стоимость контроллера несоизмерима — более 1000$) и полное отсутствие гибкости.
 +
| Стабильны при работе, но статистике менее удобны в работе. Отсутствие визуализации, невозможность изменения интерфейса и прочее. Согласно статистике, существует такая проблема: пульт проводной и находится в непостредственной близости к станку. Именно по этому 80% обращений в техподдержку — физические повреждения (разбит экран, клавиатура, перебит провод)
 +
| Отличная гибкость, отличная надежность. Единственный недостаток: скудный интерфейс в стандартном исполнении (интерфейс Axis). Некоторая сложность настройки на начальных этапах.
 
|}
 
|}
  
==Показатели Latency-Test на различных ПК==
+
'''Какой вывод мы можем сделать исходя из этой сравнительной таблицы?''' По нашему мнению LinuxCNC является одной из надежных систем управления ЧПУ, сбоев при работе данной системы крайне мало. Однако стандартный интерфейс Axis недостаточно удобен и лишен некоторых возможностей (точнее говоря не лишен, но этот функционал не является интуитивным, удобным). При этом стоимость контроллеров, необходимых для работы с LinuxCNC очень доступная (к примеру контроллеры LPT-DPTR 1.03 для работы через LPT, или контроллеры MESA для работы через PCI или Ethernet).
{| class="wikitable"
 
|+Показатели Latency Test на различных ПК
 
|-
 
|Max Interval (1.0 ms)
 
|Max Jitter (1.0 ms)
 
|Max Interval (25 ns)
 
|Max Jitter (25 ns)
 
|Материнская плата
 
|Центральный процессор
 
|Объем RAM
 
|Видеокарта
 
|HDD
 
|-
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|}
 

Текущая версия на 14:55, 12 января 2024

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

 Все вопросы, дополнения и исправления по данному руководству необходимо направлять на электронный адрес: aleksandr@enderukov.ru

Руководства и приложения

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

Почему LinuxCNC?

Mach3 NC-Studio Автоном. пульты LinuxCNC
Количество осей При работе через LPT-DPTR 1.03: 4 оси
При работе через ZKMotion: 6 осей
PCIMC-3D: 3 оси
PCIMC-3G: 3 оси
PM95A+Lambda4S: 4 оси (Примечание: стоимость более 1000$)
DSP RichAuto A11: 3 оси
DSP RichAuto A18: 4 оси
При работе через LPT-DPTR 1.03: 4 оси
При работе через MESA: 6 осей
Максимальная частота При работе через LPT-DPTR 1.03: 60 kHz*
При работе через ZKMotion: 1,5Mhz
PCIMC-3D: 47 kHz.
PCIMC-3G: 120 kHz
DSP RichAuto A11, A18: 1Mhz При работе через LPT-DPTR 1.03: 60kHz
При работе через MESA: более 400 kHz
Конфигурируемость (возможность изменения функционала или интерфейса под собственные задачи) Система скриптов на VB, легко изменяется интерфейс или функционал под задачи Интерфейс изменить невозможно, изменение функционала крайне ограничено Невозможно изменить ни функционал, ни интерфейс Легко изменить функционал и интерфейс, язык Python и другие
Удобство интерфейса Для рядового пользователя перенасыщен кнопками и функциями Минималистичный, удобный Недостаточно удобный, нет многих функций Минималистичный, нет некоторых удобных функций
Удобство настройки Легко настраивается из меню программы Почти не требует настройки, легко настраивается из меню программы Легко настраивается, но некоторые параметры не интуитивны Легко настраивается через файлы конфигурации
Работа с большим объемом G-кода Проблемы при загрузке больших управляющих программ Легко работает с большим объемом Легко работает с большим объемом, но долго загружает управляющую программу Легко работает с большим объемом (однако иногда требуется выключить визуализацию)
Требования к ПК Очень требователен к ПК (не только к техническим характеристикам, но и к наличию сторонних программ на ПК) Не требователен к ПК (только тип операционной системы и битность) Не требует ПК Не требователен к ПК
Стабильность Нестабилен вввиду требовательности к ПК Стабильная система Стабильная система Стабильная система
Стоимость Платное ПО Платное ПО Покупное оборудование Стоимость ПК + стоимость контроллера EP7i92, программное обеспечение бесплатно
Итоги/выводы Интерфейс слегка перенасыщен и требует время для освоения системы у новичков, легко настраиваемая неопытным пользователем по созданным руководствам. Огромный плюс состоит в большом количестве информации о данной системе. Отличная гибкость под разные задачи. Однако существенным недостатком данной системы является нестабильная работа. В данном случае под нестабильностью стоит понимать «капризность системы». В особенности это проявляется на больших управляющих программах, которые исполняются на станке часами. Отличная надежность. Настройка крайне простая и можно легко сказать что данная система работает «из коробки». Два больших недостатка не дают этой системе занять лидирующие позиции: 3 оси (существуют и 4-ех осевые версии, но стоимость контроллера несоизмерима — более 1000$) и полное отсутствие гибкости. Стабильны при работе, но статистике менее удобны в работе. Отсутствие визуализации, невозможность изменения интерфейса и прочее. Согласно статистике, существует такая проблема: пульт проводной и находится в непостредственной близости к станку. Именно по этому 80% обращений в техподдержку — физические повреждения (разбит экран, клавиатура, перебит провод) Отличная гибкость, отличная надежность. Единственный недостаток: скудный интерфейс в стандартном исполнении (интерфейс Axis). Некоторая сложность настройки на начальных этапах.

Какой вывод мы можем сделать исходя из этой сравнительной таблицы? По нашему мнению LinuxCNC является одной из надежных систем управления ЧПУ, сбоев при работе данной системы крайне мало. Однако стандартный интерфейс Axis недостаточно удобен и лишен некоторых возможностей (точнее говоря не лишен, но этот функционал не является интуитивным, удобным). При этом стоимость контроллеров, необходимых для работы с LinuxCNC очень доступная (к примеру контроллеры LPT-DPTR 1.03 для работы через LPT, или контроллеры MESA для работы через PCI или Ethernet).