LinuxCNC - LinuxCNC
Эта статья включает в себя список общих Рекомендации, но он остается в основном непроверенным, потому что ему не хватает соответствующих встроенные цитаты.Август 2017 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Стабильный выпуск | 2.7.14 |
---|---|
Репозиторий | https://github.com/LinuxCNC/linuxcnc |
Лицензия | Свободный |
Интернет сайт | http://linuxcnc.org/ |
LinuxCNC (ранее Усовершенствованный контроллер машины или же EMC2) - это бесплатная программная система GNU / Linux с открытым исходным кодом, которая реализует числовое управление возможность использования компьютеров общего назначения для управления ЧПУ машины. Разработанный различными разработчиками-добровольцами на linuxcnc.org, он обычно входит в состав ISO файл с модифицированной версией 32-битной Ubuntu Linux что обеспечивает необходимые ядро реального времени.
Из-за плотного операционная система реального времени интеграции, стандартный настольный ПК Ubuntu Linux без ядра реального времени будет запускать пакет только в демонстрационном режиме.
Цель
LinuxCNC - это программная система для числовое управление машин, таких как фрезерные станки, токарные станки, плазменные резаки, маршрутизаторы, машины для резки, роботы и гексаподы. Он может контролировать до 9 осей или шарниров станка с ЧПУ, используя G-код (RS-274NGC) в качестве входных данных. В нем есть несколько GUI подходит для конкретных видов использования (сенсорный экран, интерактивная разработка).
В настоящее время он почти исключительно используется на x86 Платформы ПК, но были перенесены на другие архитектуры.[нужна цитата ] Он широко использует ядро, измененное в реальном времени, и поддерживает оба степпер и сервопривод -типа приводы.
Он не предоставляет функции рисования (CAD - Computer Aided Design) или генерации G-кода из чертежей (CAM - Computer Automated Manufacturing).
История
EMC Всеобщее достояние программная система была первоначально разработана NIST, как следующий шаг за Национальный центр производственных наук / Программа контроллеров нового поколения, спонсируемая ВВС США [NGC 1989] / Спецификация архитектуры открытых систем [SOSAS]. Это называлось EMC [Enhanced Machine Controller Architecture 1993]. Спонсируемые государством программные системы Public Domain для управления фрезерными станками были одними из первых проектов, разработанных с помощью цифрового компьютера в 1950-е годы. Это должна была быть эталонная реализация стандартного отраслевого языка для числового управления операциями обработки, RS-274D (G-код ).
Программное обеспечение включает интерпретатор RS274, управляющий планировщиком траектории движения, драйверы двигателя / исполнительного механизма в реальном времени и пользовательский интерфейс. Он продемонстрировал возможность создания передовой системы числового программного управления с использованием готового оборудования на ПК. FreeBSD или же Linux, сопряжение с различными аппаратными системами управления движением. Дальнейшие разработки продолжаются с использованием текущих и дополнительных архитектур (например, ARM архитектура устройств).
Демонстрационный проект был очень успешным и создал сообщество пользователей и добровольцев. Примерно в июне 2000 г. NIST переместил исходный код в SourceForge под Всеобщее достояние лицензия, чтобы позволить внешним участникам вносить изменения. В 2003 году сообщество переписало некоторые его части, реорганизовало и упростило другие части, а затем дало ему новое имя - EMC2. EMC2 все еще активно развивается. Лицензирование теперь под Стандартная общественная лицензия GNU.
Принятие нового названия EMC2 было вызвано несколькими серьезными изменениями. В первую очередь, новый слой, известный как HAL (Уровень аппаратной абстракции ) был введен для простого соединения функций без изменения кода C или перекомпиляции. Это разделение траектории и планирование движения от оборудования движения, что упрощает создание управляющих программ для поддержки портальная машина, токарный станок резьбовой и жесткий постукивание, Робот SCARA оружие и множество других приспособлений. HAL поставляется с некоторыми интерактивными инструментами для изучения сигналов, а также для подключения и удаления ссылок. Он также включает виртуальный осциллограф для анализа сигналов в реальном времени. Еще одно изменение в EMC2 - Classic Ladder (открытый исходный код). лестничная логика реализация) адаптирована к среде реального времени для настройки сложных вспомогательных устройств, таких как автоматические устройства смены инструмента.
Примерно в 2011 году название было официально изменено с EMC2 на LinuxCNC. Это было сделано по настоянию Корпорация EMC и согласие руководства проекта. Внутри некоторые ссылаются на LinuxCNC от EMC или EMC2, как это было исторически известно. Корпорация EMC предположила, что проект LinuxCNC, как было сказано ранее, будет сбивать с толку заказчиков или потенциальных заказчиков своими (в основном) продуктами, связанными с системами хранения.
Платформы
Из-за необходимости мелкозернистого и точного управления машинами в реальном времени LinuxCNC требует платформы с вычисления в реальном времени возможности. Ранние версии LinuxCNC (EMC) работали под управлением версии реального времени Windows NT, но более поздняя версия Windows не имела хорошей поддержки реального времени, поэтому Linux с расширениями реального времени стал предпочтительной платформой.[1] В настоящее время LinuxCNC использует RTAI ядро или ПРЕМПТ-РТ с вкусом LinuxCNC 'uspace' RTAPI.
Установка 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 (Hardware Abstraction Layer).[6]
HAL позволяет создавать множество конфигураций [7] будучи гибким: можно смешивать и согласовывать различные платы управления оборудованием, выводить управляющие сигналы через параллельный порт или же Серийный порт - во время движения степпер или же серводвигатели, соленоиды и другие приводы.
LinuxCNC также включает программное обеспечение Программируемый логический контроллер (PLC), который обычно используется в обширных конфигурациях (например, в сложных обрабатывающих центрах). Программный ПЛК основан на проекте с открытым исходным кодом Classicladder,[8] и работает в среде реального времени.
Смотрите также
- Машинный комплект, проект с открытым исходным кодом для переноса и расширения EMC2 / LinuxCNC для эффективной работы на BeagleBone и сопутствующее оборудование.
Рекомендации
- Примечания
- ^ «История EMC». Совет директоров Linuxcnc. 12 сентября 2018 г.. Получено 2018-09-14.
- ^ «История EMC». Совет директоров Linuxcnc. 12 сентября 2018 г.. Получено 2018-09-14.
- ^ "Получение LinuxCNC". linuxcnc.org. 19 февраля 2018 г.. Получено 2018-09-14.
- ^ «Требования к конструкции оборудования Linuxcnc».
- ^ "Простые заметки ТП".
- ^ «Уровень абстракции оборудования EMC2». Совет директоров Linuxcnc. Получено 2010-09-30.
- ^ "Пара тематических исследований". Получено 2010-09-30.
- ^ "ClassicLadder". sites.google.com. Получено 2014-03-06.
- Библиография
- Проктор, Ф. М., и Михалоски, Дж., "Обзор архитектуры усовершенствованного контроллера машины", Внутренний отчет NIST 5331, декабрь 1993 г. Доступен в Интернете по адресу ftp://129.6.13.104/pub/NISTIR_5331.pdf[постоянная мертвая ссылка ]
- Albus, J.S .; Люмия, Р. (1994). "Усовершенствованный машинный контроллер (EMC): An Открытая архитектура Контроллер для станков ». Журнал производственного обзора. 7 (3): 278–280.
- Lumia, "Усовершенствованная архитектура контроллера машин", 5-й Международный симпозиум по робототехнике и производству, Мауи, Гавайи, 14–18 августа 1994 г., https://www.nist.gov/customcf/get_pdf.cfm?pub_id=820483
- Фред Проктор и др., «Моделирование и реализация контроллера с открытой архитектурой», Технологии моделирования и управления для производства, том 2596, Труды SPIE, октябрь 1995 г., https://web.archive.org/web/20100527174141/http://www.isd.mel.nist.gov/documents/proctor/sim/sim.html
- Фред Проктор, Джон Михалоски, Уилл Шеклфорд и Сандор Сабо, «Проверка стандартных интерфейсов для управления машинами», Интеллектуальная автоматизация и мягкие вычисления: тенденции в исследованиях, разработках и приложениях, Том 2, TSI Press, Альбукерке, Нью-Мексико, 1996, https://web.archive.org/web/20100527165142/http://www.isd.mel.nist.gov/documents/proctor/isram96/isram96.html
- Шеклфорд и Проктор, «Использование дистрибутива с открытым исходным кодом для контроллера станка», Датчики и элементы управления для интеллектуального производства. Конференция, Бостон, Массачусетс, 2001, т. 4191, стр. 19–30, https://web.archive.org/web/20100820224129/http://www.isd.mel.nist.gov/documents/shackleford/4191_05.pdf или же Дои:10.1117/12.417244
- Морар и др., «О ВОЗМОЖНОСТИ УЛУЧШЕНИЯ ГЕНЕРАТОРОВ ВЕТРА», Международная конференция по экономической инженерии и производственным системам, Брашов, 25–26 октября 2007 г., https://web.archive.org/web/20120313054238/http://www.recentonline.ro/021/Morar_L_01a.pdf
- Чжан и др., «Разработка ЧПУ EMC2 на основе Qt», Manufacturing Technology & Machine Tool, 2008 г., http://en.cnki.com.cn/Article_en/CJFDTOTAL-ZJYC200802046.htm
- Лето и др., "ИНТЕГРАЦИЯ CAD / CAM ДЛЯ ИНТЕРПОЛЯЦИИ ПУТИ NURBS НА ОСНОВЕ ПК ЧИСЛОВОЙ КОНТРОЛЬ В РЕАЛЬНОМ ВРЕМЕНИ", 8-я МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ ПО ПРОДВИНУТЫМ ПРОИЗВОДСТВЕННЫМ СИСТЕМАМ И ТЕХНОЛОГИЯМ, 12–13 ИЮНЯ 2008 г. УДИНЕ - ИТАЛИЯ https://web.archive.org/web/20110703113248/http://158.110.28.100/amst08/papers/art837759.pdf
- Сюй и др., «Механизм и применение HAL в EMC2», Современные производственные технологии и оборудование 2009-05, http://en.cnki.com.cn/Article_en/CJFDTOTAL-SDJI200905037.htm
- Zivanovic et al., «Методика настройки настольного 3-осевого параллельного кинематического станка»[постоянная мертвая ссылка ], FME Transactions (2009) 37, 107-115,
- Главонич; и другие. (2009). «Настольный 3-х осевой параллельно-кинематический фрезерный станок». Международный журнал передовых производственных технологий. 46 (1–4): 51–60. Дои:10.1007 / s00170-009-2070-3.
- Старовески и др., «ВНЕДРЕНИЕ СИСТЕМЫ ОТКРЫТОГО УПРАВЛЕНИЯ ЧПУ НА ОСНОВЕ LINUX», 12-я МЕЖДУНАРОДНАЯ НАУЧНАЯ КОНФЕРЕНЦИЯ ПО ПРОИЗВОДСТВУ ПРОИЗВОДСТВА –CIM2009, Хорватская ассоциация инженеров-производителей, Загреб, 2009 г.
- Ли и др., «Проектирование системы управления и моделирование параллельной кинематической машины на основе EMC2», Machinery Design & Manufacturing 2010-08, http://en.cnki.com.cn/Article_en/CJFDTOTAL-JSYZ201008074.htm
- Ли; и другие. (2010). "Анализ кинематики и проектирование системы управления параллельной кинематической машины с 6 степенями свободы с помощью Matlab и EMC2". Расширенные исследования материалов. 102-104: 363–367. Дои:10.4028 / www.scientific.net / AMR.102-104.363.
- Klancnik et al., "Компьютерное обнаружение деталей на фрезерных станках с ЧПУ с использованием оптической камеры и нейронных сетей", Достижения в области производства и управления 5 (2010) 1, 59-68, [1]
- Милутинович; и другие. (2010). «Реконфигурируемая роботизированная система обработки, управляемая и программируемая на станках». Международный журнал передовых производственных технологий. 55 (9–12): 555. Дои:10.1007 / s00170-010-2888-8.
внешняя ссылка
- Вики проекта LinuxCNC
- Стандарт NIST RS274NGC - версия 3 августа 2000 г. также доступен как PDF
- Усовершенствованный машинный контроллер домашняя страница в NIST