- Getting LinuxCNC
- 1. Download the image
- 1.1. Normal Download
- 1.2. Download using zsync
- 1.3. Verify the image
- 2. Write the image to a bootable device
- LinuxCNC обзор принципа работы и интерфейсов.
- 1. Как работает LinuxCNC
- 2. Графические пользовательские интерфейсы LinuxCNC
- Операционная система linux cnc
- LinuxCNC 2.8 Downloads
- LinuxCNC Packages
Getting LinuxCNC
This section describes the recommended way to download and make a fresh install of LinuxCNC. There are also Alternate Install Methods for the adventurous. If you have an existing install that you want to upgrade, go to the Updating LinuxCNC section instead.
Fresh installs of LinuxCNC are most easily created using the Live/Install Image. This is a hybrid ISO filesystem image that can be written to a USB storage device or a DVD and used to boot a computer. At boot time you will be given a choice of booting the «Live» system (to run LinuxCNC without making any permanent changes to your computer) or booting the Installer (to install LinuxCNC and its operating system onto your computer’s hard drive).
The outline of the process looks like this:
- Download the Live/Install Image.
- Write the image to a USB storage device or DVD.
- Boot the Live system to test out LinuxCNC.
- Boot the Installer to install LinuxCNC.
1. Download the image
This section describes some methods for downloading the Live/Install Image.
1.1. Normal Download
For x86 PCs Download the Live/Install CD by clicking here:
For the Raspberry Pi a complete SD card image is available here:
This can be installed using the normal Pi install process including with the Raspberry Pi Imager app.
This SD image is reported not to work with the Raspberry Pi4 8GB model. Note also that this version of the SD image limits available memory to 3GB as this is necessary to persuade it to run with both WiFi and USB working on some versions of the Pi. You can experiment with removing this limit by editing the config-rt.txt file in the boot directory. If you can’t boot after the change then the file can be edited back by mounting the SD card in a a different computer (maybe even a Pi with a USB card reader)
1.2. Download using zsync
zsync is a download application that efficiently resumes interrupted downloads and efficiently transfers large files with small modifications (if you have an older local copy). Use zsync if you have trouble downloading the image using the Normal Download method.
sudo apt-get install zsync
zsync http://www.linuxcnc.org/iso/linuxcnc-2.8.4-buster.iso
zsync http://www.linuxcnc.org/iso/linuxcnc-2.8.1-pi4.zip.zsync
There is a Windows port of zsync. It works as a console application. It can be downloaded from:
1.3. Verify the image
(This step is unnecessary if you used zsync)
md5sum linuxcnc-2.8.4-buster.iso
sha256sum linuxcnc-2.8.4-buster.iso
md5sum: 8a6e6abd2c792c3e06fbee0ed049ed41 sha256sum: 0bfeac3ddfe1bdbf5ca4dad84eeec165741d3f253a16b75e4405c06b7b489700
Windows and Mac OS X do not come with an md5sum program, but there are alternatives. More information can be found at: How To MD5SUM
2. Write the image to a bootable device
The Raspbery Pi image is a completes SD card image and should be written to an SD card in the normal way
The LinuxCNC Live/Install ISO Image is a hybrid ISO image which can be written directly to a USB storage device (flash drive) or a DVD and used to boot a computer. The image is too large to fit on a CD.
- Connect a USB storage device (for example a flash drive or thumb drive type device).
- Determine the device file corresponding to the USB flash drive. This information can be found in the output of dmesg after connecting the device. /proc/partitions may also be helpful.
- Use the dd command to write the image to your USB storage device. For example, if your storage device showed up as /dev/sde , then use this command:
dd if=linuxcnc-2.8.4-buster.iso of=/dev/sde
LinuxCNC обзор принципа работы и интерфейсов.
LinuxCNC — это набор настраиваемых приложений для управления станками с числовым программным управлением (ЧПУ), 3D-принтерами, роботами, лазерными резаками, плазменными резаками и другими автоматизированными устройствами.
1. Как работает LinuxCNC
LinuxCNC способен обеспечить согласованное управление по 9 осям движения. По своей сути программа состоит из нескольких ключевых компонентов, которые объединены вместе и образуют единую целостную систему:
- графический интерфейс пользователя (GUI), который образует основной интерфейс между оператором, программным обеспечением и самим станком с ЧПУ;
- уровень аппаратной абстракции (HAL), который обеспечивает метод связывания всех различных внутренних виртуальных сигналов, генерируемых и принимаемых LinuxCNC, с внешним миром;
- контроллеры высокого уровня, которые координируют создание и выполнение управления движением станка с ЧПУ, а именно контроллер движения (EMCMOT), контроллер дискретного ввода / вывода (EMCIO) и исполнитель задач (EMCTASK).
На иллюстрации ниже представлена простая блок-схема, показывающая, как может выглядеть типичный 3-осевой фрезерный станок с ЧПУ с шаговыми двигателями:
Компьютер под управлением LinuxCNC отправляет последовательность импульсов через параллельный порт на шаговые приводы, к каждому из которых подключен один шаговый двигатель. Каждый привод получает два независимых сигнала; один сигнал, чтобы дать команду приводу перемещать связанный с ним шаговый двигатель по часовой стрелке или против часовой стрелки, и второй сигнал, который определяет скорость, с которой этот шаговый двигатель вращается.
Проиллюстрированная система шагового двигателя под управлением параллельного порта, система LinuxCNC также может использовать преимущества широкого спектра специализированных аппаратных интерфейсов управления движением для увеличения скорости и возможностей ввода-вывода.
В большинстве случаев пользователи создают конфигурацию, специфичную для настройки своего станка с ЧПУ, используя либо Stepper Configuration Wizard (для систем ЧПУ, работающих с параллельным портом компьютеров), либо Mesa Hardware Wizard (для более продвинутых систем, использующих Mesa Anything I / O PCI карта). Запуск любого из мастеров создаст несколько папок на жестком диске компьютеров, содержащих ряд файлов конфигурации, специфичных для этого станка с ЧПУ, и значок, расположенный на рабочем столе, чтобы облегчить запуск LinuxCNC.
Например, если мастер настройки шагового двигателя использовался для создания настройки для 3-осевого фрезерного станка с ЧПУ, показанного выше и названного My_CNC, папки, созданные мастером, обычно будут содержать следующие файлы:
- Папка: My_CNC
- My_CNC.ini
- Файл INI содержит всю основную информацию об оборудовании, касающуюся работы фрезерного станка с ЧПУ, такую как количество шагов, которые каждый шаговый двигатель должен повернуть, чтобы совершить один полный оборот, максимальная скорость, с которой может работать каждый шаговый двигатель, пределы перемещения каждой оси или конфигурации и поведения концевых выключателей на каждой оси.
- Этот файл HAL содержит информацию, которая сообщает LinuxCNC, как связать внутренние виртуальные сигналы с физическими соединениями за пределами компьютера. Например, указание вывода 4 на параллельном порту для отправки сигнала направления шага оси Z или указание LinuxCNC прекратить движение двигателя оси X при срабатывании концевого выключателя на выводе 13 параллельного порта.
- Настройки конфигурации фрезера, выходящие за рамки мастера, могут быть выполнены путем включения дополнительных ссылок на другие виртуальные точки в LinuxCNC в этот файл HAL. При запуске сеанса LinuxCNC этот файл читается и обрабатывается до загрузки графического интерфейса. Пример может включать в себя инициирование связи Modbus с двигателем шпинделя, чтобы он был подтвержден как работоспособный до отображения графического интерфейса пользователя.
- Файл custom_postgui HAL допускает дальнейшую настройку LinuxCNC, но отличается от custom.HAL тем, что он обрабатывается после отображения графического интерфейса пользователя. Например, после установления связи Modbus с двигателем шпинделя в custom.hal LinuxCNC может использовать файл custom_postgui, чтобы связать считывание скорости шпинделя с моторного привода с гистограммой, отображаемой в графическом интерфейсе пользователя.
- Он предоставляется в качестве резервной копии файла custom_postgui.hal, чтобы пользователь мог быстро восстановить ранее работавшую конфигурацию postgui HAL. Это особенно полезно, если пользователь хочет снова запустить Мастер настройки под тем же именем My_CNC, чтобы изменить некоторые параметры станка. Сохранение конфигурации в мастере перезапишет существующий файл custom_postgui, а файл postgui_backup останется нетронутым.
- Файл таблицы инструментов содержит параметризованный список любых режущих инструментов, используемых на фрезерном станке. Эти параметры могут включать диаметр и длину фрезы и используются для предоставления каталога данных, которые сообщают LinuxCNC, как компенсировать его движение для инструментов разного размера в рамках операции фрезерования.
- Папка nc_files предоставляется как место по умолчанию для хранения программ G-кода, используемых для управления станком с ЧПУ. Он также включает ряд подпапок с примерами G-кода.
2. Графические пользовательские интерфейсы LinuxCNC
Графический пользовательский интерфейс — это часть LinuxCNC, с которой взаимодействует оператор станка. LinuxCNC поставляется с несколькими типами пользовательских интерфейсов, которые можно выбрать, отредактировав определенные поля, содержащиеся в файле INI:
Axis — стандартный графический интерфейс клавиатуры. Это также графический интерфейс по умолчанию, запускаемый, когда мастер настройки используется для создания средства запуска значков на рабочем столе:
Touchy — графический интерфейс с сенсорным экраном:
Операционная система linux cnc
This page links to installers that will create a full, new Linux installation.
For alternative installation methods, or instructions on installing these files see: Getting LinuxCNC
LinuxCNC 2.8 Downloads
LinuxCNC requires a realtime kernel if it is to be used to control machinery. There are two versions of the package, “linuxcnc-uspace” and “linuxcnc”
“linuxcnc-uspace” is compatible with the preempt-rt realtime kernel, which is close to standard Linux. This version runs in userspace like most other applications and will run with any preempt-rt kernel.
“linuxcnc-uspace” will also run on a standard Linux kernel for use as a simulator, but it should not be used to control hardware.
“linuxcnc” (without a suffix) is a package which runs in kernel space and needs a specific RTAI kernel, which we also supply. (ie the exact kernel version installed must match that which the package was built against.) This has been the default mode for linuxcnc for decades, but has become increasingly difficult to maintain. This mode is currently less stable than the uspace option (but only when unloading, it appears stable once realtime is running) but can give much better latency on some machines. Note that it is only parallel-port controlled systems using software-based stepping and/or encoder counting that need particularly good latency performance.
It is also possible to run linuxcnc-uspace, in user-space, with the RTAI kernel if the helper package “linuxcnc-uspace-rtai” is installed. This is something of a half-way house between the other two versions. A similar package can be built for the Xenomai realtime kernel, but is not available as a pre-built package.
The Debian 10 Buster ISO will install a full Debian system with the required realtime kernel and the linuxcnc-uspace application. It uses a PREEMPT-RT patched kernel 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.
The more adventurous can install the Buster ISO and then install the experimental RTAI kernel as described in 2.8 documents The kernel-mode RTAI installation can not be used with Mesa Ethernet-interfaced cards.
Raspberry Pi 4 Uspace compatible with Mesa Ethernet and SPI interface boards.
Regular development builds (several times a day) can be found here.
More information on downloading and installing is in the LinuxCNC Documents
LinuxCNC Packages
LinuxCNC debian packages aka .deb files can be installed on a system with dpkg from the command line or with GDebi as a graphical install method. You will need to have a compatible realtime kernel to control machinery.
LinuxCNC: an open source CNC machine controller. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more.
All interactions in the LinuxCNC community are governed by the Code of Conduct
LINUX® is the registered trademark of Linus Torvalds in the U.S. and other countries. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The LinuxCNC project is not affiliated with Debian. Debian is a registered trademark owned by Software in the Public Interest, Inc.
The LinuxCNC project is not affiliated with UBUNTU. UBUNTU is a registered trademark owned by Canonical Limited.
- My_CNC.ini