линукс снс на русском
Линукс снс на русском
LinuxCNC 2.8 Downloads
The Debian 10 Buster ISO uses a PREEMPT-RT patch which is close to mainstream Linux but does not, in some cases, give quite such good realtime performance as the previous RTAI kernel. It is very often more than good enough. It should probably be the first version tried even if using a parallel port. This is compatible with all Mesa and Pico interface boards.
Users requiring a known-stable RTAI installation can install the Debian 7 Wheezy ISO and then upgrade as described in 2.8 documents.
The more adventurous can install the Buster ISO and then install the experimental RTAI kernel as described in 2.8 documents
Raspberry Pi 4 Uspace compatible with Mesa Ethernet and SPI interface boards.
LinuxCNC 2.7 Downloads
The Debian 7 Wheezy ISO uses RTAI which LinuxCNC has used as the Realtime layer since the very beginning. This gives the best real-time performance and is generally a better choice for software stepping using a parallel port. However making a stable version of a 4.x Kernel for Stretch (and eventually Buster) has proven difficult, which is partly why we still distribute the EOL Wheezy. This is compatible with Mesa PCI and PCIe and Pico interface boards but is not compatible with Mesa Ethernet interface boards.
The Debian 9 Stretch ISO uses a PREEMPT-RT patch which is closer to mainstream Linux but does not, in some cases, give quite such good realtime performance. It is very often more than good enough. It should probably be the first version tried even if using a parallel port. This is compatible with all Mesa and Pico interface boards.
The LinuxCNC Buildbot builds several different versions of OS’s and is the best way to get the 2.8 (master) version. If you have a gantry type of machine the 2.8 supports dual motor gantry homing.
More information on downloading and installing is in the LinuxCNC Documents
LinuxCNC Packages
Самодельный ЧПУ станок
Разделы сайта
Интересное предложение
Лучшее
Статистика
Сегодня я хочу поднять вопрос о софте который используется для обработки деталей на ЧПУ станках.
Если вы используете ЧПУ фрезер в производстве, то вопрос о легальности софта встает в полный рост. Все коммерческие программы управления ЧПУ станками стоят весьма не малых денег, таких, что малому бизнесу на первых порах не осилить. Тут и встает вопрос о том, как и легальный софт использовать и заплатить за него поменьше.
Конечно, в интернете можно найти много бесплатного и самописного софта, но зачастую данное ПО оказывается или малорабочим или заточенным под конкретный контроллер да и для работы требует то DOS, то Win 95-98. А уж чего стоит отсутствие богатства функционала!
Разработчики ПО LinuxCNC переписали частично саму ОС для того, что бы улучшить работу с ЧПУ станками в реальном времени. Ведь в основе своей Linux и тем более Windows не предназначены для работы с портами в реальном времени с ограниченными тайменгами. А именно этого и требуется для работы со станками с числовым программным управлением. При этом, промышленные станки имеют свой встроенный блок управления, на который подается список команд, а работу с осями выполняет уже микроконтроллер. А самописные программы для ЧПУ работают из под DOSа или старых версий виндовс, где можно было стучаться к портам напрямую, а не через виртуальное управление железом.
Программа LinuxCNC на сайте разработчика есть как в виде инсталяционного пакета, так и в виде LifeCD на базе Ubuntu 8.04 Hardy Heron.
Вам достаточно записать образ на диск и загрузиться с него, после чего вы сразу сможете работать с LinuxCNC и управлять своим самодельным ЧПУ устройством.
LinuxCNC это универсальная программа, которая может может управлять фрезерно-гравировальным станком, лазерной и плазменной резкой, а так же любыми другими станками. Было бы желание разобраться и настроить программу. Но самое главное, это то, что LinuxCNC абсолютно бесплатен, имеет свою техподдержку и постоянно развивается
На сегодняшний день OS Ubuntu, на базе которой сделан дистрибутив LinuxCNC, это одна из наиболее успешных реализаций Linux для ПК. Устанавливаясь на комп Ubuntu автоматически находит практически 96% известных устройств, а пользовательский интерфейс может поспорить с Windows 7.
Для нормальной работы вам необходим комп с 512 Мб оперативной памяти и 4 Gb свободного места на харде. Процессор желателен не менее 1500 Мгц. Если судить по сегодняшним меркам, то эти требования довольно слабые. Всегда можно взять недорого ноутбук 5-6 летней давности с рук с подобной конфигураций.
Остается лишь привести пример работы 4-х осевого ЧПУ станка под управлением LinuxCNC и на этом завершить обзор.
LinuxCNC бесплатное ПО для ЧПУ станка (Страница 1 из 3)
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения с 1 по 25 из 51
1 Тема от warik 2014-12-17 16:42:55
Тема: LinuxCNC бесплатное ПО для ЧПУ станка
Сегодня я хочу поднять вопрос о софте который используется для обработки деталей на ЧПУ станках.
Если вы используете ЧПУ фрезер в производстве, то вопрос о легальности софта встает в полный рост. Все коммерческие программы управления ЧПУ станками стоят весьма не малых денег, таких, что малому бизнесу на первых порах не осилить. Тут и встает вопрос о том, как и легальный софт использовать и заплатить за него поменьше.
Конечно, в интернете можно найти много бесплатного и самописного софта, но зачастую данное ПО оказывается или малорабочим или заточенным под конкретный контроллер да и для работы требует то DOS, то Win 95-98. А уж чего стоит отсутствие богатства функционала!
Разработчики ПО LinuxCNC переписали частично саму ОС для того, что бы улучшить работу с ЧПУ станками в реальном времени. Ведь в основе своей Linux и тем более Windows не предназначены для работы с портами в реальном времени с ограниченными тайменгами. А именно этого и требуется для работы со станками с числовым программным управлением. При этом, промышленные станки имеют свой встроенный блок управления, на который подается список команд, а работу с осями выполняет уже микроконтроллер. А самописные программы для ЧПУ работают из под DOSа или старых версий виндовс, где можно было стучаться к портам напрямую, а не через виртуальное управление железом.
Программа LinuxCNC на сайте разработчика есть как в виде инсталяционного пакета, так и в виде LifeCD на базе Ubuntu 8.04 Hardy Heron.
Вам достаточно записать образ на диск и загрузиться с него, после чего вы сразу сможете работать с LinuxCNC и управлять своим самодельным ЧПУ устройством.
LinuxCNC это универсальная программа, которая может может управлять фрезерно-гравировальным станком, лазерной и плазменной резкой, а так же любыми другими станками. Было бы желание разобраться и настроить программу. Но самое главное, это то, что LinuxCNC абсолютно бесплатен, имеет свою техподдержку и постоянно развивается
На сегодняшний день OS Ubuntu, на базе которой сделан дистрибутив LinuxCNC, это одна из наиболее успешных реализаций Linux для ПК. Устанавливаясь на комп Ubuntu автоматически находит практически 96% известных устройств, а пользовательский интерфейс может поспорить с Windows 7.
Для нормальной работы вам необходим комп с 512 Мб оперативной памяти и 4 Gb свободного места на харде. Процессор желателен не менее 1500 Мгц. Если судить по сегодняшним меркам, то эти требования довольно слабые. Всегда можно взять недорого ноутбук 5-6 летней давности с рук с подобной конфигураций.
Документацию по программе управления ЧПУ станком можно взять здесь. Она лежит в PDF файлах так же доступна Wiki и сообщество с форумом. Все это добро на английском языке, но такова уж судьба бесплатных проектов.
Остается лишь привести пример работы 4-х осевого ЧПУ станка под управлением LinuxCNC и на этом завершить обзор.
Crafting.be
When engineering is in blood
Show menu Hide menu
@hobbyworld_twit a world war of cthulhu чей?
@turbojedi Клаву хардварную была попытка сделать?
@001iz @Graveraider Всегда был вопрос а как у Evil персонажей могут быть романтики. Там скорее как в KoToR прогибание под свою сторону силы.
@Graveraider @001iz Q: Есть ли в игре романы? A: Да. Вы можете завести роман с 4 компаньонами, 2 из которых бисексуальны.
Советуем посмотреть также Сайт Некроманта
Метки
Погружение в LinuxCNC
Статья для тех кто плохо знает английский и не любит читать километры форумов
Table of Contents
Что такое LinuxCNC?
Linux обладает замечательными свойствами, его можно поставить куда хочешь даже на ATmega микроконтроллер. Или с помощью него можно сделать из обычного компьютера что то специфичное. Например на заре Linux его любили за то что он позволяет на дешевом оборудование создавать небольшие сервера, программно маршрутизировать пакеты и.т.д.
LinuxCNC — набор утилит который позволяет сделать из вашего компьютера стойку управления ЧПУ. Он позволяет программно генерировать шаги в случае управление по типу STEP-DIR-ENABLE, обрабатывать информацию с датчиков, позволяет вам собрать собственную заточенную под ваш станок — панель управления.
Ну а также LinuxCNC поддерживает работу с промышленными платами с аппаратной обработкой G-code — так называемые Mesa платы.
Состав LinuxCNC
RealTime Linux ядро
Драйвера
Также ведутся работы(не могу оценить степень их активности), по реализации real time управления через Ethernet.
USB — использует буфферицацию и и говорить о настоящем real time не получается, в общем, с этим все сложно.
Итак представьте что вы делает сложную дугу, дугу можно представить как набор ступенчатых шажков.
Чем меньше размер шагов тем ближе мы к реальному изображению кривой, конечно это зависит и от минимального шага станка.. ну да ладно. В общем если наша задача увеличить частоту с которой компьютер передает сигналы управляющей плате, то нужно уменьшать параметр jitter time, один из способов это увеличение частоты процессора, также можно избавляться от «лишних» процессов в системе, ну там браузер выключить, музыку на этом компьютере не слушать, compiz отрубить, network demon-а развеять…. ИЗБАВИТСЯ ОТ ГРАФИЧЕСКОГО СЕРВЕРА, но это совсем хардкор и теоретически linuxcnc предполагает клиент-серверную модель, так что интерфейс будет работать на компе с браузерами и прочими кофеварками, а преобразователь G-code и вся управляющая логика на другом.
Другой вариант использовать другой вариант и на железе с помощью ПЛИС преобразовывать G-code в управляющие сигналы, количество читаемых/передаваемых компьютером команд заметно уменьшиться, для этого и существуют MESA платы стоят они дороже чем PCI-parrport переходник.
Итак каждый компонент в HAL представлен черным ящиком с некоторым количеством ножек, каждая ножка обладает такими свойствами, как вход/выход а также тип передаваемого по ней сигнала. Ещё есть псевдо ножки, это константы, параметров компонента.
Все это похоже на блоксхемы и в итоге можно представить как вот такую вот схему(чем-то напоминает LabView, но увы удобного редактора нет).
Также с помощью специального синтаксиса макросов и языка С, можно создавать свои компоненты, с помощью утилиты comp.
Подсветка синтаксиса
Внутренняя архитектура
Здесь представлены компоненты HAL а также их деления на real time и non real time
Набор графических интерфейсов
Измерительные и вспомогательные утилиты.
halmeter и halscope позволяют отслеживать сигналы проходящие между компонентов, разница такая же как между вольтметром и осциллографом.
LinuxCNC для чайников
Содержание
НАЧАЛО. ОПИСАНИЕ EMC2 или EMC2 Integrators Manual
И почему электронщики не понимают программистов? А ведь учились в соседних группах.
Начнём разборку тоже с этого описания.
Глава 1. Важные определения
Никаких проблем. Всё понятно. Идём дальше.
Глава 2. Аппаратное обеспечение (Hardware)
И опять всё понятно. Тест несложный. Данные записаны.
Глава 3. Конфигурационные файлы
И тут всё в порядке.
Вот и подошел я к INI-файлу.
Глава 4. Файл INI
Тут без понимания HAL-файла не обойтись.
Глава 5. EMC2 и HAL
И вот первая строка:
Motion загружается при помощи команды motmod. Родственные программы должны быть запущены до motion.
Перечитал пару раз. Непонятно. Пропустил и полез дальше. Ещё более непонятно. Открыл HAL у себя и стал читать, взирая на реальный текст реального HAL-а. Стал понимать структуру самого файла. Но что там написано.
После двух недель стало ясно следующее:
Итак, эти маленькие программки называют КОМПОНЕНТАМИ. У каждого компонента есть своё ИМЯ.
2. У каждого компонента есть контакты (клеммы, разъемы) входов и выходов. Их называют ПИНы. У каждого компонента пинов может быть различное количество. У каждого пина есть своё имя. Пины бывают входные и выходные. А записывать это имя пина договорились так:
(имя компонента).(имя пина)
ВАЖНО! Не стоит верить имени пина в части входной он или выходной. Есть случаи, когда в названии пина есть «in» или «out@? а на самом деле всё обстоит совсем не так. Так где же узнать входной это пин или выходной?
Вариант 1. Почитать мануал (описание) EMC2. Там это выглядит как-то так:
— как мы уже разобрались, эта запись означает, что это выходной пин coolant-flood компонента iocontrol.0
Компоненты могут «соединяться» между собой посредством связей (проводки между входами и выходами). Тут есть тоже свои правила: 1. Чтобы не путаться, договорились каждую связь обзывать своим именем.
В этом случае, запись «коммутации» двух компонентов будет выглядеть так:
Возможно эту запись сделать так:
— как вам будет удобнее и понятнее. Кстати, эти две строчки могут быть записаны в разных местах HAL-файла.
Есть и второе правило при записи связи:
2. К одному выходному пину можно подсоединить несколько входных пинов. Но один входной пин можно подсоединить только к одному выходному пину.
Глава 6. КОМАНДЫ
Вот приходите вы домой (вошли в систему), подошли к телевизору, нажимаете на пульте 5 канал (обращаетесь к компоненту) и. А экран-то тёмный! Оказывается телевизор-то не включили.
Так мы подошли к понятию КОМАНДЫ.
, что означает: загружаем (loadrt) компонет stepgen с некоторыми установками (step_type=0,0,0,0), о которых поговорим позже.
ВАЖНО! Эти команды должны быть обязательно! Именно они определяют: какими компонентами мы собираемся пользоваться и какие требования к этим компонентам мы предъявляем по скорости.
Например, нам нужно подать высчитанный программой сигнал Step на два контакта LPT-порта (мы пожелали управлять через отдельные драйвера двумя шаговиками по координате X). Для этого мы должны написать:
Т.е. главное в этой команде:
Стрелочки => и Ура Линуксу или ошибки, ошибки и ошибки.
Что бы мы делали, если бы LinuxCNC не проверял ошибки ДО начала работы? А ведь проверяет!
Изменили мы ini- и hal-файлы, запустили EMC2 и. Получили сообщение об ошибке. Что с ним делать? И ведь понаписано много! Разберёмся последовательно:
А вот тут уже поинтереснее. Например вот эта строка у меня не понравилась EMC2:
Расшифровка: в файле 333.hal в строке 105 прописан пин axis.3.amp-enable-out, которого просто нет. Забыл я подчистить остатки от четвертой оси, которую изничтожил на корню. Удалил и всё заработало!
«И это меня радует!» («Килаграмм»)
BIT или не BIT? Вот в чём вопрос!
Захотели, например, мы включать и выключать внешний двигатель, управляемый stepgen.2, командой из g-кода.
Прописываем связь этих пинов в hal:
(это означает: создаём связь upr для соединения выходного пина analog-out-00 компонента motion со входным пином enable компонента stepgen.2)
Нужно ли изобретать велосипед или Компоненты реального времени. Часть 1.
Например, не запускать станок, пока точно не будет ясно, что оператор нажал две кнопки безопасности, разнесенные подальше друг от друга 😉
Пропишем эти две кнопки:
а дальше нужно включать станок только если эти «кнопочки» (start1 и start2) нажаты (= 0). Сделаем это через пины
Т.е. условием включения станка должно быть:
Мы, как электронщики, прекрасно знаем, что это легко реализовать через двух-входовый элемент ИЛИ-НЕ и двух-входовый И
Тогда на выходе, при start1 = 0 и start2 = 0, получим тот же уровень, что и axis.0.amp-enable-out и передаём его на stepgen.0.enable
И так по всем трем осям.
А, если хотя бы один start (хотя бы одна кнопка) равен 1 (отжата), то stepgen.0.enable равен 0 (False) и движение по осям прекращается.
Что нам может предложить CNC из стандартного набора компонентов?
Пропишем всё в логике CNC (только одну координату для краткости):
Вроде всё. НЕТ! Опять забыли для начала «включить» компоненты и определить их в нужном потоке. Мы используем один компонент or2, один компонент not и один компонент and2 (для одной оси) или три компонента and2 (для трёх осей). Получается всё вместе:
Здесь loadrt and2 count=3 говорит о том, что мы будем использовать компонент 2-И трижды.
Это пример использования готовых компонентов для реализации «цифровой схемы». Но это далеко не все возможности компонентов реального времени.
Компоненты реального времени. Часть 2.
Аналогично «цифровым» прототипам в LinuxCNC есть и «аналоговые» компоненты:
Своя панель. Первые шаги.
В процессе отладки своего станка часто возникает потребность визуального контроля процесса или оперативного изменения параметров работы станка. Как это реализовать, если на стандартной панели таких элементов нет? Конечно, сделать эти элементы самостоятельно!
Начнём с простого примера. Нужно контролировать состояние сигналов stepgen.0.enable, stepgen.1.enable и stepgen.2.enable.
Светодиоды! Вот что нам понадобится. Но не настоящие из кремния и пластика, а «нарисованные». 😉
1. Создаём файл с именем ledall.xml
Делаем его в обычном текстовом редакторе.
3. Создаём файл ledall.hal и прописываем в нём:
Теперь мы можем видеть состояние наших двигателей во время работы станка.
Как «прикрутить» свою панель к «стандартной»?
Свою панель вырисовываем в Glade (это такая программа для создания визуальной панели) и сохраняем в папке конфигурации под именем mygui.ui При прорисовывании в Glade брать «кнопки» и «индикаторы», по возможности, из меню HAL_PYTHON
Как «связать» кнопки своей панели с CNC?
Для связи нашей панели с CNC используем пины различных компонентов.
2. В описании EMC2 внимательно читаем о пинах компонента halui Например, Мы хотим на своей панели поставить индикатор «E-STOP». Берем в Glade в разделе «HAL_PYTHON» индикатор LED (он, например, прописал свой пин как hal_led1 Ищем соответствующий пин в halui:
Прописываем в postgui.hal (связываем эти два пина):
Теперь у нас индикатор на панели показывает состояние E-STOP.
Как не запутаться в сложной схеме CNC?
Как только мы начинаем понимать основы LCNC, то начинаем творить!
И натыкаемся на вопрос: как не запутаться в множестве связей? А ведь каждая связь должна иметь своё имя!
Я поступаю так: Даю каждой связи имя по имени выхода компонента (ведь выходы компонентов в LCNC объединять нельзя!). Например: