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

Материал из Wiki CNC
Перейти к навигации Перейти к поиску
(Форматирование; Незначительные фактичерские правки и дополнения; Убрано упоминание Craftex (устарело))
 
(не показаны 144 промежуточные версии 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 / G-code|G-код LinuxCNC]]
  
В '''LinuxCNC''' настройка системы под заданное оборудование, происходит отлично от стандартного графического интерфейса (Mach3 или NC-Studio). Большинство необходимых параметров задаются внесением изменений в текстовые конфигурационные файлы.<br>
+
== Почему LinuxCNC? ==
 +
{| class="wikitable"
 +
|-
 +
!
 +
! Mach3
 +
! NC-Studio
 +
! Автоном. пульты
 +
! LinuxCNC
 +
|-
 +
| '''Количество осей'''
 +
| При работе через 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 осей
 +
|-
 +
| '''Максимальная частота'''
 +
| При работе через 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
 +
|-
 +
| '''Конфигурируемость''' <small>(возможность изменения функционала или интерфейса под собственные задачи)</small>
 +
| Система скриптов на VB, легко изменяется интерфейс или функционал под задачи
 +
| Интерфейс изменить невозможно, изменение функционала крайне ограничено
 +
| Невозможно изменить ни функционал, ни интерфейс
 +
| Легко изменить функционал и интерфейс, язык Python и другие
 +
|-
 +
| '''Удобство интерфейса'''
 +
| Для рядового пользователя перенасыщен кнопками и функциями
 +
| Минималистичный, удобный
 +
| Недостаточно удобный, нет многих функций
 +
| Минималистичный, нет некоторых удобных функций
 +
|-
 +
| '''Удобство настройки'''
 +
| Легко настраивается из меню программы
 +
| Почти не требует настройки, легко настраивается из меню программы
 +
| Легко настраивается, но некоторые параметры не интуитивны
 +
| Легко настраивается через файлы конфигурации
 +
|-
 +
| '''Работа с большим объемом G-кода'''
 +
| Проблемы при загрузке больших управляющих программ
 +
| Легко работает с большим объемом
 +
| Легко работает с большим объемом, но долго загружает управляющую программу
 +
| Легко работает с большим объемом (однако иногда требуется выключить визуализацию)
 +
|-
 +
| '''Требования к ПК'''
 +
| Очень требователен к ПК (не только к техническим характеристикам, но и к наличию сторонних программ на ПК)
 +
| Не требователен к ПК (только тип операционной системы и битность)
 +
| Не требует ПК
 +
| Не требователен к ПК
 +
|-
 +
| '''Стабильность'''
 +
| Нестабилен вввиду требовательности к ПК
 +
| Стабильная система
 +
| Стабильная система
 +
| Стабильная система
 +
|-
 +
| '''Стоимость'''
 +
| Платное ПО
 +
| Платное ПО
 +
| Покупное оборудование
 +
| Стоимость ПК + стоимость контроллера [[EP7i92]], программное обеспечение бесплатно
 +
|-
 +
| '''Итоги/выводы'''
 +
| Интерфейс слегка перенасыщен и требует время для освоения системы у новичков, легко настраиваемая неопытным пользователем по созданным руководствам. Огромный плюс состоит в большом количестве информации о данной системе. Отличная гибкость под разные задачи. Однако существенным недостатком данной системы является нестабильная работа. В данном случае под нестабильностью стоит понимать «капризность системы». В особенности это проявляется на больших управляющих программах, которые исполняются на станке часами.
 +
| Отличная надежность. Настройка крайне простая и можно легко сказать что данная система работает «из коробки». Два больших недостатка не дают этой системе занять лидирующие позиции: 3 оси (существуют и 4-ех осевые версии, но стоимость контроллера несоизмерима — более 1000$) и полное отсутствие гибкости.
 +
| Стабильны при работе, но статистике менее удобны в работе. Отсутствие визуализации, невозможность изменения интерфейса и прочее. Согласно статистике, существует такая проблема: пульт проводной и находится в непостредственной близости к станку. Именно по этому 80% обращений в техподдержку — физические повреждения (разбит экран, клавиатура, перебит провод)
 +
| Отличная гибкость, отличная надежность. Единственный недостаток: скудный интерфейс в стандартном исполнении (интерфейс Axis). Некоторая сложность настройки на начальных этапах.
 +
|}
  
''Примечание: В составе LinuxCNC есть приложение с графическим интерфейсом пользователя для настройки конфигурации станка (Stepconf), однако, как показывает практика некоторые изменения приходится вносить в конфигурационные файлы вручную. Именно поэтому в данном руководстве вся настройка и внесение изменений происходят через *.hal и *.ini файлы.'' <br>
+
'''Какой вывод мы можем сделать исходя из этой сравнительной таблицы?''' По нашему мнению LinuxCNC является одной из надежных систем управления ЧПУ, сбоев при работе данной системы крайне мало. Однако стандартный интерфейс Axis недостаточно удобен и лишен некоторых возможностей (точнее говоря не лишен, но этот функционал не является интуитивным, удобным). При этом стоимость контроллеров, необходимых для работы с LinuxCNC очень доступная (к примеру контроллеры LPT-DPTR 1.03 для работы через LPT, или контроллеры MESA для работы через PCI или Ethernet).
 
 
Что же такое *.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])
 
 
 
==Параметры порта==
 
Для того, чтобы увидеть установленные в системный блок 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-платы.
 
 
 
==Scale (Количество импульсов на мм)==
 
Параметр Scale отвечает за необходимое количество импульсов на 1 мм. Для того, чтобы рассчитать количество импульсов для вашего станка, обратитесь к руководству ([http://wcnc.ru/index.php?title=Scale Как рассчитать количество импульсов на мм]).<br>
 
 
 
Для того, что изменить параметр Scale для каждой из осей, необходимо внести изменения в конфигурационный файл *.ini (См. Приложение как изменить конфигурационный файл)
 
 
 
 
 
==Скорости и ускорения==
 
==Направление движения==
 
==Датчики домашнего положения==
 
==Настройка шпинделя==
 
==Направление поиска домашнего положения==
 
==Ограничение рабочего поля==
 
 
 
 
 
 
 
=Приложения=
 
==Как изменить *.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>
 
 
 
*После ввода пароля пользователя откроется окно редактора.
 

Текущая версия на 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).