Технологические возможности фрезерного станка с чпу. Функциональные возможности современных станков с чпу. Способы программирования станков с ЧПУ

Изобретение механического привода позволило освободить человека от физического труда, но управление осуществлялось в ручную. Развитие производства привело к автоматизации. К середине нашего века сложилась система: САУ - система автоматического управления механического типа, т.е. программа управления осуществляется в виде реально существующих аналогов.

Кулачки (муз. Шкатулка):

Физическим носителям информации свойственны 2 недостатка:

    Информация чертежа детали из цифровой превращается в аналоговую в виде сложной криволинейной поверхности, это преобразование связано с потерей информации, а такая материальная форма связана с износом программы-носителя.

    Необходимо изготавливать программы-носители в металле с высокой точностью, и останавливать оборудование на длительный период для осуществления его наладки.

Цифровые системы электронного управления:

ЧПУ - такая система, в которой программа перемещения рабочих органов и технологии команды передаются в управляющую ЭВМ в виде цифровых алфавитных кодов.

Система ЧПУ на всем пути подготовки передачи информации имеет дело только с цифровой ее формой.

Эта форма информации позволяет применять все современные средства микропроцессорной техники, т.е. автоматизировать подготовку самой программы, и быстро менять программное управление. Переналаживание на новую программу станка ЧПУ занимает 1-2 мин.

Генеральное направление современного прогресса -замена всех мех. систем электронными и создание единого цифрового поля.

Конструктивно ЧПУ представляет автономный электронный агрегат, состоящий из: БТК - блок технологических команд; МП - микропроцессор управляет двумя координатами (сейчас до 20).

Различают:

NC(Numeral Control) - числовое управление; система с покадровым чтением перфоленты.

SNC(Stored Numeral Contral) - хранимая программа; управляющая команда считывается 1 раз и по ней осуществляются циклы обработки.

CNC(Computer NC) - устройство ЧПУ со встроенной ЭВМ, которое может хранить одновременно несколько десятков программ, корректировать, редактировать их.

DNC(Director NC) - прямое управление станком от ЭВМ. Управление порядком опер., целым участком.

HNC(Handed NC) - оперативное программное управление; ручной набор данных на пульте управления.

По принципу управления движением различают 3 группы оборудования:

    С позиционной системой ЧПУ, управляется автоматически инструментом от точки к точке, на пути осущ. обработка:(сверлильные станки).

    С контурной системой ЧПУ; перемещение по сложной траектории происходит непрерывно (фрезерные станки).

эквидистант

    С комбинированной системой ЧПУ, сочетает в себе 1 и 2 системы управления, поэтому самая дорогая.

По кол-ву используемого инструмента различают станки:

    С одним инструментом

    Много инструментальные с РГ (револьверная головка управления инструментом) до 12 штук.

    Многоцелевые; снабжены спец. магазином инструментов и манипулятором для смены инструментов (от 12 до 80-120 шт.)

Индексация станков с ЧПУ:

Ц- цикловое управление.

Ф1- цифровая индексация, станок. снабжается простыми устройствами, на экране читается информация (мало используется).

Ф2-позиционное ЧПУ.

Ф3-контурное.

Ф4-комбинированное, также в обозначении используют:

Р-ЧПУ с револьвером.

М-ЧПУ при наличии магазина инструментов (сохраняется индикация точности)

П.В.А.(П - повышенная точность, В - высокая точность, А - особая высокая точность)

6Б76ПМФ4(6-на фрезерном многоцелевом станке, П -повышенная точность, М-с магазином инструментов, 4-комбинированная сис-ма управления).

Главная технологическая особенность станков ЧПУ - на одном станке на одном рабочем месте происходит высокая концентрация обработки. Следовательно, число операций уменьшается в 10-15 раз, за 2-3 операции происходит выполнение всего технологического процесса, длительность операций уменьшается на несколько часов.

Эти особенности накладывают дополнительные условия организации для станков ЧПУ. Сейчас 15-20% от парка составляют станки с ЧПУ.

Ограничение применения ЧПУ: дорогое оборудование со сложной механикой и электроникой. В современном производстве – 15-20% от парка станков с ЧПУ.

В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 7 бит. Однако каждый производитель вносит свои особенности, которые реализуются через подготовительные (G-коды) и вспомогательные (M-коды) функции.

Функции с адресом G – называются подготовительными , они определяют условия работы станка связанные с программированием геометрии перемещения инструмента. Подробное описание G-кодов можно найти в главе код ИСО 7 бит .

В данной главе подробно рассмотрим назначение вспомогательных функций.

Функции с адресом M – называются вспомогательными (от анг. Miscellaneous) и предназначены для управления различными режимами и устройствами станка.

Вспомогательные функции могут использоваться одиночно или совместно с другими адресами, например, кадр ниже производит установку инструмента с номером 1 в шпиндель.

N10 T1 M6, где

T1 – инструмент номер 1;
M6 – смена инструмента;

В данном случае под командой М6 на стойке ЧПУ скрывается целый набор команд, которые обеспечивают процесс замены инструмента:

Перемещение инструмента в позицию смены;
- выключение оборотов шпинделя;
- перемещение устанавливаемого инструмента в магазине;
- замена инструмента;

Использование М-кодов допускается в кадрах с перемещением инструмента, например в строке ниже охлаждение включится (M8) одновременно с началом движения фрезы.

N10 X100 Y150 Z5 F1000 M8

М-коды, включающие какое-либо устройство станка, имеют парный М код, который это устройство выключает. Например,

M8 – включить охлаждение, M9 – выключить охлаждение;
M3 – включить обороты шпинделя, M5 – выключить обороты;

Допускается использование нескольких М команд в одном кадре.

Соответственно чем больше устройств имеет станок, тем больше М команд будет задействовано в его управлении.

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

На картинке выше представлен поворотный шпиндель многоосевого станка. Для увеличения жесткости при позиционной обработке станок оснащен зажимами поворотных осей, которые управляются М кодами: M10/M12 – включить зажимы для осей A и С. М11/М13 – выключить зажимы. На другом оборудовании производитель станка может данные команды настроить на управление другими устройствами.

Список стандартных М команд

M0 – останов программы;
M1 – останов по требованию;
M2 – конец программы;
M3 – включить обороты шпинделя по часовой стрелке;
M4 – включить обороты шпинделя против часовой стрелки;
M5 – останов шпинделя;
M6 – автоматическая смена инструмента;
M8 – включить охлаждение (как правило СОЖ);
M9 – выключить охлаждение;
M19 – ориентация шпинделя;
M30 – завершение программы (как правило со сбросом всех параметров);
M98 – вызов подпрограммы;
M99 – возврат из подпрограммы в основную;

Специальные вспомогательные функции производитель станка описывает в соответствующей технической документации.

На файл htaccess мы сильно отвлекаться не будем, его работа не так уж и сложна, тем более если Вы знакомы с регулярными выражениями в php . Вот, что касается самого модуля ЧПУ, то он представлен в виде двух файлов (ну можно и в один, но у меня почему то получилось два =) ) и "сети условий" по всему движку. Не пугайтесь, под термином "сети условий", я подразумеваю тот геморрой с автоматической смены ссылок по всему движку ! Сегодня мы займемся лишь фундаментом, и добьемся того что бы пост, на странице нашего блога, был доступен по адресу с человеко-понятной ссылкой

Цели я указал в анонсе, так что сейчас пару слов для новоприбывших, и приступим =)

Для тех кто на блоге в первые

Если Вы на блоге в первый раз, то эта маленькая заметка именно для Вас! Пускай тема ЧПУ обширная и применима к любому проекту, Вам, именно в материале на этой странице, будет очень сложно выявить что-то полезное для себя, по причине того, что этот пост, как и большинство на моем блоге, является частью цикла статей "Создать блог с нуля ". Цикл ориентирован на аудиторию которая хочет на практике научится программировать на php. Если Вы из таких, то добро пожаловать! Переходите по ссылке, что я дал Вам выше и приступайте к изучению изложенного мной материала

Если Вы собираетесь задержаться на моем блоге, то подпишитесь на RSS ленту блога через ридер, или же по почте

Новая колонка в таблице базы данных

Так как у нас пока нет модуля который автоматически, из заголовков, делал бы нам имена ссылок, то придется не только создать колонку но и заполнить ее каким-нить именем. Только учтите, что имя должно состоять из маленьких букв английского алфавита , плюс к этому не должно быть пробелов, вместо них ставим тире (-) . Это условие обязательно, ибо скрипт проверки будет отсеивать не правильные адреса, перекидывая пользователя на главную страницу блога.

Заходим в структуры таблицы blog, и после id создаем новую колонку

Заполняем поля приблизительно вот так (имя поля nameurl )

Теперь, необходимо заполнить новую колонку. У меня лишь одна запись в базе данных, поэтому для меня заполнение новой колонки не является проблемой =)

В конце имени необходим поставить ".html". Если у Вас в планах не использовать такое окончание у Ваших страниц, то можете не писать, только в этом случае Вам придется немного переделать файл htaccess , а именно убрать расширение там.

Я для тестовой странице использовал вот такое имя: dobro-pozhalovat.html

Ну чтож, с этой задачей мы справились, теперь приступим к самому файл htaccess

Создаем файл htaccess

Создавать лучше всего с помощью программы Notepad++ , ибо в некоторых случаях виндоус ругается, что у файла нет имени, ведь имени и в правду нет =) только расширение.htaccess

На всякий случай я скину Вам файл, вот он . Этот файл необходимо поместить в корень нашего блога

Содержимое файла следующее:

RewriteEngine on
RewriteRule ^post/([-a-z0-9]+.html)$ index.php?post=$1 [L]
RewriteRule ^category/([-a-z0-9]+.html)$ index.php?category=$1 [L]
RewriteRule ^contacts.html$ index.php?contact=1 [L]

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

http://rsblog.ru/post/dobro-pozhalovat.html

То сервер поймет, что обращение идет к странице с постами, и создаст для себя динамическую ссылку для дальнейшей обработки.

http://rsblog.ru/category/testovaya-kategoriya.html

http://rsblog.ru/contacts.html

Обратите внимание что регулярное выражение находится в скобках, если Вы знакомы с регулярками, то прекрасно знаете, что скобки это сохранение . Вопрос, куда переносятся сохраненные данные? Ответ: В переменную 1. Да, именно 1 (единица).

Если Вам нужны ЧПУ без.html то редактируйте регулярное выражение в файле htaccess, на такой вид ссылок, который Вам нужен!

Особо останавливаться тут не будем, я многое тут не знаю, поэтому долго разглагольствовать на эту тему не имею право, единственное что бы я еще добавил, это пару слов о флаге [L]. Я может и ошибаюсь, но как я понял этот флаг останавливает проверки, что идут ниже, это что-то типа break (прерывание работы всего цикла ) у циклов.

Под итожу то что написано в файле htaccess: Условия, для каждого вида станиц которые есть у нашего движка, а именно

  • для постов
  • для категорий
  • для страницы контактов

Если Вы знакомы с регулярками , то разобраться в файле Вам не составит труда.

php функция chpu() - Алгоритм поиска id записи в таблице базы данных

Начнем с создания алгоритма поиска. Для этого нам понадобится знать в какой таблице искать и что искать . У Вас может возникнуть вопрос, что значит в какой таблице? Ведь таблица у нас одна - blog . Это не совсем так, сегодня мы рассматриваем только посты, но так же нам известно, что у категорий тоже есть свои ссылки, а таблица которая будет содержать имена категорий называется menu , именно поэтому алгоритм должен знать в какой таблице ему искать. Пускай функция chpu() на данном этапе будет работать лишь на половину, зато в следующих постах нам не придется редактировать ее (функцию).

Создаем файл chpu.php помещаем его в пользовательские модули нашего движка, и пишем в этом файле следующую функцию:

function chpu($url,$dirDB)//функция ЧПУ
{
//$url - имя с помощью которого мы определим id
//$dirDB - режим, с помощью которого мы определим в какой таблице базы данных нам искать
//определяем запрос в зависимости от того какую страницу открывает пользователь (текст поста или категорию)
if($dirDB == "post")$sql = "SELECT id FROM blog WHERE nameurl = "$url"";//текст поста
if($dirDB == "category")$sql = "SELECT id FROM menu WHERE nameurl = "$url"";//категория

$result_index = mysql_query($sql);//Выводим из базы статью
$myrow_index = mysql_fetch_array($result_index);

if($myrow_index != "") return $myrow_index;//если найдена строчка в БД выводим id
else return "";//если нет, выводим пустоту
}
?>

Функция очень простая, так что не будет на ней останавливаться, тем более я уже не раз разъяснял логику поиска id в таблице.

Скрипт позволяющий определить какая страница открыта

Цель этого скрипта определить в каком режиме запустить функцию chpu(). Определить это можно по GET запросу который создает нам сервер при обращение к станице по ЧПУ. Если Вы внимательно смотрели содержимое файла htaccess, и приблизительно поняли его работу, то Вы должны догадаться, что сервер для себя определяет ссылку вот такого вида

http://rsblog.ru/index.php?post=dobro-pozhalovat.html

То есть, если пользователь обратился к станице с помощью ЧПУ то сервер создаст GET запрос post, создание такого запроса сигнализирует нам о том что пользователь обратился на страницу поста, стало быть функцию chpu() необходимо запускать в режиме поиска id в таблице blog

Создаем файл getchpu.php, сохраняем его в папке пользовательских модулей и пишем в нем следующий скрипт

