Построение системы адаптивного управления на основе аппарата нечеткой логики позволяет упростить элементы структуры системы, а также наделяет дискретный по своей сути метод управления некоторыми непрерывными свойствами, что должно повысить качество управления и сократить объем базы знаний.
Для управления пневматическим приводом в процессе погрузочно-разгрузочных операций для обеспечения основного технологического процесса можно применить методы нечеткого вывода, которые широко используются в разработке нечетких регуляторов. Основное назначение регулятора – это управление внешним объектом, при котором поведение управляемого объекта описывается нечеткими правилами. Регуляторы нечеткой логики – наиболее важное приложение теории нечетких множеств. Их функционирование отличается от работы обычных контроллеров тем, что для описания системы используются знания экспертов вместо дифференциальных уравнений.
Нечеткая логика позволяет ввести в систему адаптивного управления определенную общеизвестную (априорную) информацию об объекте в виде нечетких фреймов управления. Априорная информация обеспечивает одно из основных начальных условий системы, построенной по методу адаптивного управления, – условие максимальной начальной приспособленности.
Практическая реализация управляющих программ на основе нечеткой логики для числового программного типа управления производственных систем и систем реального времени не нашла широкого распространения. В силу того, что каждый новый техпроцесс требует участия технолога на начальном этапе, а также необходимы дополнительные программные модули анализа, формирования управляющих кодов и трансляции. Внедрение в CAM системы таких модулей наиболее предпочтительно и с практической точки зрения выполнимо.
Основная часть
Процесс создания управляющих программ пневмопривода подачи заготовок фрезерно-расточного станка на основе нечеткой логики представляет собой следующую последовательность этапов, представленных на рис. 1.
Рис. 1. Этапы создания управляющих программ пневмопривода на основе нечеткой логики
Верхний уровень представляет собой руководство инженера-технолога по задаче осуществления погрузочно-разгрузочных операций для поддержки определенного технологического процесса.
Следующий этап – выбор необходимого режима работы пневмопривода, основные показатели для осуществления выбора – нагрузка, точность позиционирования, быстродействие и, возможно, функция слежения.
Третий шаг – преобразование показателей режимов в конкретные числовые значения параметров элементов системы управления пневмопривода, с приращением, в зависимости от данных с датчиков.
Четвертый этап – фаззификация, то есть преобразование четких экспериментальных значений входных переменных в нечеткие с использованием лингвистического описания параметров (L, a1, a2,). На основе лингвистических переменных формируем нечеткие фреймы управления:
ЕСЛИ L ТО α1 И α2.
А затем на основе полученных фреймов формируется база знаний.
Заключительный этап – дефаззификация, то есть приведение нечетких фреймов управления реальным управляющим командам, которые записываются и хранятся в базе данных программ задания режимов работы пневмоприводов. Для того, чтобы обеспечить приведение формального нечеткого описания, необходим так называемый нечеткий регулятор, который представляет собой программный модуль, преобразующий нечеткие фреймы в управляющие команды, воспринимаемые системой с числовым программным управлением [6].
Рис. 2. Функциональная модель управления пневматическим приводом подачи фрезерно-расточного станка
Для эффективной и рациональной работы такого модуля необходимо интегрировать его в CAM систему с последующей его работой с ЧПУ любого фрезерно-расточного станка.
На рис. 2 показана укрупненная функциональная модель программного управления пневматическим приводом подачи заготовок для фрезерно-расточного станка на основе нечеткой логики.
CAM система предназначена для автоматизированной генерации управляющих программ для станков с ЧПУ. Для конечного пользователя очень важно использовать все возможности CAM системы на одном конкретном станке, который имеется у него в наличии, соответственно, без подключения стороннего программного обеспечения или дорогого технологического оборудования поддержки процесса обработки [4].
Современные CAM системы представляют собой сложные программные комплексы с множеством подпрограмм, модулей и классов реализующих различные функциональные задачи. Основанием для работы CAM служат аппаратные языки VHDL и Verilog, а также системный и метапрограммируемый язык С++ и его библиотека SystemC [5].
Программы, написанные на данных языках программирования, как правило, пишутся под конкретные станок и задачу обработки. Поэтому если возникает необходимость изменения каких-либо технологических параметров или добавления новых типов станка в CAM систему, то возникает необходимость долгого и сложного процесса программирования на соответствующих языках. Облегчить эту задачу позволяет спецификация XML. Это расширяемый язык программирования, позволяющий создавать код в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Этот код записывается в XML-файл [1, 2, 3].
В нашем случае XML-файл имеет сложную структуру, в нем, помимо результатов процесса дефаззификации нечеткого вывода переведенных в управляющие команды, описываются параметры и кинематические схемы фрезерно-расточного станка и пневмопривода подачи. В свою очередь XML-файл считывается и исполняется событийным XML-процессором (парсер), который должен быть установлен в CAM системе. По сути парсер представляет собой программу, анализирующую написанный или сгенерированный код в файле определенной структуры и передающую код исполняющей программе или приложению.
В состав парсера анализа нечеткой логики пневмоприводов фрезерного станка для CAM входят следующие классы:
– MainClass – основной класс, содержащий объекты расчета, анализа и менеджера файлов. Пользователь через пользовательский интерфейс CAM системы будет взаимодействовать с этим классом;
– FileManager – список файлов. Класс содержит множество объектов класса File. Позволяет удалять файлы, создавать новые и осуществлять выбор;
– File – абстрактный файл;
– Translator – класс транслятора, входит в состав CAM системы. Считывает данные сформированного XML-файла и построчно переводит его содержимое в G-код или, если это необходимо, на язык электроавтоматики;
– TransformManager – класс, предназначенный для загрузки трансформаций из записей XML-файла, их оптимизации и сохранения в XML-файл;
– ClassType – класс, описывающий запись в XML-файле. Имеет ссылки на дочерний и соседний элементы;
– XMLFile – класс наследник от класса File. Содержит список объектов ClassType;
– Logging – это объект, который отвечает за протоколирование. Объект имеет метод добавления события, который записывает передаваемую строку и время события в файл лога.
Иерархия классов представлена на рис. 3.
XML-файл, описывающий рабочие характеристики и режим работы пневмопривода подачи станка состоит из древовидного набора записей (ClassType). Он имеет иерархическую структуру. Был создан класс ClassType – запись XML-файла. При чтении файла система строит дерево объектов этого класса. Таким образом, при загрузке файла строится деревья его записей. Вся дальнейшая работа ведётся с этим деревом. При необходимости по этому дереву может быть сгенерирован XML-файл. Для интеграции, а следовательно, и ускорения работы с CAM станка данный класс описания работы пневматического привода записывается в общий XML-файл станка, а не подгружается отдельно либо же по ссылке.
Каждый ClassType имеет вид, представленный на рис. 4.
На базе представленных базовых типов выстраиваются комплексные основные типы. На рис. 5 приведён пример основного типа.
Данный комплексный основной тип описывает параметры угла поворота шагового двигателя первого (левого) кранового пневматического распределителя до некоторого показателя от обратной связи и последующего включения второго (правого) кранового пневмораспределителя. Таким образом, осуществляется дифференциальный (разностный) принцип управления пневмоприводом.
Рис. 3. Архитектура классов
Рис. 4. Типовая запись XML-файла: ID – уникальный идентификатор записи; Caption – описание записи (может быть опущено); Type – тип записи. Существуют несколько базовых типов: String – строка; Double – число с плавающей запятой; Array – массив записей; Complex – сложный тип, обозначающий наличие дочерних узлов; Enumerated – перечисление. Имеет дочерние элементы, только один из которых является активным. DefaultValue – начальное значение. Может быть опущено. Для типов Array и Complex не указывается. Для типа Enumerated здесь указывается ID дочернего узла, являющегося на данный момент активным. Enabled – флаг активности записи
Рис. 5. Пример основного типа
Рис. 6. Пример основного типа результатов нечеткого вывода
Результат нечеткого вывода записывается в отдельный файл формата XML. Поэтому в XML-файле управления пневмоприводом станка должна быть ссылка на результирующий тип этого файла или ссылка на место хранения файла на постоянном носителе информации. Пример основного типа из файла результатов нечеткого вывода представлен на рис. 6.
В качестве среды разработки была применена Geany с компилятором GCC. Выбор этой среды был обусловлен наличием необходимых библиотек и компонентов.
Для более простой и понятной работы оператора с предлагаемым программным решением, а также повышения степени автоматизации с CAM существует необходимость формирования управляющих программ на основе визуальных 2D или 3D моделей как станка, так и пневмопривода подачи на основе нечеткого вывода.
Результаты экспериментов
Апробация предлагаемого программного решения проводилась на основе открытого кода системы FreeCAM с использованием внутренних постпроцессоров. Данная система позволяет подготовить управляющую программу для системы числового программного управления EMC2, которая запускается под операционными системами семейства Linux. Поэтому данная разработка легко запускается на недорогом персональном компьютере. Также возможна интеграция с ядрами коммерческих CAM систем.
Аппаратная часть включала пневматические приводы робота МП-9С и фрезерно-расточной станок Haas. Результаты работы полностью удовлетворяют требованиям по точности установки обрабатываемых изделий.
Выводы
Предлагаемое решение системы управления пневмоприводом подачи и слежения позволяет на основе использования программных средств нечеткой логики и XML-процессора встраивать в систему числового программного управления фрезерно-расточного станка программные модули работы пневмопривода для обеспечения технологических операций погрузки и выгрузки заготовок и деталей, а также возможность процесса слежения для такого типа металлообрабатывающего станка.
Библиографическая ссылка
Хазиев Э.Л., Хазиев М.Л. НЕЧЕТКОЕ УПРАВЛЕНИЕ ПНЕВМОПРИВОДОМ ПОДАЧИ ФРЕЗЕРНО-РАСТОЧНОГО СТАНКА С ПРИМЕНЕНИЕМ СПЕЦИФИКАЦИИ XML // Современные наукоемкие технологии. – 2016. – № 9-1. – С. 84-88;URL: https://top-technologies.ru/ru/article/view?id=36182 (дата обращения: 17.08.2024).