LinuxCNC
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Август 2017 г. ) |
Стабильная версия | 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] и работает в среде реального времени.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Примечания
- ^ Перейти обратно: а б «История ЭМС» . Совет директоров Linuxcnc. 12 сентября 2018 г. . Проверено 14 сентября 2018 г.
- ^ «История ЭМС» . Совет директоров Linuxcnc. 12 сентября 2018 г. . Проверено 14 сентября 2018 г.
- ^ «Получение LinuxCNC» . linuxcnc.org. 19 февраля 2018 года . Проверено 14 сентября 2018 г.
- ^ «Требования к проектированию аппаратного обеспечения Linuxcnc» .
- ^ «Простые заметки ТП» .
- ^ «Уровень аппаратной абстракции EMC2» . Совет директоров Linuxcnc . Проверено 30 сентября 2010 г.
- ^ «Пара тематических исследований» . Проверено 30 сентября 2010 г.
- ^ «Классическая лестница» . Проверено 6 марта 2014 г.
- Библиография
- Проктор, Ф.М., и Михалоски, Дж., «Обзор архитектуры расширенного машинного контроллера», Внутренний отчет NIST 5331, декабрь 1993 г. Доступно в Интернете по адресу https://web.archive.org/web/20201208080506/https://nvlpubs.nist . .gov/nistpubs/Legacy/IR/nistir5331.pdf
- Альбус, Дж.С.; Люмия, Р. (1994). «Усовершенствованный контроллер станка (EMC): контроллер с открытой архитектурой для станков». Журнал производственного обзора . 7 (3): 278–280.
- Люмиа, «Усовершенствованная архитектура контроллера машины», 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», «Технологии производства и станки», 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
- Живанович и др., «Методология настройки настольного трехосного станка с параллельной кинематикой» [ постоянная мертвая ссылка ] , Транзакции FME (2009) 37, 107–115,
- Главонич; и др. (2009). «Настольный 3-осевой фрезерный станок с параллельной кинематикой». Международный журнал передовых производственных технологий . 46 (1–4): 51–60. дои : 10.1007/s00170-009-2070-3 . S2CID 60640709 .
- Старовески и др., «ВНЕДРЕНИЕ ОТКРЫТОЙ СИСТЕМЫ УПРАВЛЕНИЯ ЧПУ НА ОСНОВЕ LINUX» , 12-я МЕЖДУНАРОДНАЯ НАУЧНАЯ КОНФЕРЕНЦИЯ ПО ТЕХНИКЕ ПРОИЗВОДСТВА – CIM2009, Хорватская ассоциация инженеров производства, Загреб, 2009 г.,
- Ли и др., «Проектирование системы управления и моделирование машины с параллельной кинематикой на основе EMC2», Machinery Design & Manufacture 2010–08, http://en.cnki.com.cn/Article_en/CJFDTOTAL-JSYZ201008074.htm
- Ли; и др. (2010). «Кинематический анализ и проектирование системы управления параллельной кинематической машины с 6 степенями свободы с помощью Matlab и EMC2». Передовые исследования материалов . 102–104: 363–367. doi : 10.4028/www.scientific.net/AMR.102-104.363 . S2CID 62700779 .
- Кланцник и др., «Компьютерное обнаружение заготовок на фрезерных станках с ЧПУ с использованием оптической камеры и нейронных сетей», « Достижения в области производства и управления» 5 (2010) 1, 59–68, [1]
- Милутинович; и др. (2010). «Реконфигурируемая роботизированная система обработки, управляемая и программируемая как станок». Международный журнал передовых производственных технологий . 55 (9–12): 555. doi : 10.1007/s00170-010-2888-8 . S2CID 109149203 .
Внешние ссылки
[ редактировать ]- Вики-проект LinuxCNC
- Стандарт NIST RS274NGC — версия 3, август 2000 г., также доступен в формате PDF.
- Домашняя страница усовершенствованного контроллера машины в NIST
- Machinekit — проект с открытым исходным кодом для переноса и расширения EMC2/LinuxCNC для эффективной работы на BeagleBone и связанном с ним оборудовании.