УДК 622
И. А. Баранова
РАЗРАБОТКА СИСТЕМЫ ПРОЕКТИРОВАНИЯ РЕГУЛЯТОРОВ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРОМЫШЛЕННЫХ ОБЪЕКТОВ
Данная статья посвящена разработке среды проектирования нейросетевых регуляторов для промышленных объектов. В настоящее время применение нетрадиционных алгоритмов на практике является проблематичным, так как отсутствуют инструменты, позволяющие переходить от эмуляции к реальным технологическим процессам. Разработанная программа существенно расширяет круг возможностей существующих сред программирования ПЛК при создании регулятора, основанного на нейронной сети.
Ключевые слов: нейронная сеть, регулятор, программируемый логический контроллер, среда разработки, обратное распространение ошибки, управление.
Для управления технологическими процессами применяются различные способы регулирования их параметров. В частности, широко распространен ПИД - закон регулирования, основанный на формировании управляющего сигнала на выходе регулятора, действие которого направлено на уменьшения отклонения текущего значения контролируемой величины от заданного.
Однако существует класс объектов управления, для которых трудно определить передаточную функцию - зависимости, вовлеченные в его реализацию, настолько сложны, что не допускают аналитического представления, или неизвестны. В таких случаях вычисление оптимального управления с использованием классических регуляторов становится невозможным. Решить проблему регулирования можно с использованием нетрадиционных методов управления, таких, как нейронные сети [1].
В настоящее время существует множество инструментов для проектирования и анализа работы нейронных сетей. Однако результаты, полученные в результате работы над подобным регулятором, неприменимы к практике, так как алгоритм, созданный и проверенный в режиме эмуляции, не адаптирован для реального программируемого логического контроллера и обслуживаемого им технологического процесса. В данных инструментах используются языки программирования, не поддерживаемые контроллерами.
Для программирования современных контроллеров используются языки стандарта МЭК 61131-3: IL, FBD, LD, SFC, ST. Каждый из этих языков имеет свои особенности и удобен для написания определенного типа алгоритмов. Однако стоит выделить язык ST (Structured Text) -текстовый язык программирования, удобный для обработки аналоговых сигналов, написания больших программ и работы с числами с плавающей точкой. Поэтому на языке ST удобнее описывать математические преобразования, лежащие в основе нейронных сетей. Копирование и вставка текста на языке ST из одного программного комплекса в другой может быть выполнена с минимальными изменениями, освобождая программиста от аппаратной платформы.
В настоящее время существует достаточно много инструментов для написания программ к ПЛК. Однако среди них стоит выделить программный комплекс промышленной автоматизации CodeSys. Основой комплекса является среда разработки прикладных программ, снабженная редакторами всех языков, определенных стандартом МЭК 61131-3.
Разработанная на языке ST модель нейронной сети представляет собой многослойный персептрон с неопределенным количеством слоев и функциональных элементов каждого слоя. Каждый нейрон с точки зрения ST является математической функцией - нелинейным преобразователем, в котором полученный сигнал меняется в соответствии с функцией активации, а набор сигналов, снятый с определенного слоя, записывается в динамически созданный двумерный массив. На рисунке 1 приведена структура полученного регулятора.
© Баринова И. А., 2012.
ISSN 2223-4047
Вестник магистратуры. 2012. №24(7).
Рис. 1. Нейронный регулятор
Для управления технологическим процессом целесообразно применить алгоритм обратного распространения ошибки [2]. Обучение в этом случае предполагает два прохода по сети -прямой и обратный. При прямом проходе вектор подается на входной слой нейронной сети, после чего распространяется от слоя к слою. Во время обратного прохода все синаптические веса настраиваются в соответствии с правилом коррекции ошибок. Для формирования желаемого сигнала был реализован так называемый идеальный наблюдатель, к переходной характеристике которого должна приближаться реакция объекта. В [3] была показана эффективность данного регулятора и описаны основные этапы преобразования полученных сигналов.
Однако программа, написанная в среде CodeSys, ПЛК не является гибкой и переналаживаемой. И при переходе от одного объекта управления к другому понадобится существенное ее изменение. Поэтому была реализована собственная среда разработки нейронных регуляторов NeuroPLC на основании выбранного алгоритма, в котором не были жестко заданы параметры.
Пользовательский интерфейс среды NeuroPLC написан на языке Delphi. Он предоставляет возможность создать собственный регулятор: выбрать количество слоев, нейронов в каждом слое, отредактировать идеального наблюдателя в соответствии с требуемой точностью и сохранить все настройки в отдельный файл. Таким образом, созданный регулятор может использоваться в нескольких контроллерах.
Для полноценной работы программы необходима была реализация связи с контроллером. Данный интерфейс использует технологию OPC для сбора информации от контроллера и отправки в него необходимых параметров в автоматическом режиме. Использование OPC-сервера позволило расширить круг возможностей NeuroPLC: оперативно собирать информацию и состоянии контроллера и объекта управления, строить графики интересующих пользователя переходных процессов в реальном времени.
Часто необходимо вести разработку программ в отсутствие необходимого оборудования. Если работа ведется без контроллера, для его эмуляции программа подключает программный ПЛК SoftPLC - CoDeSys SP PLCWINT, что позволяет полноценно протестировать регулятор даже без контроллера, управляющего процессом. Также для этих целей реализована возможность имитации объекта управления (процесса) с параметрами, заданными пользователем. Таким образом, NeuroPLC может использоваться не только для управления реальными процессами, но и для их эмуляции.
Для соединения с контроллером у пользователя нет необходимости обращаться к специальным средствам. Запуск контроллера и его останов производятся непосредственно из NeuroPLC.
После сбора необходимой информации разработанная программа NeuroPLC вычисляет значения критериев эффективности, формулы для расчета которых выбраны пользователем,
подсчитывает время переходного процесса. На основании предоставляемых данных пользователь сможет самостоятельно сделать вывод об эффективности применяемого алгоритма. На рисунке 2 представлено рабочее окно программы NeuroPLC.
Рис. 2. Основное окно программы NeuroPLC
Таким образом, разработанная программа NeuroPLC представляет собой систему проектирования и анализа нейросетевых регуляторов для промышленных объектов, позволяющую наблюдать за процессом управления технологическим процессом и проанализировать его эффективность как на реальном, так и на программном контроллере в случае, если разработка ведется без необходимого оборудования.
Библиографический список
1. Галушкин, А. И. Теория нейронных сетей. - Кн. 1. (Сер. «Нейрокомпьютеры и их применение») / Под ред. А. И. Галушкина. - М.: Изд-во ИПРЖР, 2000 - 416 с.
2. Горбань, А. Н. Обучение нейронных сетей / Н. А. Горбань. - М.: ParaGraph, 1990. - 256 с.: ил.
3. Баринова, И. А. Разработка нейросетевого алгоритма регулирования с помощью языков стандарта МЭК / И. А. Баринова, И. Е. Грязнов // Мат. 6-й Международной научной конференции «Актуальные вопросы современной техники и технологии». - Липецк: издательский центр «Гравис». - 2012. -С. 8-11.
БАРИНОВА Ирина Александровна - магистрант, Волгоградский государственный технический университет.