Создадим новый проект, откроется окно для моделирования вида и содержания приложения, с надписью в поле заголовка Form1. Добавим в это окно несколько элементов.
Из панели Standard добавим элемент TComboBox – для выбора номера COM-порта, элемент TButton – по нажатию кнопки будет происходить подключение к COM-порту, 4 элемента TRadioButton – для включения/выключения привода вентилятора и выбора режимов, 2 элемента TPanel – для группировки элементов TRadioButton, элемент TImage – для добавления логотипа или любой другой картинки. Перейдем к вкладке элементов Additional и добавим элемент TApplicationEvents – для осуществления реакции приложения на действия пользователя. Теперь выберем вкладку элементов Win32 и выберем элемент TTrackBar – для управления поворотом сервопривода. В результате добавление вышеописанных элементов и изменения надписей к ним получится окно пользовательского приложения, представленное на рис. 13.
Как сделать управляющую программу G CODE в FreeCad для фрезерного ЧПУ станка
Рис. 13. Вид окна пользовательского приложения: 1 – TComboBox; 2 – TButton; 3 – TRadioButton; 4 – TPanel; 5 – Timage; 6 – TapplicationEvents; 7 – TtrackBar
Займёмся написанием кода программы.
При переходе на страницу с кодом нажатием кнопки «Toggle Form/Unit» – , можно увидеть код следующего содержания (рис. 14).
Рис. 14. Начало программы
Словом var начинается секция описания переменных. В этой секции опишем переменные необходимые для работы COM-порта и поворота сервопривода, как показано в листинге №5.
Источник: myrobot.ru
Управляем автоматом на Groovy/Java. Как ЧПУ станку в домашней мастерской не превратиться в мульт героев «двое из ларца»
Поговорим на темы от труда и работы, станков, автоматизации на java/groovy до прогнозов о будущем человечества.
Узнаете про персональное автоматизированное производство в домашней мастерской, как идея творца превращается в готовое изделие. Рассмотрим подход по отправке G-code инструкций из JVM и groovy/java на исполнение ЧПУ станку для автоматизации того, чего нет в системе «из коробки».
Надеюсь, эта публикация будет познавательна программистам работающих с JVM, тем кто интересуется темой IoT, кому не чуждо мастерить, кто думает о покупке 3D принтера, кто делал прототип какой-либо системы и запускал ПО на Raspberry PI/Beagleboard Black. То про что расскажу, можно повторить используя open source software и open hardware.
По мотивам моего мини-доклада на конференции «Разработка ПО» (SECR-2016). А также опыта как в аппаратной, так и в программной части.
Видеозапись доклада.
Огромное спасибо Стасу Фомину belonesox за профессиональную видеозапись и оперативный монтаж.
Предисловие
Обращение к слушателям.
Очень подробная инструкция по написанию УП в ArtCAM 2018
Доброе утро, уважаемые слушатели. Всем спасибо что проснулись и пришли утром выходного дня. Я вас рад видеть в зале! На доклад у нас с вами не так много времени, поэтому секции вопросов-ответов в зале не будет, но можете подойти и задать вопросы после доклада. На последнем слайде есть адрес электронной почты по которому я также отвечу.
Мне очень важно ваше мнение о докладе. В ближайшее время планирую провести митап, где практически можно будет попробовать сделать то о чем я сейчас буду рассказывать теоретически и поуправлять ЧПУ. Это будет открытое/бесплатное мероприятие и кто будет в Москве, может присоединиться.
Я надеюсь в ближайшее время найду помещение, подготовлю примеры и на meetup.com размещу информацию о месте проведения. Кому интересно, можете написать на адрес электронной почты и я вам вышлю оповещение о событии. Примечание к статье: конечно же опубликую результаты этой встречи для читателей habrahabr и вы можете поучаствовать в ней.
Начнем доклад на тему «Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ларца”». Кто смотрел и помнит о чем этот мультфильм?
Голоса из зала: «Все смотрели»
Отлично, значит вы приблизительно знаете о чем я буду рассказывать. А в в конце доклада попробуем программно управлять автоматом на Java и Groovy.
Еще вопрос залу. Кто постоянно использует станки с ЧПУ, кто работает инженером, конструктором, технологом производства? Слышу отрицательные ответы из зала. Значит мне будет гораздо проще и не потроллите. Людям которые каждый день используют эти технологии в промышленности может стать смешно от стоимости инструментария, глубины погружения в тему и моего стиля изложения.
Станки с ЧПУ
Что мы знаем с вами о работе? Работа и труд человека всегда происходил двумя способами.
Либо вы управляете тем кто работает, либо впрягаетесь и делаете работу вместе со всеми — вместе тянете одну «лямку».
На этой картинке не учли, что появились более удобные инструменты благодаря изобретателям и инженерам.
Технологии которые упрощают труд, делают жизнь гораздо приятнее и позволяют заниматься людям интеллектуальными вещами, а работу оставить для машин.
Все наверное помнят, как мальчик из мультфильма «Вовка в Тридевятом царстве» хотел чтобы его желания исполнялись, но при этом ничего не хотел делать сам и не хотел ничему учиться.
В тридевятом царстве попал он к двоим из ларца, одинаковых с лица. Они были исполнительными и делали за него все, но совсем не так как ему было нужно.
Также вы наверное помните вот этих двоих.
Гриф звал страуса с собой туда, где много вкусного. Когда страус побежал, гриф остановил его и сказал фразу «Лучше день потерять, потом за пять минут долететь». Делая часто повторяющуюся работу нужно подумать не проще ли потерять «день» на ее автоматизацию.
Технологии, про которые мы сейчас будем говорить — семядисятых годов XX века. Это станки, которые управляются с помощью программ, которые хранятся в памяти. Раньше это были перфокарты, в последнее время это флеш накопители. На производстве автоматы бывают самых разных размеров, различных кинематических схем и могут быть оборудованны различными инструментами, которые выполняют обработку материала.
В домашней мастерской все более прозаично. В основном станки — ассортимент с Aliexpress либо наших импортеров «производителей» ребрендинга из поднебесной. Можно приобрести все что угодно, а можно собрать самостоятельно купив запчасти.
Если вам жалко время и деньги, нет опыта и доступа к станкам для изготовления рамы и портала, то проще купить готовый. С другой стороны собрать самому — очень интересный опыт. Есть еще проекты Shapeoko, MechMate CNC Router, Zenbot CNC и т.п.
Что можно делать на ЧПУ станке и зачем он может быть нужен в мастерской? Можно выполнять работы по дереву, изготовить декоративные панели для ремонта. Или у вас возникла творческая мысль и ее результат не продается в готовом виде. Еще можно сделать деталь для ремонта какой-либо бытовой аппаратуры.
Например, запчасть для чайника или отпаривателя из цветных металлов и запчастей для ремонта нет в продаже и сервис центрах. Можно делать на одном станке запчасти для другого ЧПУ как и в случае 3D принтера, но не ограничиваясь пластиком, как материалом для изготовления деталей.
С программной точки зрения почти нет разницы между ЧПУ, 3D принтером или плоттером. Отличается рабочий инструмент, но при этом многие 3D принтеры управляются, как и большие промышленные станки тем же самым языком комманд.
Вспоминая мультфильм, где страус бегал и не мог взлететь. Гриф говорит что крылья лучше, страус говорит что ноги. В конце мультфильма появляется ящерица и говорит что главное — это хвост. Её хвост спас ей жизнь в начале. Прошу вас, когда работаете с ЧПУ помнить об опасности жизни и здоровью и соблюдать технику безопасности!
ЧПУ содержат режущий инструмент, массивные перемещающиеся и вращающиеся части.
Электрический привод таит в себе опасность при контакте с корпусом, если нарушена изоляция. Даже не пытайтесь тушить работающий электропривод водой не обесточив его.
От модели до G-code
Почти каждый ЧПУ станок управляется с помощью G-code. Это текстовый формат комманд и данных, который принят как международный стандарт. Но конкретные реализации для автоматов разных производителей содержат расширения, которые могут сделать управляющие программы не переносимыми на другой автомат.
Управляющая программа на этом слайде фрезерует треугольник на плоскости.
G21 говорит что единицы измерения в программе будут в миллиметрах.
M3 Включает шпиндель c заданной скоростью вращения S.
G0 перемещает рабочий инструмент на холостом ходу с линейной интерполяцией от текущей координаты к указанным в команде.
G1 также использует линейную интерполяцию, но это режим обработки, где F указывает скорость подачи.
М5 останавливает шпиндель.
M2 завершает программу
Ничего сложного в этом примере нет, но G-code на практике редко пишут вручную. Обычно создается модель в каком-либо виде и на ее основе создается управляющая программа.
Можно создать контуры в векторном редакторе, например в Inkskape, и с помощью opensource ПО GCodeTools превратить ее в g-code программу для станка. Этот подход удобен для дизайнеров.
Для тех кто привык работать в Blender, можно превратить 3D модель в 2.5D рельеф с помощью opensource BlenderCAM.
Для хобийного использования не доступны промышленные САПР системы, стоимостью десятки и сотни тысяч долларов. Но можно использовать opensource ПО FreeCAD.
Пока он не сравним по удобству и функциональным возможностям с дорогими CAD/CAM пакетами, но в несложных задачах его вполне может оказаться достаточно для проектирования.
Его форк HeeksCAD более проработан в части CAM и позволяет на основе модели/чертежа создавать управляющие программы.
Программное управление
Что непосредственно управляет координатным столом, фрезером, либо другим инструментом станка?
Это специализированные DSP контроллеры ЧПУ к которым можно подключить usb flash накопитель и станок. Либо это платы расширения к одноплатному компьютеру (Raspberry PI, BeagleBoard) для управления электроприводом и шпинделем. Либо это обычный персональный компьютер с портом LPT или платой расширения PCI/PCIe для сопряжения с электроникой станка.
Герой для этого доклада — это персональный компьютер. Потому что управлять станком, интерпретировать g-code можно с помощью opensource программы LinuxCNC.
ПО работает на real-time ядре linux. Для одноплатных компьютеров Raspberry PI, BeagleBoard Black используется его форк Machinekit для ARM в виде готового iso образа. Существует сборка Machinekit для одноплатного C.H.I.P. за 9$.
LinuxCNC — это конструктор и на основе его конфигурации можно собрать почти любую конфигурацию. Эта программа управляет и хобийными станками и огромными производственными ЧПУ. Его применяют как при модернизации электроники промышленных ЧПУ, так и во вновь проектируемых станках.
Часть его компонентов работают в real-time процессе, менее критичная часть работает в окружении с непрогнозируемыми задержками. Расширять внутреннюю логику реакции на события в LinuxCNC можно с помощью LD диаграмм и даже шелл скриптов или консольных программ.
Управляем автоматом из java и groovy
Генерация управляющей программы
Генерация управляющих программ производится постпроцессором путем преобразования последовательности технологических команд рассчитанной траектории инструмента в формат выбранной системы ЧПУ. Установка необходимой системы ЧПУ производится выбором соответствующего файла настройки на систему ЧПУ (*.sppx). Управляющая программа выводится в обычный текстовый файл. Передача УП с компьютера, на котором установлен SprutCAM, непосредственно на станок может осуществляться любым из принятых на предприятии способом.
Запуск постпроцессора выполняется нажатием кнопки . Рабочее окно постпроцессора имеет вид.
Система ЧПУ задаётся выбранным в < Списке постпроцессоров >файлом настройки постпроцессора (*.sppx). В полях < Стойка >и < Станок >отображаются, соответственно, названия системы ЧПУ и станка, для которых создан выбранный файл настройки. Папка, в которой по умолчанию производится поиск файлов настройки постпроцессора устанавливается в поле < Каталог с файлами постпроцессоров >.
Управляющая программа будет выводиться в текстовый файл с именем, указанным в поле Файл вывода.
Нажмите на кнопку, чтобы выбрать файл при помощи диалога.
. В выпадающем списке можно выбрать один из предыдущих файлов или вывод в папку проекта, или в папку по умолчанию. Папка, в которой по умолчанию будет находиться выходной файл, задается в окне системных установок .
При нажатии на кнопку < Пуск >начинается генерация управляющей программы для установленной системы ЧПУ. Вывод производится в выходной файл и в окно < Управляющая программа >.
Следует отметить, что постпроцессор создаёт управляющую программу для всех выполненных технологических операций, включенных в управляющую программу на момент запуска постпроцессора (значки статуса ,
или
в окне технологический процесс ), для которых не отключено создание УП (дерево операций под списком постпроцессоров).
Примечание : Для генерации нескольких управляющих программ с разным составом операций можно выполнить все технологические операции, а затем, устанавливая флаги для соответствующих строк в дереве операций, запускать постпроцессор для генерации различных управляющих программ. Следует отметить, что свойство «Создавать УП» является свойством операции и сохраняется в проекте и в настройках Пользовательской операции>.
Если у части операций отключено свойство создания кода УП, то появится восклицательный знак . Корневой узел
переключает свойство для всех доступных операций.
Файлы настройки постпроцессора на систему ЧПУ (*.sppx) создаются и редактируются при помощи < Генератора постпроцессоров >(INP.exe).
Источник: kb.sprutcam.com