if($chpu == 1)//если блог работает в режиме вкл ЧПУ
{
include("moduls/chpu.php");
//GET ПЕРЕМЕННАЯ post
if(isset($_GET["post"]))
{
if(!preg_match("/^[-a-z0-9]+\.html$/",$_GET["post"]))//если имя не корректное,то переносим
{
exit;
}
$blog = chpu($_GET["post"],"post");//по имени страницы достаем из бд id
if($blog == "")//если результат функции пустота, то переносим пользователя
{
header("location: ".$server_root);//на главную страницу
exit;
}
}
//GET ПЕРЕМЕННАЯ post
//GET ПЕРЕМЕННАЯ category
if(isset($_GET["category"]))
{
if(!preg_match("/^[-a-z0-9]+\.html$/",$_GET["category"]))//если имя не корректное,то переносим
{
header("location: ".$server_root);//на главную страницу
exit;
}
$cat = chpu($_GET["category"],"category");//по имени страницы достаем из бд id
if($cat == "")//если результат функции пустота, то переносим пользователя
{
header("location: ".$server_root);//на главную страницу
exit;
}
}
//GET ПЕРЕМЕННАЯ category
}
?>

Логика скрипта следующая:

  • Скрипт будет работать только в случае если блог работает в режиме вкл ЧПУ, то есть переменная chpu равна единице (это сделано для того чтобы режимы можно было поменять воздействуя лишь на одну переменную )
  • Далее подключается функция поиска id в базе данных
  • Дальше идут два варианта развития, и оба они работают по той же логике, то есть если существует GET запрос post или category то запускается проверка на корректность имени. Эта проверка поможет избежать простейших способов взлома нашего движка . Если проверка прошла успешно (если же нет, то нас перекинет на главную страницу ) запускается функция chpu(), тем самым в переменную blog или cat (в зависимости от того какая часть скрипта будет работать =) ) попадет id записи в базе данных. Если переменная пустая, то нас перекинет на главную страницу.

Тут есть один момент. Если Вы писали движок с самого начала курса, то у Вас скорее всего нет переменной server_root. Если Вы ставили копию движка, что я давал в посте "Установка нашей CMS ", то эта переменная у Вас есть.

Если у Вас нет этой переменной, то откройте пользовательский файл index.php, и сразу после подключение к базе данных пропишите эту переменную


$nameDB = "rsblog";//Название БД
$nameSERVER = "localhost";//Сервер
$nameUSER = "root";//Имя пользователя БД
$passUSER = "";//Пароль пользователя БД
mysql_select_db($nameDB, mysql_connect($nameSERVER,$nameUSER,$passUSER));

$server_root = "http://адрес_вашего_блога.ru/";
//ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ (БД)

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

вставляем вот такой тег

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

Заключение

Теперь при заходе на страницу http://rsblog.ru/post/dobro-pozhalovat.html я попадаю на страничку статьи

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

Если у Вас есть какие вопросы, то пользуйтесь формой ниже

Если Вы еще не подписаны на мой блог, исправляйте дело и подпишитесь на RSS ленту блога через ридер, или же по почте , так Вы точно не пропустите новые заметки на блоге

Всего Вам наилучшего! У меня Все!

P.S.: В интернете нашел подборку довольно не плохих статей на тему веб-дизайн , если кто-то видит себя в будущем как дизайнера, то обязательно почитайте эти статьи, очень полезная информация.

Это автоматизированное устройство для работы с заготовками и получения готовых продуктов из разных материалов (камень, стекло, пластик, металл, дерево и пр.). Принцип работы фрезерного станка зависит от ряда параметров: вид операции (черновая или чистовая резка), используемого инструмента (модели фрезы), формы готового изделия (цилиндр, квадрат, плоское, трехмерное). Так же немало важную роль играет и конструкция устройства, его системы охлаждения, высоты портала, его длины и ширины.

Обработка

Фрезеровка прочных материалов (камень, металл) происходит на очень высокой скорости - от 25 до 30 тысяч оборотов в минуту. Менее прочные материалы (заготовки из дерева) обрабатываются при скорости - 18 тысяч оборотов в минуту. А совсем мягкие изделия, такие как, пластик и стекло, чаще всего обрабатываются при 4 - 5 тысяч оборотов в минуту. Возможность изменять скорость вращения шпинделя осуществляется с помощью инвертора в конкретном техническом пр. Обратите внимание, что сильное снижение скорости вращения уменьшает крутящий момент на валу шпинделя. Это возможно компенсировать, используя инвертор, но только частично, поддерживая крутящий момент (специальная функция).

Дополнительные опции

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

Если необходимо изготовить более сложное, фигурное изделие (например, балясину) на фрезерных станках устанавливается поворотное устройство.

Во время чистовой фрезеровки деталей, чтобы получить гладкую поверхность и края резки используются однолезвийные спиральные фрезы.

При фрезеровке твердых материалов (гранита, металла) происходит сильный нагрев шпинделя и самой фрезы. Системы охлаждения бывают разных типов:

  1. Поток под давлением направляет жидкость на саму фрезу.
  2. Распыление масла в виде тумана «масляный слой».

Размеры рабочей поверхности и высота портала выбирают исходя их габаритов обрабатываемой заготовки. Соответственно рабочий стол фрезерного станка с ЧПУ должен быть больше размеров обрабатываемой заготовки. Расчет высоты портала (параметры оси Z) высчитывается из расстояния от верхней точки рабочей поверхности до расположения фрезы на шпинделе. Высоту необходимо выбрать из максимальной толщины обрабатываемых материалов, учитывая при этом запас. Устанавливая поворотный механизм учитывайте, для обработки вращающихся заготовок, что высота портала должна быть не меньше 150 мм.

Станины станка

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

Большой выбор фрезерных станков с ЧПУ в нашем Интернет-магазине

Хотел бы поведать вам о своем проекте, чтобы бы узнать мнение о нем. Обоснованная критика и пожелания приветствуются с распростертыми объятиями. Если появится интерес, напишу серию статей о том, как проект создавался, поделюсь крупицей своего опыта. Итак, начнем.

Недавно пришла идея по созданию полностью открытого проекта универсальной 3-координатной платформы, которая может выполнять функционал и 3d-принтера, и фрезерного станка для обработки пластика и многого другого. Платформа построена по модульному типу. Это означает, что в ней полностью взаимозаменяемые привода перемещения кареток и инструмент. Назвали мы эту штуку «Платформа RRaptor». В дальнейшем приведу ряд изображений и фотографий проектных моделей и того, что уже получилось реализовать.


А вот что получилось в реальности. И да. Винт на координате Y не закреплен

Посмотрим, что означает модульность в контексте проекта. Например, мы хотим получить 3d-принтер: ставим соответствующие привода + печатающий блок (одновременно можно поставить 3 блока) - и готово. Можем печатать свои детальки. По разным причинам для печати на платформе используются передачи «шестерня-рейка» с шаговым двигателем.


На моделе показан установленный привод «шестерня-рейка» на координату Y

Или же нам понадобилось фрезеровать что-нибудь. Тогда установим привода типа «винт-гайка» с шаровым мотором NEMA23 и фрезу. Готово! Мы экспериментировали с различными винтами. Начиная от «колхоза», типа обычной шпильки и заканчивая высококачественными ШВП. Есть возможность установки на платформу различных типов винтов. Зависит от бюджета станка. Варианты фрезерного шпинделя тоже варьируется от стандартных бормашин до нашего варианта небольшого и компактного шпинделя для фрезеровки пластика (который еще только на стадии чертежей). На данный момент в наших тестах мы используем бормашину на алюминиевой стойке мощностью 650Вт.


Вот вам и фрезерный станок для пластика


Он еще и складывается

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

Следующая важная составляющая проекта - блок управления. Там расположена вся электронная начинка. Не вдаваясь в подробности, что там есть (как уже сказал, будет интерес - все распишу в отдельных статьях), отмечу основную его особенность. Этот блок управления может «рулить» сразу несколькими платформами одновременно. Это позволит создать небольшую инфраструктуру из устройств (точнее платформ), выполняющих различные функции, централизованно их контролируя (наверно громко сказано, но все же…). Блок тоже модульный. Его начинка варьируется. Можно добавлять различные интерфейсы коммуникации: wi-fi, Bluetooth, ethernet, и т. д. Что душе угодно.


Фото корпуса блока управления

Софт - это отдельная эпопея. Писали мы его (и пишем) с чистого листа. Абсолютно все, начиная от алгоритмов вращения шаговиком, заканчивая приложением на андройда-смартфоне - наша работа. Я не говорю, что мы придумали что-то инновационное и новое. Хотя ключевые отличия от аналогов (например, прошивки Marlin) есть. Я лишь хочу акцентировать внимание на то, что отнеслись мы к проекту и идее в целом очень серьезно. И, надеюсь, что сможем до конца реализовать. А именно - серийно выпускать такие платформы.


Это наш первый прототип. Сделали на его базе плоттер для самых первых тестов

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


Первая серия на 5 штук

Надеюсь (точнее уверен), ваши отзывы, мнения и замечания нам помогут. К сожалению, описать и показать многие детали проекта в одной статье просто нереально. Но надо с чего-то начинать.

Спасибо за внимание.