Jump to content

LinuxCNC

LinuxCNC
Стабильная версия
2.9.3
Репозиторий https://github.com/LinuxCNC/linuxcnc
Лицензия GNU GPLv2
Веб-сайт https://linuxcnc.org/

LinuxCNC (ранее Enhanced Machine Controller или EMC2 ) — это бесплатная программная система Linux с открытым исходным кодом, которая реализует возможности числового управления с использованием компьютеров общего назначения для управления станками с ЧПУ . В основном он предназначен для работы на ПК с системами AMD x86-64 . Разработанный различными разработчиками-добровольцами на сайте linuxcnc.org, он обычно поставляется в виде ISO-файла с модифицированной версией Debian Linux , которая предоставляет необходимое ядро ​​реального времени .

Из-за тесной интеграции операционной системы реального времени стандартный настольный компьютер Linux без ядра реального времени будет запускать пакет только в демонстрационном режиме.

LinuxCNC — это программная система для числового управления такими станками, как фрезерные станки , токарные станки , плазменные резаки , фрезерные станки , станки для резки , роботы и шестигранники . Он может управлять до 9 осями или соединениями станка с ЧПУ, используя в качестве входных данных G-код (RS-274NGC). Он имеет несколько графических интерфейсов , подходящих для конкретных видов использования (сенсорный экран, интерактивная разработка).

В настоящее время он используется почти исключительно на платформах ПК x86 , но был перенесен на другие архитектуры. [ нужна ссылка ] Он широко использует модифицированное в реальном времени ядро ​​и поддерживает как шагового, так и сервопривода приводы .

Он не обеспечивает функции рисования (CAD – автоматизированное проектирование) или генерации G-кода из чертежа (CAM – автоматизированное производство).

Система программного обеспечения EMC Public Domain была первоначально разработана NIST как следующий шаг после Национального центра производственных наук / спонсируемой ВВС программы контроллеров нового поколения [NGC 1989] / спецификации для архитектуры открытых систем [SOSAS]. Она называлась EMC [Enhanced Machine Controller Architecture, 1993]. Спонсируемые правительством системы программного обеспечения Public Domain для управления фрезерными станками были одними из первых проектов, разработанных с использованием цифрового компьютера в 1950-х годах . Это должна была быть «независимая от поставщика» эталонная реализация стандартного языка для числового управления операциями обработки RS-274D ( G-код ).

Программное обеспечение включало в себя интерпретатор RS274, управляющий планировщиком траектории движения, драйверы двигателей/приводов в реальном времени и пользовательский интерфейс. Он продемонстрировал возможность создания усовершенствованной системы числового управления с использованием готового оборудования ПК под управлением FreeBSD или Linux , взаимодействующего с различными аппаратными системами управления движением. Дальнейшая разработка продолжается с использованием текущих и дополнительных архитектур (например, устройств с архитектурой ARM ).

Демонстрационный проект оказался очень успешным и создал сообщество пользователей и волонтеров. Примерно в июне 2000 года NIST переместил исходный код в SourceForge под лицензией Public Domain , чтобы позволить внешним участникам вносить изменения. В 2003 году сообщество переписало некоторые его части, реорганизовало и упростило другие части, а затем дало ему новое имя — EMC2. EMC2 все еще активно развивается. Лицензирование теперь осуществляется по лицензии GNU General Public License .

Принятие нового названия EMC2 было вызвано несколькими важными изменениями. новый уровень, известный как HAL ( уровень аппаратной абстракции Прежде всего, был введен ), для простого соединения функций без изменения кода C или перекомпиляции. Это разделение траектории и планирования движения от оборудования перемещения, что упрощает создание программ управления для поддержки портального станка , нарезания резьбы на токарных станках и жесткого нарезания резьбы , роботизированных манипуляторов SCARA и множества других приспособлений. HAL поставляется с некоторыми интерактивными инструментами для проверки сигналов, а также для подключения и удаления ссылок. Он также включает в себя виртуальный осциллограф для проверки сигналов в режиме реального времени. Еще одним изменением в EMC2 является Classic Ladder ( реализация релейной логики с открытым исходным кодом ), адаптированная для среды реального времени для настройки сложных вспомогательных устройств, таких как устройства автоматической смены инструмента.

Примерно в 2011 году название было изменено с EMC2 на LinuxCNC из-за конфликта товарных знаков с корпорацией EMC , которая владеет товарными знаками «EMC» и «EMC». 2 '. LinuxCNC получила лицензию на торговую марку Linux от Linux Foundation . [1]

Платформы

[ редактировать ]

Из-за необходимости детального и точного управления станками в реальном времени, LinuxCNC требует платформы с возможностями вычислений в реальном времени . Ранние версии EMC работали под управлением версии Windows NT , работающей в реальном времени , но более поздние версии Windows не имели хорошей поддержки реального времени, поэтому предпочтительной платформой стала Linux с расширениями реального времени. [1] В настоящее время LinuxCNC использует ядро ​​RTAI или PREEMPT-RT. [ сломанный якорь ] с версией RTAPI LinuxCNC «uspace».

