Как программируют станки на заводах

Как программируют станки на заводах

От токарных до лазерных

Программисты востребованы везде, даже на производстве. Дело в том, что изготавливать каждую деталь вручную долго, поэтому нужна автоматизация. А где автоматизация, там программы и алгоритмы. Сегодня покажем вам направление в ИТ, о котором мы ещё не говорили: программирование станков с ЧПУ.

Как программируют станки на заводах
Токарный станок с ЧПУ, который вытачивает детали из металла.

Что такое станки с ЧПУ

Чтобы понять, что такое станок с ЧПУ, нужно сначала понять, что такое обычный станок, например токарный. У тебя есть некая металлическая заготовка, например цилиндр. Ты закрепляешь его на станке. Место закрепления начинает вращаться (это место называют шпинделем), вместе с ним вращается закреплённая заготовка, а токарь с помощью специального резца может вырезать из заготовки деталь нужного размера и формы. Пока что всё вручную. 

Теперь берём этот же станок, но делаем так, чтобы резцы ездили сами в разных плоскостях. Вешаем всевозможные датчики — скорости вращения, температуры и нажима. И делаем так, чтобы деталь вытачивал не токарь, а сам станок. 

Чтобы управлять таким автоматическим станком, нужен некий управляющий модуль — который заставит заготовку вращаться, а резцы ездить в нужные стороны. Вот этот блок и называют блоком ЧПУ — числового программного управления. 

Каждый блок ЧПУ соединён со всеми основными частями станка, чтобы ими можно было управлять или контролировать их состояние. Например, в токарном станке ЧПУ будет следить:

  • за скоростью вращения заготовки,
  • направлением вращения,
  • положением резцов,
  • температурой режущей кромки,
  • температурой детали,
  • силой нажима резца на деталь,
  • перемещениями резцов и направляющих.

Блоки ЧПУ нужны для того, чтобы автоматизировать работу станка. Ты программируешь, что куда должно ездить и как вращаться, а станок это исполняет. 

Что на производстве можно запрограммировать

Запрограммировать можно всё, в чём есть блок ЧПУ — хоть станок для работы по дереву, хоть установку для лазерной резки, хоть манипулятор с точечной сваркой. Главное, чтобы нужные части производственного агрегата были снабжены приводами и датчиками.

Привод — это то, что заставляет что-либо двигаться. Например, чтобы сделать роборуку, н​​ужно 5–6 приводов, которые будут приводить в движения сочленения роборуки. Приводу можно сказать: «Разогнись на столько-то градусов» или «Повернись так-то», и он будет приводить в движение то, что к нему присоединено. 

Датчик — это штука, которая собирает какие-то данные. Например, скорость вращения, температуру, нажим, угол сгиба. Благодаря датчикам можно сказать: «разгибай привод такой-то, пока не почувствуешь датчиком нажима такую-то силу нажима». 

Как пишутся программы для ЧПУ

Есть два варианта: автоматически создать программу из макета детали или написать её с нуля.

Чаще всего используют первый вариант — сначала рисуют в деталь в 3D (для этого есть специальный софт), а потом программа сама формирует нужный код для станка, чтобы получилась нарисованная деталь. Минус такого подхода в том, что код может получиться неоптимальным: будет выполняться слишком долго или в процессе получается много отходов.

Как программируют станки на заводах
Трёхмерная модель детали, на основе которой будет сгенерирован код для станка.

Второй подход — написать программу вручную с нуля. Для этого нужно идеально знать все параметры станка и возможные состояния каждого датчика. Это сложнее, зато даёт больший контроль над тем, как изготавливается деталь.

На практике обычно делают так: рисуют трёхмерную модель, выгружают на основе неё код для ЧПУ, а потом дорабатывают его, если требуется.

Как программируют станки на заводах
Программа сгенерировала код для станка, который можно сразу поправить, если нужно.

На чём пишут такие программы

Код для станков с ЧПУ пишут на языке программирования G-code. Это относительно общий стандарт для всех станков с ЧПУ, но детали, коды и последовательности у разных производителей отличаются. Проще говоря, нельзя просто так перенести программу со станка одной фирмы и запустить на станке другой фирмы — команды могут не совпасть.

