Введение
Методология разработки имитационных моделей и симуляторов по различным техническим дисциплинам в основном ориентирована на снижение уровня абстракции учебного материала. Наряду с теоретическим учебным материалом наглядное имитационное моделирование того или иного технологического процесса или операции позволяет учащемуся в более полной мере освоить преподаваемый материал с максимальным приближением к естественным условиям. При этом имитационные модели и симуляторы могут рассматриваться только как вспомогательный инструмент учебного процесса. Основное назначение данной категории образовательных ресурсов – базовое (начальное) ознакомление с принципами работы сложных технических объектов в условиях отсутствия возможности использования реального промышленного оборудования, либо в целях предварительного повышения компетенции учащегося перед прохождением производственной практики.
Особую актуальность представляет методология совмещения образовательных задач с инженерно-прикладными задачами в едином инструментарии, отвечающем современному уровню развития технологий и промышленности в целом. Здесь идёт речь о комплексной реализации функций автоматизированного проектирования (CAD/CAM) и принципов имитационно-численного моделирования технологических процессов.
Основная тенденция внедрения имитационных учебных моделей в практику инженерного образования заключается в достижении максимальной интерактивности. Необходимым условием здесь является возможность выполнения «ошибочных» действий учащимся и адекватное реагирование имитационной модели на эти действия с целью достижения требуемого уровня понимания учебного материала учащимся. Чем выше степень свободы моделируемого объекта (устройства или станка), тем больший эффект реального взаимодействия достигается в процессе обучения.
Цель и задачи проекта
Целью представленного проекта является разработка учебно-методического программного продукта (имитационной модели или симулятора), предназначенного для базового ознакомления начинающих специалистов машиностроительного профиля с принципами программирования операций токарной обработки деталей с использованием стандартного G/M-кода.
Области применения программного продукта в первую очередь охватывают образовательный процесс с использованием вычислительной техники в форме лабораторных занятий студентов в компьютерных классах, дистанционного обучения, а также демонстрационной поддержки лекционного материала по группе направлений подготовки и специальностей (ОКСО) «Металлургия, машиностроение и материалообработка». Гибкая функциональность и мобильность программного продукта также позволяют использовать его в качестве прикладного инструмента для верификации и предварительного тестирования управляющих программ операций токарной обработки материалов на станках с числовым программным управлением (ЧПУ) с применением программного кода Fanuc (система кодов А).
Функциональные возможности симулятора должны обеспечивать выполнение следующих задач:
- составление текстов управляющих программ операций токарной обработки в формате стандартного G/M кода и проверку управляющих программ на синтаксические и технологические ошибки;
- воспроизведение на экране вычислительного устройства трёхмерных графических моделей основных узлов имитируемого оборудования, технологической оснастки и металлорежущего инструмента с целью учебной имитации процесса токарной обработки материала;
- трехмерную визуализацию процесса формообразования детали при токарной обработке по составленным управляющим программам;
- визуализацию траекторий перемещения режущего инструмента в рабочей плоскости станка;
- осуществление интерактивного взаимодействия пользователя с имитационной моделью оборудования.
Техническим преимуществом разрабатываемого симулятора является относительно низкая ресурсоёмкость и мультиплатформенная поддержка, позволяющие использовать данный программный продукт на различных вычислительных устройствах, включая интерактивные доски, смартфоны, планшетные и настольные компьютеры, что, в свою очередь, повышает гибкость и мобильность учебного процесса, соответствуя современному уровню информатизации образования.
Объект моделирования
В основу трёхмерной имитационной модели заложен токарный станок ТС1625ФЗ производства Тверского станкостроительного завода АО «СтанкоМашКомплекс» с горизонтальной станиной и классической компоновкой узлов, оснащённый системой ЧПУ, восьмипозиционной револьверной головкой, трёхкулачковым токарным патроном, задней бабкой, системой подачи смазочно-охлаждающей жидкости и другими узлами. Обработка материала выполняется по двум координатам в горизонтальной плоскости станка. Основные технические характеристики прототипа оборудования представлены в таблице 1.
В симуляторе моделируется комплект режущего инструмента (сборные токарные резцы и свёрла), включающий 185 наименований. Типы используемых сменных режущих пластин токарных резцов представлены в таблице 2.
Также в модели используются резцы со специальными резьбонарезными пластинами и свёрла. На рисунке 1 представлена геометрическая модель сборного токарного резца.
Рисунок 1 – Геометрическая модель сборного токарного резца и обозначение основных характеристик сменной режущей пластины: главного угла в плане ?1, вспомогательного угла в плане ?2, диаметра вписанной окружности D, радиуса скругления при вершине R
Краткое описание метода геометрического моделирования формообразования детали при токарной обработке
В рассматриваемом проекте применяется упрощённая модель формообразования обрабатываемой детали, основанная на допущении о постоянстве осевой симметрии детали на протяжении всего процесса токарной обработки [1, 2]. Данная модель исключает возможность построения винтовых поверхностей, а резьбовые элементы деталей изображаются условно – участками концентрической ребристости. Основные вычисления по данной методике формализованы геометрической задачей пересечения двух плоских замкнутых контуров в рабочей плоскости станка – контура обрабатываемой детали и контура режущего инструмента. На основе формообразующего контура, представляющего собой логическую разность при пересечении двух исходных контуров, образуется трёхмерная поверхность моделируемой детали путём равномерного поворота формообразующего контура вокруг главной оси станка (оси вращения обрабатываемой детали). Применяемый метод позволяет моделировать формообразование детали типа тела вращения в реальном времени при относительно низких вычислительных затратах.
Первоначальным этапом алгоритма является формирование множества точек Wi контура обрабатываемой детали (рис. 2.а). В исходном состоянии (до начала процесса обработки) контур детали включает четыре точки, при этом продольное сечение детали представлено прямоугольником. В последующих итерациях алгоритма исходным контуром детали является ранее рассчитанный формообразующий контур. Контур описывается против часовой стрелки.
На втором этапе алгоритма формируется контур режущей пластины токарного резца с учётом её геометрических характеристик – габаритных размеров, главного угла в плане и радиуса скругления при вершине. Контур режущей пластины описывается точками Cj в противоположном направлении по отношению к контуру детали (по часовой стрелке).
Рисунок 2 – К задаче расчёта формообразующего контура обрабатываемой детали:
пересечение исходных контуров детали и режущей пластины (а); получение формообразующего контура детали как логической разности исходных контуров (б)
Третий этап алгоритма заключается в определении множества точек пересечения Ik исходных контуров. При этом найденные точки пересечения индексируются в соответствии с тем, насколько ближе они лежат к начальной точке контура детали, и включаются в обобщённое множество точек обоих контуров в порядке индексации. Определение координат точек пересечения осуществляется для двух отрезков, принадлежащих двум разным контурам (рис. 3).
Рисунок 3 – К определению координат точки пересечения двух отрезков
Для отрезков P1–P2 и P3–P4, принадлежащих двум пересекающимся прямым L1 и L2, следует:
Координаты x, y точки пересечения прямых L1 и L2 определяются матричным уравнением:
следовательно:
Точки обобщённого множества, принадлежащие контуру режущей пластины, за пределами интервалов между точками пересечения, исключаются из обобщённого множества точек обоих контуров. Таким образом, формируется окончательное множество точек Fn, описывающих формообразующий контур детали (рис. 2.б). Полученный контур описывается в том же направлении, что и исходный контур детали.
Рассмотренный алгоритм представляет собой упрощенный вариант алгоритма отсечения Вейлера–Азертона [3]. Ряд упрощений алгоритма обусловлен геометрическими особенностями решаемой задачи, а именно: постоянным условием выпуклости контура режущей пластины, условиями обнаружения столкновений нерабочих элементов резца (державки) с обрабатываемой деталью, условием исключения полностью отсекаемой части детали из вычислительного процесса при моделировании операции отрезки и др.
В силу того, что моделирование формообразования детали осуществляется в процессе перемещения режущего инструмента, на каждой итерации алгоритма происходит дискретное изменение координат точек контура режущей пластины относительно контура обрабатываемой детали. Шаг дискретности в данном случае обусловлен заданным параметром движения режущего инструмента (величиной рабочей подачи) и временем итерации цикла симуляции. В данном случае шаг дискретности перемещения инструмента (?) может превышать линейные размеры области перекрытия контуров режущей пластины и обрабатываемой детали (рис. 4.а), что приводит к появлению артефактов («непрорезанных» участков) формообразующего контура детали (рис. 4.б).
Рисунок 4 – Проблема дискретности вычисления пересечений контуров
Одним из решений описанной проблемы является метод Джарвиса, заключающийся в построении минимальной выпуклой оболочки вокруг множества вершин контуров режущей пластины в текущем и предшествующем дискретных состояниях (рис. 5).
Рисунок 5 – Построение минимальной выпуклой оболочки вокруг контуров режущей пластины в двух последовательных дискретных состояниях
В данном случае осуществляется расчет пересечения контура обрабатываемой детали с контуром минимальной выпуклой оболочки, обеспечивающей требуемую область перекрытия в промежутках между дискретными состояниями режущего инструмента. При построении минимальной выпуклой оболочки особенно важным является условие неизменности направления обхода её контура. Минимальная выпуклая оболочка может охватывать несколько дискретных состояний режущей пластины при условии, что направление рабочей подачи резца не меняется в данных состояниях (резец перемещается по прямой траектории).
В рассматриваемом проекте применяется альтернативный метод устранения артефактов формообразующего контура, основанный на алгоритме генерализации Рамера-Дугласа-Пекера [4, 5], широко применяемом в задачах топографии и картографии. Основной целью рекурсивной процедуры генерализации является сокращение числа вершин ломаной линии на основе заданного порогового значения расстояния между вершинами. Начальным условием работы алгоритма является выбор наиболее удаленной точки по отношению к начальной точке ломаной линии контура. В последующих итерациях алгоритма определяются расстояния между промежуточными точками ломаной линии и сравниваются с пороговым значением. Соединение точек в аппроксимирующую полилинию осуществляется при условии превышения расстояния между ними над заданным пороговым значением (рис. 6).
Рисунок 6 – Итерации алгоритма генерализации Рамера-Дугласа-Пекера на примере произвольной ломаной линии
Технически процедура аппроксимации формообразующего контура детали объединена с начальным этапом общего алгоритма моделирования, на котором происходит формирование множества вершин исходного контура обрабатываемой детали.
Формирование трёхмерной поверхности моделируемой детали осуществляется путём расчёта координат точек в окружностях поперечных сечений детали по длине формообразующего контура с последующим объединением данных точек в треугольные фасеты (между сечениями). Длина радиус-вектора Ri каждой точки формообразующего контура вычисляется как расстояние от данной точки до главной оси станка (рис. 7).
Рисунок 7 – Полигональная модель детали типа тела вращения в разрезе (разбиение полигонов на треугольные фасеты не показано)
Порядок обхода вершин при сборке трёхмерного каркаса строго определён. Каждый полигон трёхмерной поверхности разбивается на 2 треугольных фасета, объединяющих 4 вершины (рис. 8). Радиальная гладкость образуемой трёхмерной поверхности зависит от заданного количества сегментов (секторов круга) в сечении моделируемой детали. В процедуре сборки трёхмерного каркаса также рассчитываются векторы нормалей в каждой вершине (рис. 9) и текстурные координаты UV. По рассчитанным текстурным координатам поверхность детали прорисовывается с наложенным изображением текстуры металла, что в свою очередь повышает реалистичность восприятия моделируемого процесса.
Таким образом, окончательная трёхмерная модель обрабатываемой детали позволяет визуализировать результаты удаления материала резцом в динамике реального времени с требуемой степенью реалистичности.
Рисунок 8 – Фасеточный каркас трёхмерной модели обрабатываемой детали, вписанный в габаритный цилиндр исходной заготовки
Рисунок 9 – Векторы нормалей в вершинах фасеточной модели обрабатываемой детали
Принципы имитационного моделирования числового программного управления процессом токарной обработки материала
Перечень основных функций программного управления станком
В качестве лингвистической основы для программирования основных технологических операций при токарной обработке материала выбраны G-M коды системы числового программного управления Fanuc:
G00/G01 – линейная интерполяция на ускоренной/рабочей подаче;
G02/G03 – круговая интерполяция по/против часовой стрелки;
G04 – выдержка времени;
G20/G21 – ввод данных в дюймах/миллиметрах;
G32/G34 – нарезание резьбы с постоянным/переменным шагом за один проход;
G50 – установка максимальной частоты вращения шпинделя;
G53–G59 – переключение между рабочими системами координат №1–6;
G70–G76 – основные токарные циклы;
G80–G83 – циклы обработки отверстий;
G90 – цикл основной токарной обработки наружного/внутреннего диаметра;
G92 – цикл нарезания резьбы с постоянным шагом;
G94 – цикл основного наружного/внутреннего торцевого точения;
G96/G97 – постоянная скорость резания/вращения шпинделя;
G98/G99 – скорость подачи [мм/мин]/скорость подачи [мм/об];
M00/M01 – программный останов с подтверждением;
M02/M30 – завершение управляющей программы;
M03/M04 – запуск вращения шпинделя по/против часовой стрелки;
M05 – остановка вращения шпинделя;
M07–M09 – включение/выключение подачи СОЖ;
M38/M39 – открытие/закрытие автоматических дверей;
M97–M99 – вызов и завершение внутренних/внешних подпрограмм.
Структура и формат кода управляющих программ
Код управляющей программы представляется в виде последовательности строк (кадров). Симулятор позволяет разрабатывать и выполнять управляющие программы объёмом до 999 кадров (с учетом первой нередактируемой строки, содержащей номер управляющей программы). Каждый кадр состоит из последовательности слов, представляющих собой сочетание буквенного адреса и числового параметра. Между адресом и параметром не допускаются пробелы. Набор текста управляющей программы осуществляется буквенными латинскими и цифровыми символами с использованием моноширинного шрифта. Допускается использование некоторых специальных символов. Любая группа символов, не подлежащая синтаксическому анализу, должна быть заключена в круглые скобки либо записана после символов «;» или «/». Данная информация считается комментарием к коду и не анализируется в процессе симуляции. Адреса подготовительных (G) и вспомогательных (M) функций программируются с целочисленными параметрами, определяющими номера данных функций. Числовые параметры позиционирования (после адресов X, Z, U, W, I, K, R и др.) могут задаваться дробными или целыми значениями. Здесь допускается использование знака «минус».
После запуска процесса симуляции производится автоматическая проверка кода управляющей программы на соответствие формату. В случае обнаружения ошибок на экран выводятся соответствующие сообщения.
Краткое описание алгоритма парсинга управляющих программ
Синтаксический анализ (парсинг) кода управляющей программы (УП) и симуляция его выполнения осуществляются по стандартному алгоритму [6], блок-схема которого представлена на рисунке 10.
Рисунок 10 – Блок-схема алгоритма парсинга УП
В соответствии с приведённой на рисунке 10 блок-схемой парсинг управляющей программы начинается с формирования списка кадров. Для каждого кадра формируется список слов. Слово представляет собой структуру данных – команду, включающую буквенный адрес и числовой параметр. Команды условно классифицируются как модальные и позиционные.
Модальные команды изменяют статус имитационной модели станка, и определяют её текущее состояние – режим перемещения инструмента (перемещение на ускоренной или рабочей подаче, тип интерполяции), режим вращения шпинделя, положение автоматических дверей, состояние системы охлаждения и т.д. В свою очередь, позиционные команды определяют непосредственно параметры перемещений – координаты конечных точек, параметры дуг при круговой интерполяции и т.д.
По полученным параметрам движения осуществляется интерполяция координат режущего инструмента, углов поворота вращающихся элементов станка, положения автоматических дверей и др. Таким образом, происходит покадровая симуляция управляющей программы. При достижении последнего кадра процесс симуляции завершается.
Реализация управления перемещениями токарного инструмента
По аналогии с реальной системой ЧПУ перемещение режущего инструмента программируется методами линейной и круговой интерполяции. Линейная интерполяция является основным видом движения при обработке на токарном станке с ЧПУ. При линейной интерполяции инструмент перемещается по прямой траектории с известными координатами её начала и конца (рис. 11).
Рисунок 11 – Траектория движения инструмента при линейной интерполяции
При движении расчётной точки C из точки A в точку B по прямолинейному участку с постоянной скоростью подачи обе координаты интерполируются линейно по времени. Обозначив время начала перемещения как tA, а конечное время – tB, текущие координаты точки C, соответствующие текущему моменту времени tC, можно определить по формулам линейной интерполяции:
Конечное время перемещения определяется как:
где tS – время, затраченное на прямолинейное перемещение при постоянной скорости подачи F (мм/мин):
Линейная интерполяция на ускоренной подаче программируется модальной функцией G00 (данная функция активна в исходном состоянии системы ЧПУ). Линейная интерполяция на рабочей подаче программируется модальной функцией G01. После данных функций задаются координаты конечной точки прямолинейного участка пути. За исходную точку всегда принимается текущее положение инструмента. Заданная скорость рабочей подачи при ускоренном перемещении игнорируется. Координаты конечной точки могут задаваться в абсолютных значениях (X, Z), то есть относительно нуля рабочей системы координат, либо в относительных (инкрементальных) значениях (U, W), то есть относительно исходной точки прямолинейной траектории. Если одна из координат опущена, перемещение по соответствующей ей оси не осуществляется.
Круговая интерполяция применяется для вытачивания криволинейных поверхностей, форма которых описывается дугой окружности определённого радиуса. Применяются два метода программирования дуги. Первый метод заключается в задании координат центра дуги и конечной точки, при этом радиус дуги вычисляется автоматически. Второй метод предполагает указание радиуса дуги и координат конечной точки, при этом координаты центра дуги вычисляются автоматически. Круговая интерполяция по часовой стрелке задается с помощью функции G02, а круговая интерполяция против часовой стрелки – функцией G03, соответственно.
Рассмотрим один из случаев круговой интерполяции против часовой стрелки с указанием центра дуги (рис. 12.а). При движении расчетной точки C из точки A в точку B по дуге с постоянной скоростью подачи обе координаты также можно интерполировать по времени. Траектория движения задается положением конечной точки B и положением центра дуги O в инкрементальных координатах (i, k) относительно исходной точки A.
Угловое положение радиус-векторов OA, OB и OC описывается тригонометрическими углами ?A, ?B и ?C, соответственно.
Рисунок 12 – Траектория движения инструмента при круговой интерполяции против часовой стрелки с заданием: центра дуги (а); радиуса окружности дуги (б)
Обозначив время начала перемещения как tA, а конечное время – tB, угол ?C, соответствующий текущему моменту времени tC, можно определить по формуле линейной интерполяции:
где ?A, ?B – тригонометрические углы радиус-векторов начальной и конечной точек дуги:
Примечание: при расчёте тригонометрических углов крайних точек дуги необходимо учитывать ситуации, при которых функция арктангенса принимает сингулярные значения.
Декартовые координаты точки C определяются как:
где
Конечное время перемещения определяется по выражению (6). При этом время tS, затраченное на перемещение по дуге при постоянной скорости подачи F (мм/мин), можно определить, используя выражение длины дуги:
Инкрементальные координаты центра дуги программируются адресами I и K в направлениях осей X и Z, соответственно. При программировании круговой интерполяции с указанием центра дуги необходимо, чтобы радиус-векторы начальной и конечной точек дуги имели одинаковую длину.
Круговая интерполяция всегда выполняется на рабочей подаче.
Второй метод программирования дуги – указание радиуса окружности дуги. При этом допускается два случая задания радиуса – с положительным или отрицательным значением. Если значение радиуса положительно, угол дуги составляет менее 180 градусов. В противном случае угол дуги составляет более 180 градусов (рис. 12.б). При задании дуги радиусом система ЧПУ автоматически определяет положение центра дуги (O+ или O– в зависимости от знака радиуса). В данном методе задания дуги должно соблюдаться условие: модуль радиуса не может быть меньше половины длины хорды (AB) дуги.
На рисунке 13 показан пример образования криволинейной поверхности при программировании круговой интерполяции против часовой стрелки.
Рисунок 13 – Образование криволинейной поверхности при программировании круговой интерполяции против часовой стрелки
Реализация функций работы с системами координат
Представленная имитационная модель включает несколько систем координат (рис. 14). Главной и неизменной системой координат является система координат станка с началом, соответствующим точке машинного нуля M, геометрически совпадающей с точкой пересечения торцевой плоскости шпинделя и оси его вращения.
Рисунок 14 – Основные системы координат имитационной модели
Второй немаловажной системой координат является референтная система координат с началом, соответствующим референтной точке R или точке смены инструмента. В данной системе координат рассчитываются основные перемещения подвижных узлов станка, и определяются столкновения инструмента с конструктивными элементами станка при моделировании возможных аварийных ситуаций.
Программирование процесса токарной обработки осуществляется в рабочей системе координат. В симуляторе предусмотрено 6 независимых рабочих систем координат с нулевыми точками W1–6. Начальные настройки положения данных нулей задаются пользователем в параметрах имитационной модели и обозначаются как нулевые корректоры.
Направления осей в каждой системе координат одинаковы. Продольная ось Z всегда направлена от токарного патрона в сторону задней бабки станка. Поперечная ось X (или ось диаметров) направлена в сторону суппорта (на себя при фронтальном ракурсе на станок). Ось Y является нормалью рабочей плоскости ZX обработки и направлена вертикально вверх. Перемещения в направлении оси Y в рассматриваемой модели станка не осуществляются.
Переключение между рабочими системами координат осуществляется программно с помощью соответствующих функций G54–G59 (для систем координат с нулевыми точками W1–W6, соответственно). Координаты нулевых точек W1–6 рассчитываются в системе координат станка относительно машинного нуля M. Синтаксис функций G54–G59 предполагает два возможных варианта их использования. В первом варианте функции задаются без указания координат X и Z. При этом положение выбранной рабочей системы координат определяется по предварительно заданным нулевым корректорам. В данном случае функции G54–G59 могут программироваться отдельно в индивидуальном кадре либо в одном кадре с другими командами. Второй вариант использования функций G54–G59 предполагает программное смещение осей выбранной рабочей системы координат относительно предварительно заданного нуля W1. В данном случае смещения осей по X и Z программируются сразу после функции в этом же кадре (например, «G54 X30.5 Z15»). На рисунке 15 показано положение первого начала координат после программного смещения осей в точку [X=10, Z=–20] относительно исходного положения нуля W1, заданного в блоке настройки нулевых корректоров.
Рисунок 15 – Иллюстрация программного смещения осей рабочей системы координат №1
Программирование относительно нуля станка осуществляется посредством функции G53. Данная функция не является модальной, и выполняется в том кадре, в котором она запрограммирована. Функция временно отменяет действие модальных функций G54-G59. При этом все перемещения отсчитываются в системе координат станка с началом в точке M, а активный нулевой корректор временно отменяется. Функция G53 должна программироваться каждый раз, когда необходимо указать координаты, относящиеся к машинному нулю. Синтаксис функции не предполагает наличия параметров после слова G53. Функция программируется в любом кадре, который имеет команды управления пути (например, «G53 G00 X0 Z120»). На рисунке 16 показано положение начала рабочей системы координат во время действия функции G53.
Рисунок 16 – Иллюстрация положения начала рабочей системы координат во время действия функции G53
Реализация основных токарных циклов и циклов обработки отверстий
Реализованный алгоритм парсинга управляющих программ позволяет моделировать выполнение токарных и сверлильных циклов системы Fanuc. При выполнении каждого цикла в памяти вычислительного устройства создаётся так называемый буферный список кадров, включающий промежуточные перемещения инструмента при получении запрограммированного контура детали. Токарные циклы задаются одним или двумя последовательными инициирующими кадрами, в которых прописываются основные параметры цикла – черновые и чистовые припуски, глубина резания при черновых проходах резцом, количество черновых проходов резцом, величина отвода резца, параметры режима обработки и т.д. Контур детали программируется последовательностью кадров с обязательной нумерацией первого и последнего кадра.
Цикл снятия припуска параллельно оси Z инициируется функцией G71. Параметры цикла программируются двумя последовательными кадрами в формате:
G71 U_ R_
G71 P_ Q_ U_ W_ F_ S_
где в первом кадре: U – глубина обработки для черновых проходов (режим программирования в радиусах), R – расстояние отвода резца после окончания каждого прохода; во втором кадре: P – порядковый номер первого кадра описания обрабатываемого контура; Q – порядковый номер последнего кадра описания обрабатываемого контура, U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах), W – величина и направление снятия чистового припуска по оси Z, F – скорость подачи при черновых проходах резцом, S – частота вращения шпинделя или скорость резания при чистовой обработке.
На рисунке 17 показаны траектории движения резца при выполнении токарного цикла G71. Зелеными линиями изображены перемещения резца на рабочей подаче, фиолетовыми линиями – на ускоренной подаче. Как видно из рисунка, обрабатываемый контур может включать криволинейные участки, запрограммированные методом круговой интерполяции.
Рисунок 17 – Траектории движения режущего инструмента при выполнении токарного цикла G71 и фрагмент кода управляющей программы
Цикл снятия припуска параллельно оси X инициируется функцией G72. Принцип программирования данного цикла аналогичен циклу G71. Выполнение черновых проходов резцом осуществляется в направлении оси X рабочей системы координат. Параметры цикла программируются двумя последовательными кадрами в формате:
G72 W_ R_
G72 P_ Q_ U_ W_ F_ S_
где в первом кадре: W – глубина обработки для черновых проходов, R – расстояние отвода резца после окончания каждого прохода; во втором кадре: P – порядковый номер первого кадра описания обрабатываемого контура, Q – порядковый номер последнего кадра описания обрабатываемого контура, U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах), W – величина и направление снятия чистового припуска по оси Z, F – скорость подачи при черновых проходах резцом, S – частота вращения шпинделя или скорость резания при чистовой обработке.
На рисунке 18 показаны траектории движения резца при выполнении токарного цикла G72.
Рисунок 18 – Траектории движения режущего инструмента при выполнении токарного цикла G72 и фрагмент кода управляющей программы
Цикл снятия припуска параллельно заданному контуру инициируется функцией G73. Параметры цикла программируются двумя последовательными кадрами в формате:
G73 U_ W_ R_
G73 P_ Q_ U_ W_ F_ S_
где в первом кадре: U – величина и направление снятия суммарного припуска по оси X (режим программирования в радиусах), W – величина и направление снятия суммарного припуска по оси Z, R – количество последовательных проходов при снятии чернового припуска, включая получистовой проход; во втором кадре: P – порядковый номер первого кадра описания обрабатываемого контура; Q – порядковый номер последнего кадра описания обрабатываемого контура; U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах), W – величина и направление снятия чистового припуска по оси Z, F – скорость подачи при черновых проходах резцом, S – частота вращения шпинделя или скорость резания при чистовой обработке.
На рисунке 19 показаны траектории движения резца при выполнении токарного цикла G73.
Рисунок 19 – Траектории движения режущего инструмента при выполнении токарного цикла G73 и фрагмент кода управляющей программы
Цикл снятия чистового припуска инициируется функцией G70. Параметры цикла программируются одним кадром в формате:
G70 P_ Q_ F_ S_
где P – порядковый номер первого кадра описания обрабатываемого контура, Q – порядковый номер последнего кадра описания обрабатываемого контура, F – скорость подачи при чистовой обработке, S – частота вращения шпинделя или скорость резания при чистовой обработке.
Цикл чистовой контурной обработки G70 дополняет циклы G71, G72 и G73. Он позволяет произвести чистовую обработку контура, после применения циклов черновой токарной обработки. Использование цикла G70 в качестве самостоятельного цикла – нецелесообразно.
Программирование обработки наружных/внутренних и торцевых канавок осуществляется с помощью специальных циклов G74 и G75.
Цикл проточки торцевых канавок/сверления с отскоком инициируется функцией G74. Параметры цикла программируются двумя последовательными кадрами в формате:
G74 R_
G74 X(U)_ Z(W)_ P_ Q_ F_
где в первом кадре: R – расстояние, на которое отводится режущий инструмент после завершения шага проточки; во втором кадре: X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, P – шаг проточки по оси X в микронах, Q – шаг проточки по оси Z в микронах, F – скорость подачи.
На рисунке 20 показаны траектории движения резца при выполнении цикла проточки торцевых канавок G74. При выполнении данного цикла инструмент после каждого рабочего прохода отводится на заданную величину отскока с целью удаления стружки из обрабатываемой канавки. Цикл G74 также может использоваться при программировании операции сверления торцевых отверстий.
Рисунок 20 – Траектории движения режущего инструмента при выполнении цикла проточки торцевых канавок G74 и фрагмент кода управляющей программы
Цикл проточки наружных/внутренних канавок с отскоком инициируется функцией G75. Принцип использования цикла G75 аналогичен циклу G74. Проточка канавки осуществляется в направлении оси X. Устанавливаемая величина шага проточки по оси Z позволяет осуществлять обработку канавок с перекрытием. После каждого рабочего прохода инструмент отводится на заданную величину отскока. Параметры цикла программируются двумя последовательными кадрами в формате:
G75 R_
G75 X(U)_ Z(W)_ P_ Q_ F_
где в первом кадре: R – расстояние, на которое отводится инструмент после завершения шага проточки; во втором кадре: X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, P – шаг проточки по оси X в микронах, Q – шаг проточки по оси Z в микронах, F – скорость подачи.
На рисунке 21 показаны траектории движения резца при выполнении цикла проточки наружной канавки G75.
Рисунок 21 – Траектории движения режущего инструмента при выполнении цикла проточки наружных/внутренних канавок G75 и фрагмент кода управляющей программы
Для обработки резьбовых соединений реализован цикл многопроходного нарезания резьбы, инициируемый функцией G76. Параметры цикла программируются двумя последовательными кадрами в формате:
G76 Pxxyyzz Q_ R_
G76 X(U)_ Z(W)_ R_ P_ Q_ F_
где в первом кадре: xx – двузначное число винтовых проходов резьбонарезным резцом; yy – двузначное число, определяющее размер фаски, zz – двузначное число, определяющее угол режущей кромки режущего инструмента, Q – минимальная глубина нарезания резьбы в микронах (режим программирования в радиусах), R – глубина нарезания при чистовом проходе; во втором кадре: X(U) – координата конечной точки нарезания резьбы по оси X, Z(W) – координата конечной точки нарезания резьбы по оси Z, R – величина перемещения по оси X при нарезании конической резьбы (не программируется при нарезании цилиндрической резьбы), P – высота резьбы в микронах, Q – глубина нарезания резьбы для первого прохода в микронах, F – шаг резьбы по оси Z.
На рисунке 22 показаны траектории движения резца при выполнении цикла многопроходного нарезания цилиндрической резьбы G76. Голубыми линиями изображены перемещения резьбонарезного резца на рабочей подаче.
Рисунок 22 – Траектории движения режущего инструмента при выполнении цикла многопроходного нарезания цилиндрической резьбы G76 и фрагмент кода управляющей программы
Цикл G76 также позволяет программировать обработку конических резьб (рис. 23).
Рисунок 23 – Траектории движения режущего инструмента при выполнении цикла многопроходного нарезания конической резьбы G76 и фрагмент кода управляющей программы
При программировании обработки резьбовых соединений возможно применение альтернативного цикла нарезания резьбы с постоянным шагом, инициируемого функцией G92. Параметры цикла программируются одним кадром в формате:
G92 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки нарезания резьбы по оси X, Z(W) – координата конечной точки нарезания резьбы по оси Z, R – величина перемещения по оси X при нарезании конической резьбы (не программируется при нарезании цилиндрической резьбы), F – шаг резьбы по оси Z.
Каждый рабочий проход резьбонарезным резцом программируется отдельным кадром, идущим в общей последовательности кадров после кадра инициализации цикла G92. При этом задается только координата X, то есть значение диаметра, на котором находится расчётная точка резца на текущем рабочем проходе.
На рисунке 24 показаны траектории движения резца при выполнении цикла нарезания внутренней конической резьбы с постоянным шагом G92.
Рисунок 24 – Траектории движения режущего инструмента при выполнении цикла нарезания резьбы с постоянным шагом G92 и фрагмент кода управляющей программы
Для программирования проточки длинных цилиндрических или конических участков детали применяется цикл основной токарной обработки наружного/внутреннего диаметра, инициируемый функцией G90. Структура цикла аналогична резьбонарезному циклу G92. Перед началом цикла резец выводится в стартовую точку. Параметры цикла программируются одним кадром в формате:
G90 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – изменение радиуса основания конуса, F – скорость подачи.
Каждый рабочий проход резцом программируется отдельным кадром, идущим в общей последовательности кадров после кадра инициализации цикла G90. При этом может задаваться только координата X, то есть значение диаметра, на котором находится расчётная точка резца на текущем рабочем проходе. Также в кадрах описания рабочих проходов может быть задана и координата Z в случае, если необходимо обработать ступенчатый участок детали. На рисунке 25 показаны траектории движения резца при выполнении цикла основной токарной обработки наружного/внутреннего диаметра G90.
Рисунок 25 – Траектории движения режущего инструмента при выполнении цикла основной токарной обработки наружного/внутреннего диаметра G90 и фрагмент кода управляющей программы
Обработка торцевых поверхностей деталей может программироваться с помощью цикла основного наружного/внутреннего торцевого точения, инициируемого функцией G94. Параметры цикла программируются одним кадром в формате:
G94 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – изменение радиуса основания конуса, F – скорость подачи.
По аналогии с циклом G90 рабочие проходы резцом программируются отдельными кадрами после кадра инициализации цикла G94. При этом для каждого прохода могут задаваться координаты Z и/или X, а также параметр R, определяющий изменение радиуса основания конуса. На рисунке 26 показаны траектории движения резца при выполнении цикла основного наружного/внутреннего торцевого точения G94.
Рисунок 26 – Траектории движения режущего инструмента при выполнении цикла основного наружного/внутреннего торцевого точения G94 и фрагмент кода управляющей программы
Имитационная модель также позволяет осуществлять программирование операций сверления торцевых отверстий с применением постоянных циклов: простого однопроходного сверления, однопроходного сверления с выдержкой на дне отверстия и многопроходного (прерывистого) сверления (рис. 27).
Цикл простого однопроходного сверления инициируется функцией G81, и имеет формат кадра:
G81 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, F – скорость подачи.
Цикл однопроходного сверления с выдержкой на дне отверстия инициируется функцией G82, и имеет формат кадра:
G82 X(U)_ Z(W)_ R_ P_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, P – время выдержки на дне отверстия в миллисекундах, F – скорость подачи.
Цикл прерывистого сверления инициируется функцией G83, и имеет формат кадра:
G83 X(U)_ Z(W)_ R_ P_ Q_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, P – время выдержки на дне отверстия в миллисекундах, Q – шаг сверления по оси Z в микронах, F – скорость подачи.
Отмена постоянного цикла обработки отверстий осуществляется функцией G80.
Рисунок 27 – Траектории движения сверла при выполнении цикла прерывистого сверления G83 и фрагмент кода управляющей программы
Реализация общих функций числового программного управления
Запуск вращения шпинделя по часовой стрелке осуществляется модальной функцией M03, а против часовой стрелки – функцией M04, соответственно. Остановка вращения шпинделя осуществляется с помощью функции M05. Функции M03–M04 дают команду на начало вращения шпинделя, но не определяют параметры скорости вращения. С этой целью используется функция главного движения S с указанием частоты вращения (или скорости резания). При этом частота вращения шпинделя задается адресом S, после которого указывается число оборотов в минуту (если активна модальная функция G97). В том случае, если обработка происходит при постоянной скорости резания (активна модальная функция G96), число, следующее за адресом S обозначает скорость резания в м/мин. При этом фактическая частота вращения шпинделя определяется расчётом исходя из выражения:
где V – заданная скорость резания м/мин, d – текущий диаметр обработки, м, ?=3,14159.
Перемещение суппортов станка осуществляется на рабочей и ускоренной подачах. Обработка материала резанием осуществляется на рабочей подаче. Величина рабочей подачи задаётся функцией подачи F двумя способами. С помощью модальной функции G98 устанавливается режим, при котором величина подачи задается в мм/мин. Второй режим программирования величины подачи осуществляется с помощью модальной функции G99. При этом величина подачи задается в мм/об. Функция G99 активна в исходном состоянии системы ЧПУ. При нарезании резьбы адресом F программируется постоянный шаг резьбы или начальный шаг в случае резьбы с изменяемым (увеличивающимся или уменьшающимся) шагом.
Функция инструмента T используется для выбора и переключения положения револьверной головки, оснащённой режущим инструментом. Функция программируется в формате «T0A0B», где A – номер целевой позиции револьверной головки, B – номер корректора на радиус инструмента. В процессе переключения положения револьверной головки инструмент возвращается в референтную точку, где осуществляется поворот инструментального диска револьверной головки по кратчайшему расстоянию.
В имитационной модели реализована возможность использования внутренних и внешних подпрограмм. Внутренние подпрограммы размещаются в коде основной программы после функций завершения программы M02 или M30. Вызов внутренней подпрограммы осуществляется функцией M97 в формате:
M97 P_ L_
где P – номер кадра начала внутренней подпрограммы, L – количество вызовов внутренней подпрограммы.
Внешние подпрограммы представляют собой автономные тексты с собственными заголовками и нумерацией кадров. Имитационная модель поддерживает работу с пятью внешними управляющими программами в одной сессии. Вызов внешних подпрограмм осуществляется функцией M98 в формате:
M98 Pxxyyyy
где xx – количество вызовов внешней подпрограммы; yyyy – номер внешней подпрограммы (например, 0005).
Завершение работы внутренних и внешних подпрограмм с последующим возвратом в основную программу осуществляется с помощью функции M99.
К прочим вспомогательным функциям системы ЧПУ можно отнести: функции остановки выполнения управляющей программы M00/M01, функции завершения управляющей программы M02/M30, функции включения/выключения подачи смазочно-охлаждающей жидкости (СОЖ) M07/M08/M09 и функции открытия/закрытия автоматических дверей M38/M39. Данные функции могут программироваться как в отдельных кадрах, так и в совокупности с другими командами. После выполнения функций M02 и M30 процесс симуляции завершается – инструмент отводится в точку реферирования, вращение шпинделя останавливается, периферийные устройства отключаются.
Описание симулятора токарной обработки на станке с ЧПУ
Общее описание программного продукта
Симулятор токарной обработки на станке с ЧПУ реализован в форме мультиплатформенного графического приложения. Тип целевого вычислительного устройства и поддерживаемая платформа: IBM–совместимый персональный компьютер под управлением операционных систем Microsoft Windows и Linux, персональный компьютер Apple Macintosh под управлением операционной системы MacOS, мобильные устройства на базе операционных систем Android и iOS. Дополнительно выполнение программы возможно в среде веб-браузера с поддержкой технологии HTML5 и аппаратной поддержкой 3D графики (технология WebGL). Графическая составляющая программного обеспечения использует компонентную базу OpenGL 2.0. Графический интерфейс пользователя программы реализован на русском и английском языках.
Минимальные системные требования к вычислительному устройству:
- тактовая частота центрального процессора: 1,6 ГГц;
- объем оперативной памяти: 1 Гб;
- объем видеопамяти: 512 Мб;
- разрешение экрана: 1024?768 (для настольных компьютеров);
- поддержка OpenGL версии 2.0;
- стандартная клавиатура и компьютерная мышь с колесом прокрутки (для настольных компьютеров);
- средства воспроизведения звука (динамики, аудиоколонки или наушники).
При работе с веб-версиями приложения рекомендуется использовать веб-браузер MicrosoftEdge, входящий в состав операционной системы Windows 10.
Формат пользовательских данных
В процессе инсталляции программного продукта в стандартном каталоге «Документы» операционной системы создается корневой каталог проектов симулятора, включающий ряд подкаталогов с примерами управляющих программ. К примеру, в операционной системе Microsoft Windows 10 каталог «Документы» расположен по адресу: «C:\Пользователи\Текущий пользователь\Документы». Создание, переименование и удаление файлов и подкаталогов следует осуществлять с помощью стандартного файлового менеджера операционной системы.
Файлы проектов симулятора имеют расширение «*.csdata». В целях оптимизации осуществляется байтовый ввод-вывод данных, поэтому открытие файла проекта во внешнем текстовом редакторе невозможно. Байтовая структура файла представлена в таблице 3.
Структура графического интерфейса пользователя
Симулятор выполняется в полноэкранном графическом режиме. Размеры структурных элементов графического интерфейса адаптивно меняются в зависимости от формата (соотношения сторон) экрана. Таким образом, выполнение программы возможно на экранах с различным соотношением сторон, как приближенным к 1,0 (разрешения 1024x768, 1280x1024 и др.), так и к 2,0 (разрешения 1920x1080, 2160x1080 и др.).
Взаимодействие с элементами графического интерфейса осуществляется с помощью стандартной компьютерной мыши (при работе на настольном компьютере) или путём сенсорного взаимодействия с экраном (при работе на интерактивной доске, планшетном компьютере или смартфоне).
Главный экран программы представлен трёхмерной сценой, основным объектом которой является графическая полигональная модель токарного станка, размещённая в условном пространственном окружении (рис. 28).
Рисунок 28 – Вид главного экрана программы
На протяжении всего сеанса работы с программой в правой части экрана отображается панель навигации. Первая (сверху вниз) кнопка панели предназначена для вызова диалога завершения программы. Диалоговый экран завершения работы программы выводит предупредительную информацию о возможной потере данных, если текущий проект не был сохранён в файл. Закрытие диалогового экрана также осуществляется повторным нажатием на соответствующую кнопку навигационной панели. Вторая кнопка панели навигации вызывает диалоговый экран встроенного менеджера файлов (рис. 29). Элементами данного диалогового экрана являются три вертикально расположенных кнопки: «Новый проект», «Открыть проект» и «Сохранить проект». Первая (сверху вниз) функциональная кнопка осуществляет сброс всех параметров текущего проекта к значениям по умолчанию. Данное действие сопровождается дополнительным диалогом подтверждения. Вторая кнопка выводит на экран элементы файловой системы в наиболее традиционном представлении (рис. 30).
Рисунок 29 – Диалоговый экран встроенного менеджера файлов
В левой части диалогового экрана открытия файла представлен список каталогов. Корневой каталог создается в системе при инсталляции программы. Доступ к каталогам, расположенным выше корневого по иерархии, посредством встроенного менеджера файлов не осуществляется.
Рисунок 30 – Диалоговый экран открытия файла проекта
В правой части диалогового экрана открытия файла представлен список файлов текущего активного каталога. Файлы отфильтрованы по расширению, соответствующему типу файлов программы (файлы, имеющие иное расширение, в списке не отображаются).
Навигация в структуре каталогов осуществляется путем одинарного клика мышью (или одинарного нажатия на сенсорный экран) по названию каталога в списке. Возврат на верхний иерархический уровень осуществляется кликом по верхней пустой строке с соответствующей пиктограммой (рис. 31).
Рисунок 31 – Изображение строки возврата на верхний уровень каталогов
Выбор файла осуществляется аналогичным одинарным кликом по названию файла в правом списке. При этом название выбранного файла отображается ярким зеленым цветом (рис. 32).
Рисунок 32 – Выделение названия цветом при выборе файла
Списки каталогов и файлов оснащены вертикальной и горизонтальной полосами прокрутки, позволяющими вмещать любое количество элементов списка в поле фиксированных размеров.
Третья кнопка диалогового экрана менеджера файлов отображает диалоговый экран сохранения файла, аналогичный диалогу открытия, но при этом оснащённый текстовым полем ввода названия файла (рис. 33).
Рисунок 33 – Диалоговый экран сохранения файла проекта
Текстовое поле, расположенное в верхней части экрана предназначено для клавиатурного ввода названия файла. В случае работы на устройстве без физической клавиатуры предполагается использование виртуальной клавиатуры, являющейся компонентом операционной системы или автономным фоновым приложением. Ввод имени файла осуществляется без расширения. При вводе текста в поле поддерживаются только текстовые и цифровые символы. Максимальная длина вводимого текста составляет 128 символов. Если требуется перезапись существующего файла проекта, его необходимо выбрать в списке файлов. При этом в поле названия файла отобразится фактическое название выбранного файла.
Подтверждение (или отмена) действия в диалоговых экранах открытия и сохранения файлов осуществляется с помощью соответствующих кнопок, расположенных в правом нижнем углу экрана.
Третья кнопка панели навигации вызывает диалоговый экран настройки параметров заготовки (рис. 34).
Рисунок 34 – Диалоговый экран настройки параметров заготовки
Основными элементами экрана настройки параметров заготовки являются поле размерной привязки и панель параметров заготовки. В поле размерной привязки изображена рабочая зона токарного станка с видом сверху. На условном чертеже представлены основные подвижные узлы станка: трёхкулачковый патрон, револьверная головка и задняя бабка (для длинных заготовок). С помощью соответствующих кнопок увеличения/уменьшения числовых значений первых четырех параметров (на правой панели) задаются основные размеры заготовки и её вылет из патрона (таблица 4).
Параметры L1 и L2 представляют собой фиксированные размеры трёхкулачкового патрона, отложенные от точки машинного нуля, обозначенной на чертеже буквой M. Параметр L3 представляет собой фактический вылет заготовки и зависит от заданных пользователем параметров L, D и L4.
Группа из десяти параметров, расположенных в нижней части правой панели, предназначена для изменения значений нулевых корректоров станка или, другими словами, для позиционирования нулей W2–6 пяти дополнительных рабочих систем координат, переключение между которыми осуществляется программно с помощью соответствующих функций G55–G59. Координаты нулей дополнительных систем координат отсчитываются от точки машинного нуля. Основная рабочая система координат с нулем W1 всегда позиционируется на правом торце заготовки, закреплённой в патроне, с учётом припуска на первичную торцевую обработку L5. Рабочие системы координат и их нули изображены на чертеже цветными осями и соответствующими значками (рис. 35).
Рисунок 35 – Фрагмент чертежа размерной привязки заготовки
Наряду с заготовкой в поле чертежа размерной привязки изображена револьверная головка с установленным в неё инструментом. Если револьверная головка укомплектована осевым инструментом, на чертеже одновременно изображаются сверло с номинальным продольным вылетом Zm и резец для наружной обработки с номинальным поперечным вылетом Xm (рис. 36.а). При использовании инструментов только для наружной обработки осевой инструмент на чертеже не показывается (рис. 36.б).
Рисунок 36 – Различные варианты комплектации револьверной головки при использовании осевого инструмента (а) и без использования осевого инструмента (б)
Референтное положение револьверной головки определяется таким образом, чтобы теоретический инструмент с номинальными вылетами Zm и Xm имел безопасные продольный Z' и поперечный X' отступы от правого нижнего угла контура заготовки в плане. Значения безопасных отступов Z' и X' не регулируются и составляют 30 мм.
При выставлении размеров заготовки автоматически контролируется соблюдение условия поджатия длинных заготовок задним центром. Так, если значение вылета L3 превышает 3 диаметра заготовки, в поле чертежа отображается пиноль задней бабки с установленным в неё задним центром. При смене установа детали после первой обработки переналадка станка в отношении привязки заготовки и нулей рабочих систем координат не производится.
Четвертая кнопка панели навигации вызывает диалоговый экран настройки параметров инструмента (рис. 37). В левой части экрана представлен список (каталог) инструментов, включающий 185 наименований различных инструментов для наружной и внутренней обработки деталей. Каждая позиция списка начинается с интерактивной пиктограммы инструмента, в общих чертах характеризующей форму пластины и рекомендуемые направления рабочих подач. Справа от пиктограммы инструмента идут порядковый номер и краткое текстовое описание инструмента, включая его геометрические характеристики и вид токарной обработки, в которой рекомендуется использовать данный инструмент. Список инструмента снабжен вертикальной полосой прокрутки.
В правой части экрана настройки параметров инструмента сверху расположен ряд квадратных ячеек с порядковыми номерами с 1 по 8, что соответствует позициям револьверной головки.
Рисунок 37 – Диалоговый экран настройки параметров инструмента
Для установки инструмента в нужную позицию револьверной головки необходимо навести указатель мыши на пиктограмму с изображением инструмента в списке, затем нажать левую кнопку мыши, и, удерживая её нажатой, переместить пиктограмму на свободную ячейку в правой верхней части экрана, после чего отпустить кнопку мыши. В случае если инструмент перемещается на уже занятую позицию, он будет автоматически возвращен в каталог. При работе на устройстве с сенсорным экраном перемещение пиктограмм инструментов осуществляется аналогичным образом путем непрерывного касания экрана с перемещением по экрану.
Возврат установленного инструмента в каталог осуществляется аналогичным перемещением пиктограммы. При этом пиктограмму возвращаемого инструмента достаточно переместить в любую область поля списка инструментов.
Для перестановки уже установленного инструмента с одной позиции на другую (свободную или занятую другим инструментом) достаточно переместить пиктограмму в пределах блока позиций револьверной головки. Если при этом ячейка, в которую перемещается инструмент, уже занята другим инструментом, данные инструменты будут поменяны местами.
Ниже блока позиций револьверной головки представлен чертеж размерной привязки инструмента, отображающий модель инструмента и оснастки в плане, фактические значения продольного и поперечного вылетов, а также геометрическую схему режущей пластины инструмента в плане.
Положение точки нуля инструмента, обозначенной соответствующим значком, не подлежит изменению, и соответствует центру отверстия в плоскости лицевой поверхности револьверной головки.
Вылеты инструмента могут изменяться в зависимости от типа инструмента с помощью кнопок увеличения/уменьшения значения вылета, расположенных в нижней правой части поля чертежа размерной привязки (рисунок 38). Для наружных инструментов изменяется поперечный вылет по оси X в меньшую сторону, а для осевых инструментов – продольный вылет по оси Z в большую или меньшую сторону.
Настройка вылетов инструментов является одним из этапов наладки станка. Укорочение вылета осевых инструментов путем их заглубления в полость технологической оснастки (и, соответственно, револьверной головки) позволяет расширить границы рабочего пространства станка при обработке наружной поверхности вблизи патрона при условии, что в револьверной головке закреплены как осевые инструменты, так и инструменты для наружной обработки.
Переключение между инструментами, установленными в револьверную головку, осуществляется с помощью соответствующих кнопок «влево»/«вправо», расположенных в правом верхнем углу поля чертежа размерной привязки. Основные геометрические параметры инструмента отображаются в нижней части чертежа.
Рисунок 38 – Вид чертежа размерной привязки инструмента
Осевой инструмент не используется в случае поджатия заготовки задним центром. При этом если револьверная головка предварительно укомплектована осевым инструментом, а размеры заготовки изменяются во вторую очередь, в результате чего задействован задний центр, осевой инструмент автоматически возвращается в каталог. Во избежание данной ситуации комплектацию револьверной головки следует производить после размерной привязки заготовки.
Пятая кнопка панели навигации отображает на главном экране симулятора встроенный текстовой редактор управляющих программ (рис. 39). Текстовой редактор имеет в верхней части панель функциональных кнопок, необходимых для работы с кодом управляющей программы станка. Основную часть текстового редактора занимает текстовое поле, оснащённое вертикальной и горизонтальной полосами прокрутки. В правой нижней части редактора расположена кнопка отображения/скрытия виртуальной клавиатуры.
Рисунок 39 – Вид главного экрана симулятора с открытым редактором управляющих программ
Набор текста в текстовом поле может осуществляться как с помощью физической, так и с помощью виртуальной клавиатуры (рис. 40).
Рисунок 40 – Виртуальная клавиатура для набора текста в редакторе кода
Основные операции по редактированию текста в редакторе кода аналогичны операциям редактирования текста в стандартном текстовом редакторе «Блокнот» операционной системы Microsoft Windows. Редактор позволяет осуществлять стандартные операции по редактированию текста, включая передачу данных через системный буфер обмена (операции копирования, вырезки и вставки фрагментов текста). Выделение фрагментов текста осуществляется тремя способами, включая операции курсорными клавишами физической клавиатуры (с нажатой клавишей Shift), кнопками мыши и сенсорного взаимодействия с экраном (с помощью специальной кнопки Select Start виртуальной клавиатуры).
Панель функциональных кнопок текстового редактора включает 8 кнопок (рис. 41), статус активности которых зависит от текущего состояния процесса симуляции, а также наличия выделенного фрагмента текста.
Рисунок 41 – Панель функциональных кнопок редактора кода
Если в тексте управляющей программы не выделено ни одного фрагмента, кнопка «Копировать» (1) имеет дополнительную надпись «ALL». Это означает, что при нажатии на данную кнопку в буфер обмена будет скопирован весь текст управляющей программы. В противном случае (при наличии выделенного фрагмента текста) в буфер обмена копируется только выделенный текст. Кнопка «Вырезать» (2) активируется при наличии выделенного фрагмента текста. При нажатии на данную кнопку осуществляется стандартная операция копирования с последующим удалением выделенного фрагмента из текста. Кнопка «Вставить» (3) активируется при наличии текста в буфере обмена. Вставка осуществляется в позицию нахождения мерцающего курсора (каретки). Если при этом в тексте выделен фрагмент, данный фрагмент текста заменяется. Кнопка «Удалить» (4) предназначена для моментального удаления всего текста управляющей программы с подтверждением. Кнопки «Пуск», «Пауза», «Стоп» (5-7) предназначены для управления процессом симуляции. Для начала выполнения управляющей программы необходимо нажать на кнопку «Пуск». В процессе симуляции редактирование управляющей программы недоступно. Кнопка «Справочник используемых кодов» (8) предназначена для вывода на экран перечня используемых G/M-кодов с кратким описанием их формата.
Ниже панели функциональных кнопок текстового редактора управляющих программ расположены 5 интерактивных вкладок с названиями управляющих программ текущего проекта. С помощью данных вкладок осуществляется переключение между управляющими программами. При запуске процесса симуляции выполняется текущая открытая управляющая программа.
В левой части главного экрана симулятора находятся дополнительные функциональные кнопки (рис. 42), отвечающие за различные настройки программы.
Рисунок 42 – Дополнительные функциональные кнопки главного экрана программы
Кнопка «О программе» (1) отображает на экране информацию о текущей версии программы, контактную информацию разработчика, а также лицензионную информацию. Кнопка «Переключение языка» (2) предназначена для переключения языковых настроек графического интерфейса программы. В зависимости от текущего языка изображение на кнопке меняется. По умолчанию после инсталляции программа работает в режиме английского языка. Кнопка «Включение/Выключение звука» (3) используется для включения/выключения звукового сопровождения процесса симуляции. Кнопка «Переключение режима графики» (4) предназначена для переключения режима отображения 3D модели станка и окружения. При этом доступно два режима отображения – режим высокополигональной графики (включен по умолчанию) и режим низкополигональной графики, предназначенный для скрытия второстепенных графических элементов. В режиме низкополигональной графики геометрическая модель станка существенно упрощена и показана моноцветными полупрозрачными блоками. В данном режиме не отображаются графические текстуры, отсутствует имитация окружения, смазочно-охлаждающей жидкости и стружки. Режим низкополигональной графики используется в случае, если необходимо сконцентрировать внимание пользователя на контуре обрабатываемой детали и траекториях перемещения инструмента. В зависимости от текущего графического режима изображение на кнопке меняется. Кнопка «Включение/Выключение 2D геометрии» (5) предназначена для включения/выключения двухмерных геометрических построений в трёхмерном пространстве симулятора. Под 2D геометрией понимаются такие графические элементы, как координатные оси, значки нулевых точек и контуры обрабатываемой детали и инструмента. При обработке внутренних поверхностей детали (сверлении и растачивании) отображение 2D контура детали в наиболее полной мере способствует визуальному контролю процесса обработки внутренних поверхностей. Кнопка «Включение/Выключение траекторий перемещения инструмента» (6) предназначена для включения/выключения функции отображения траекторий перемещения резцов и свёрел в плоскости резания. Расчёт траектории перемещения каждого установленного в револьверную головку инструмента осуществляется с момента запуска симуляции до момента её завершения. Траектории отображаются сплошными цветными линиями.
Также на главном экране программы отображается дополнительная текстовая информация: номер текущего установа детали, текущее время симуляции, координаты расчётной точки резца, параметры скоростного режима обработки. Если в процессе симуляции текстовой редактор управляющих программ закрыт, в верхней части главного экрана отображаются кнопки управления процессом симуляции «Пуск», «Пауза», «Стоп» и строка текущего выполняемого кадра (рис. 43).
Рисунок 43 – Дополнительные элементы главного экрана программы в процессе симуляции при закрытом текстовом редакторе
После выполнения обработки детали с первого установа в левой части главного экрана отображается дополнительная кнопка смены установа (рис. 44.а). После смены установа с первого на второй контур детали зеркально отражается относительно центра масс исходной заготовки в направлении оси Z, и на экране отображаются дополнительные три кнопки продольного смещения детали (рис. 44.б). Нажатие на кнопку 1 приводит к дискретному продольному смещению детали влево (в сторону точки машинного нуля). Нажатие на кнопку 2 приводит к смещению детали вправо. Кнопка 3 служит для обнуления заданных смещений детали. При этом следует учитывать, что повторная привязка заготовки не осуществляется (расположение нулевых корректоров сохраняется с предыдущей настройки).
Рисунок 44 – Дополнительные кнопки настройки установа детали
Повторный вызов диалогового экрана параметров заготовки после осуществления обработки детали с первого установа инициирует диалоговый экран подтверждения сброса изменений контура детали.
В нижней части главного экрана программы мелким шрифтом отображается системная информация о ресурсах: текущее значение кадровой частоты (Frame Per Second), объем используемой видеопамяти в мегабайтах, количество единовременно отображаемых на экране полигональных фасетов, количество загруженных в память рисунков, количество используемых графических спрайтов и время прорисовки одного полноэкранного кадра в секундах.
В левом нижнем углу главного экрана расположена кнопка переключения режима виртуальной камеры (рис. 45). На кнопке изображен номер целевого (следующего по счёту) режима камеры, на который будет переключен экран. Всего предусмотрено 5 режимов работы камеры.
Рисунок 45 – Кнопка переключения режима виртуальной камеры в различных вариантах отображения
Режим №1 виртуальной камеры является управляемым. При этом камера перемещается в сферической системе координат вокруг точки фокусировки (рис. 46). Точка фокусировки камеры может перемещаться в вертикальной фронтальной плоскости пространства модели. Кроме того, камера может дистанцироваться относительно точки фокусировки на произвольное расстояние, ограниченное габаритами пространства.
Основные манипуляции с камерой в режиме №1 осуществляются с помощью компьютерной мыши (сенсорное управление описано ниже). При этом нажатие и удерживание левой кнопки мыши с сопутствующим перемещением мыши приводит к перемещению точки фокусировки камеры во фронтальной плоскости пространства. Нажатие и удерживание правой кнопки мыши с сопутствующим перемещением мыши приводит к вращению камеры относительно точки фокусировки. Углы вращения (азимут и элевация) камеры ограничены габаритами пространства модели. Изменение дистанции камеры осуществляется вращением колеса прокрутки в прямом и обратном направлениях.
Рисунок 46 – Схема управления камерой в режиме №1
Справа от кнопки переключения режима камеры (в режиме №1) отображается кнопка отключения управления камерой с помощью мыши (рис. 47.а).
Рисунок 47 – Кнопка переключения режима виртуальной камеры в различных вариантах отображения
При отключении управления камерой с помощью мыши в нижней части главного экрана отображается группа кнопок-переключателей (рис. 47.б) для осуществления сенсорного управления камерой в режиме №1. Кнопка 1 активирует операцию смещения точки фокусировки камеры, кнопка 2 – операцию вращения камеры относительно точки фокусировки, а кнопка 3 – операцию изменения дистанции от камеры до точки фокусировки, соответственно. Сами манипуляции при этом осуществляются путём взаимодействия с сенсорным экраном.
Режимы камеры №2-5 предназначены для позиционирования камеры в точки с фиксированным ракурсом. Режим №2 позиционирует камеру над вершиной текущего инструмента (вид сверху). Перспективные искажения камеры в данном режиме отключены (используется ортогональная проекция). В режиме №3 камера работает в изометрии. Режимы №4 и №5 фиксируют камеру в двух дополнительных точках обзора.
Все настройки программы, включая положение камеры, сохраняются при завершении работы.
В симуляторе не имитируется конкретное программное обеспечение системы ЧПУ. Панель управления станком представлена условным дисплеем, на котором в процессе симуляции выводится основная технологическая информация (рис. 48). В левой верхней части дисплея представлены текущие координаты расчётной точки резца по осям X и Z. Это координаты программируемой точки, лежащей на траектории перемещения инструмента, в текущий момент времени. В исходном состоянии данные значения представлены в миллиметрах. При программном изменении системы измерений координаты (а также значение подачи) отображаются в дюймах. Единицы измерения отображаются справа от самих числовых значений координат. Все поперечные перемещения программируются на диаметр заготовки. Поэтому координатные оси X и Z имеют разный масштаб.
В левой нижней части дисплея отображаются (желтым цветом) текущие технологические параметры: частота вращения шпинделя S (об/мин), рабочая подача F (мм/мин) и номер текущей позиции револьверной головки T.
В правой нижней части дисплея расположены 6 ячеек для отображения активных модальных функций системы ЧПУ. Слева направо в ячейках отображаются следующие функции: направление вращения шпинделя M03/M04, работа системы СОЖ M07–M09, текущая рабочая система координат G53–G59, тип рабочей подачи G98/G99 и тип интерполяции G00–G03.
Рисунок 48 – Внешний вид дисплея СЧПУ имитационной модели станка
Перспективы развития проекта
Ближайшие перспективы развития представленного проекта включают в себя ряд задач.
Задача №1: расширение функционала программного продукта в части технологии токарной обработки, включая: автоматизированную подготовку расчётно-технологической карты обрабатываемого изделия, систему контроля размеров изделия на всех этапах симуляции технологического процесса, совместимость форматов управляющих программ, а также поддержку стандартов существующих CAD/CAM пакетов.
Задача №2: реализация возможности пользовательской конфигурации моделируемого станка, включая: выбор типа компоновки основных узлов станка, выбор и изменение типов технологической оснастки и инструмента, симуляцию этапов наладки станка на осуществление конкретных технологических операций.
Задача №3: расширение функционала в части числового программного управления станка, включая: поддержку дополнительных систем ЧПУ, имитацию интерфейса панелей управления конкретных систем ЧПУ, реализацию возможностей макропрограммирования и диалогового программирования технологических операций.
Задача №4: реализация физико-математической модели процесса токарной обработки с учётом свойств материалов, и построение на её основе компонента экспертной системы, осуществляющей диалог с пользователем в форме рекомендаций и корректирующих подсказок.
Задача №5: модификация алгоритма формообразования детали, дающая возможность симуляции операций фрезерной обработки с использованием соответствующего приводного инструмента.
Наряду с перечисленными основными задачами необходимо внести ряд оптимизаций в общий функционал программного продукта.
Выводы и заключения
На текущий момент достигнутые результаты по проекту в полной мере отвечают поставленным в начале работы целям и задачам. Программный продукт апробирован в учебном процессе на базе нескольких образовательных организаций, в том числе в Майкопском государственном технологическом университете, АНО «УЦДПО ГородМастеров-НН» и Центральном университете Квинсленда (CQUniversity, Австралия). Мобильные версии приложения проходят апробацию среди частных пользователей посредством платформ GooglePlay и AppStore. Расширение функциональности в части реализации описанных выше перспективных задач позволит улучшить показатели эффективности программного продукта и повысить его конкурентоспособность в целом.
Библиографический список
1. Gokce Harun – Object Modeling Based Polygon For 3D CNC Lathe Simulation Softwares // Journal of Polytechnic, 2016; 19 (2): 155-161.
2. Okan Topcu, Ersan Aslan – Web-based Simulation of a Lathe using Java 3D API // 2nd International Symposium on Computing in Science & Engineering. 2011.
3. Абрамова О. Ф. – Сравнительный анализ алгоритмов удаления невидимых линий и поверхностей, работающих в пространстве изображения / О.Ф. Абрамова, Н.С. Никонова // НоваИнфо. Технические науки. 2015. №38-1.
4. David Douglas, Thomas Peucker – Algorithms for the reduction of the number of points required to represent a digitized line or its caricature // The Canadian Cartographer 10(2), 112-122 (1973).
5. John Hershberger, Jack Snoeyink – Speeding Up the Douglas-Peucker Line-Simplification Algorithm // Proc 5th Symp on Data Handling, 134-143 (1992).
6. Ahmet Gencoglu – Physics Based Turning Process Simulation / A Thesis Submitted In Partial Fulfillment Of The Requirements For The Degree Of Master Of Applied Science // The University of British Columbia (Vancouver). August, 2011. 122 p.
uss
вот бы ещё статью как преодолеть проблемы металлообработки с помощью программных комплексов:
1. отгиб заготовки
2. контроль напряжения режущего инструмента
3. контроль нагрузки на инструмент и расчёт ресурса инструмента-оборудования
и не на уровне дополнительных приборов-таблиц-статистики, а как раз на уровне программы
может я чего не понимаю но имитационная модель обязана включать в себя ещё и станок-оснастку-инструмент?