Установка LinuxCNC и базовых исправлений ядра реального времени в базовой системе Linux может оказаться непростой задачей. Пол Корнер пришел на помощь, предложив BDI (Brain Dead Install) — компакт-диск, с которого можно было установить полную рабочую систему (Linux, патчи реального времени и LinuxCNC). [2] Это сделало LinuxCNC доступным для гораздо большего сообщества пользователей. Сегодня BDI Пола превратился в загрузочный (живой) ISO-образ, который можно записать на компакт-диск или USB-накопитель и запустить на большинстве компьютеров типа ПК для тестирования LinuxCNC без необходимости установки системы. Загрузочные ISO-образы LinuxCNC доступны для Debian Wheezy (ядро RTAI) и Debian Stretch (ядро RT-PREEMPT).

Политика LinuxCNC заключается в создании пакетов и предложении поддержки Debian , но готовые бинарные пакеты также доступны для других систем и архитектур Linux. [3]

LinuxCNC использует модель «чувствовать, планировать, действовать» при взаимодействии с оборудованием. [4] Например, он считывает текущее положение оси, вычисляет новое целевое положение/напряжение, а затем записывает его в аппаратное обеспечение. Буферизация команд не осуществляется, а чтение или запись, инициированные извне, не допускаются. Этот подход без буферизации дает максимальную свободу при добавлении или изменении возможностей LinuxCNC. Используя относительно «тупое» внешнее оборудование и программируя возможности главного компьютера, LinuxCNC не привязан к какому-либо одному аппаратному обеспечению. Это также позволяет заинтересованному пользователю легко изменить поведение/возможности/оборудование.

Эта модель имеет тенденцию приспосабливаться к определенным типам внешних интерфейсов: PCI, PCIE, параллельный порт (в режиме SPP или EPP), ISA и Ethernet используются для управления двигателем. USB и последовательный порт RS232 не являются хорошими кандидатами; USB имеет плохие возможности реального времени, а RS232 слишком медленный для управления двигателем.

Из-за этой модели у LinuxCNC есть базовые требования «реального времени». Интервал между чтением и записью должен быть постоянным и достаточно быстрым. Типичная машина выполняет вычисления в реальном времени в повторяющемся потоке длительностью 1 миллисекунду. Чтение и запись в аппаратное обеспечение должны занимать небольшую часть этого времени, например 200 микросекунд, в противном случае фазовый сдвиг усложняет настройку, и для программ, не работающих в реальном времени, остается меньше времени, что может сделать элементы управления на экране менее отзывчивыми.

LinuxCNC «использует генератор трапециевидного профиля скорости». [5]

Конфигурация

[ редактировать ]

LinuxCNC использует программный уровень, называемый HAL (уровень аппаратной абстракции). [6]

HAL позволяет создавать множество конфигураций. [7] сохраняя при этом гибкость: можно комбинировать и сочетать различные платы управления оборудованием, выводить управляющие сигналы через параллельный или последовательный порт - при управлении шаговыми или серводвигателями , соленоидами и другими исполнительными механизмами .

LinuxCNC также включает в себя программируемый логический контроллер (ПЛК), который обычно используется в обширных конфигурациях (например, в сложных обрабатывающих центрах). Программное обеспечение ПЛК основано на проекте с открытым исходным кодом Classicladder. [8] и работает в среде реального времени.

См. также

[ редактировать ]
Примечания
  1. ^ Перейти обратно: а б «История ЭМС» . Совет директоров Linuxcnc. 12 сентября 2018 г. . Проверено 14 сентября 2018 г.
  2. ^ «История ЭМС» . Совет директоров Linuxcnc. 12 сентября 2018 г. . Проверено 14 сентября 2018 г.
  3. ^ «Получение LinuxCNC» . linuxcnc.org. 19 февраля 2018 года . Проверено 14 сентября 2018 г.
  4. ^ «Требования к проектированию аппаратного обеспечения Linuxcnc» .
  5. ^ «Простые заметки ТП» .
  6. ^ «Уровень аппаратной абстракции EMC2» . Совет директоров Linuxcnc . Проверено 30 сентября 2010 г.
  7. ^ «Пара тематических исследований» . Проверено 30 сентября 2010 г.
  8. ^ «Классическая лестница» . Проверено 6 марта 2014 г.
Библиография
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0d11afd4c258522e9f23eb0cba51688b__1721669220
URL1:https://arc.ask3.ru/arc/aa/0d/8b/0d11afd4c258522e9f23eb0cba51688b.html
Заголовок, (Title) документа по адресу, URL1:
LinuxCNC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)