Язык G-code так называется потому, что в нём почти все команды начинаются с буквы G, за которой идут числа — команды для станка. Ещё есть буква M — она используется для обозначения дополнительных кодов и O — для подпрограмм. Но это деление условно и может меняться у каждого производителя станков.

Как выглядит программа для ЧПУ

Если мы заглянем в код, то увидим такое:

N1 G17 G20 G34 G40
N2 T1 M16
N3 S8600 M2
N4 G54
N5 M8

N-код отвечает за номер строки — они могут пригодиться, если нам нужно перепрыгнуть на какую-то определённую строку или пропустить часть команд. M отвечают за детали, например, команда N3 S8600 M2 означает, что нужно раскрутить рабочий шпиндель (за него отвечает M2) до скорости 8600 оборотов в минуту (команда S8600).

Так команда за командой станок выполняет определённые действия, и на выходе получается нужная нам деталь. 

Особенность программирования станков

В отличие от компьютера, где для каждой программы и переменной выделяется новый и пустой участок памяти, в станках всё по-другому. Дело в том, что программа в момент запуска не знает, в каком положении находятся резцы, закреплены ли направляющие и так далее. Если просто запустить программу без подготовки, ЧПУ, например, может подвинуть ещё левее резец, который и так находится в самом левом положении, и тогда может сломаться привод или крепление резца.

Чтобы такого не было, перед каждым запуском в программу встраивают команды обнуления и инициализации, чтобы каждый элемент вернуть в исходное положение. Это лучше, чем просто проверить, что где находится — после обнуления мы точно будем знать, что все элементы станка находятся в известной нам позиции и программа сможет с ними правильно работать.

Также важно понимать, что станки работают с живым материалом: металлом, деревом, акрилом, камнем и т. д. Материал несовершенен, может иметь внутренние дефекты, может плавиться и трескаться. Резцы и шпиндели тоже сделаны из каких-то материалов, у которых есть пороги нагрева, прочности и скорости. Если в компьютерном коде ошибиться и вызвать переполнение памяти, то компьютер просто зависнет. Ты его перезагрузишь, и всё. А у станка можно сломать резец или повредить шпиндель. А стоит это хозяйство будь здоров. 

Получается, это такое же программирование и алгоритмы, как и на других языках?

Независимо от того, программируем ли мы сервер или станки на заводе, в основе всего лежат алгоритмы: логика работы, переменные, циклы, подпрограммы и проверки условий. Поэтому если вы знаете, как устроены алгоритмы и можете программировать на любом языке программирования, то и освоить программирование для ЧПУ будет намного проще.

Главное — не перегрейте резец.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Никита Кучеров

Соцсети:

Олег Вешкурцев

Веб-разработка — это новый черный
А мы знаем толк в моде и поможем освоить новую специальность за полгода.
Посмотреть
Фронтенд — это новый черный
Еще по теме
prev
next
«Никто не верил, что я сама пишу код»

Анастасия Никулина: о дата-сайнс, ютубе и программировании.

Бустинг — ещё один способ машинного обучения

Как с помощью слабых алгоритмов сделать сильный.

Как быстро освоить новую технологию
Как быстро освоить новую технологию

Пробуем метод разработчика из Яндекс.Практикума.

Объяснение асимметричного шифрования без математики
Объяснение асимметричного шифрования без математики

Чтобы лучше понять принцип работы.

Как программируют Arduino

Многие думают, что на языке Wiring, но на самом деле…

Как на microSD-карточке помещается 1 терабайт?

И это не предел.

Классы и функции
Классы и функции

Что и когда лучше использовать, чтобы писать хороший код.

Как подготовить резюме для крупной компании?

Инструкция новичкам от разработчика из Яндекс.Практикума.

Растровая и векторная графика: это как?
Растровая и векторная графика: это как?

Как-нибудь так…

Зачем устанавливать Ubuntu
Зачем устанавливать Ubuntu

3 причины попробовать.

Зачем нужны парсеры
Зачем нужны парсеры

И как стащить с сайта что угодно.

Объясни мне: как устроен интернет
Объясни мне: как устроен интернет

Часть 1: Компьютеры и сеть.

Как работает сканер отпечатка пальца
Как работает сканер отпечатка пальца

Удобно, но не всегда безопасно.

easy