Компьютерное моделирование САУ частотно-регулируемым асинхронным электроприводом с упругой связью, представленной на рис. 5 и рис. 6, можно выполнить на любом языке программирования высокого уровня (Basic, Pascal, Delphi, C, C++ и др.). Однако наиболее целесообразно исследовать такую систему, заданную блок-схемами передаточных функций и нелинейных элементов, в приложении SIMULINK, которое является ядром интерактивного программного комплекса MАTLAB, предназначенного для математического моделирования линейных и нелинейных динамических систем и устройств, представленных функциональной блок-схемой.
При помощи данного пакета возможны различные варианты моделирования: во временной области, в частотном и фазовом диапазоне, с событийным управлением, на основе спектральных преобразований Фурье, с использованием метода Монте-Карло, допустимо использование правил нечеткой логики и искусственных нейронных сетей и т.д.
Для построения функциональной блок-схемы моделируемой системы SIMULINK имеет обширную библиотеку блочных компонентов и удобный редактор блок-схем. Он основан на графическом интерфейсе пользователя и по существу является техническим средством визуально-имитационного моделирования.
Так как в процессе моделирования системы необходимо синтезировать фаззи-регулятор, то наиболее целесообразным будет использование обновленной и расширенной версии системы MATLAB 6.1 с пакетом расширений SIMULINK 4.1.
Для построения новой модели (согласно рис. 5 и рис. 6) открываем окно создания новой модели (Untitled) и окно браузера библиотек (Simulink Library Browser), показанные на рис. 4.7, из которого переносим, удерживая нажатой левую кнопку мыши, необходимые блоки и компоненты. Затем соединяем их функциональными связями и получаем готовую расчетную блок-схему модели асинхронного частотно-регулируемого электропривода.
Исходя из условия поставленной задачи, для
успешного ее решения необходимо выбрать пятнадцать компонентов и объединить их
в единую систему, предварительно настроив параметры каждого звена.
Выбираем в левом фрейме окна браузера библиотек папку Simulink и переносим из библиотеки линейных компонентов (Continuous) интегрирующий блок (Integrator) и блок передаточной характеристики (Transfer Fcn). При раскрытии (двойной щелчок кнопкой мыши) последнего блока в окне установки параметров вводим согласно рассчитанным в подразделе 5 коэффициентам векторы полиномов числителя (Numerator) и знаменателя (Denominator), которые после установки параметров отобразятся в эмблеме блока.
Из библиотеки компонентов функций и таблиц (Function & Tables) выбираем блок задания математической функции (Fcn) для описания вычислителя В1. Окно установки параметров блока содержит единственное поле ввода функциональной зависимости выходного сигнала от входного (Expression).
Из библиотеки математических компонентов (Math) переносим в окно создания модели сумматор (Sum), при установке параметров которого, где необходимо, нужно указать знак «минус». Так же из данной библиотеки выбираем следующие блоки: блок перемножения (Product), для которого можно указать количество перемножаемых сигналов; блок вычисления модуля (Abs); блок контроля знака (Sign) и блок масштабированных данных (Gain), в окне установки параметров которого вводим численное значение коэффициента усиления.
Из библиотеки нелинейных компонентов (Nonlinear) выбираем два элемента: блок ограничения (Saturation), представляющий нелинейное устройство, сигнал на выходе которого равен входному сигналу, до тех пор, пока не будет достигнут порог ограничения, после этого сигнал перестает изменяться и остается равным пороговому значению; и управляемый переключатель (Switch) - нелинейное устройство с тремя входами, двумя крайними для сигналов данных и одним (средним) для сигнала управления. Для такого блока, если уровень сигнала управления превышает значение Threshold, задающееся в окне настройки параметров, то на выход блока поступает сигнал с верхнего входа, иначе с нижнего входа.
Из библиотеки подключающихся компонентов (Signals & System) выбираем мультиплексор (Mux), который служит для наложения нескольких входных сигналов.
Из библиотеки виртуальных регистраторов (Sinks) выбираем виртуальный осциллограф (Scope), позволяющий представлять результаты моделирования в виде временных диаграмм тех или иных процессов в форме, напоминающей осциллограммы реального прибора с масштабируемой сеткой.
Из библиотеки источников сигналов и воздействий (Sources) выбираем источник постоянного воздействия (Constant), который реализует постоянный сигнал на входе системы, и в окне установки параметров которого установим требуемое значение воздействия. Также из данной библиотеки возьмем источник времени моделирования (Clock).
Исходя из вышесказанного, составим структурную
схему модели, представленную на рис. 8. Как видно по схеме блок фаззи-регулятора
(Fuzzy Logic
Controller) и блок сигнала
задания, который формирует трапецеидальную диаграмму входного воздействия,
выполнены в виде подсистем (Subsystem)
и представлены соответственно на рис. 9 и рис. 10.
Рис. 8. Структурная расчетная схема в системе MATLAB
Рис. 9. Подсистема построения фаззи-регулятора
Подсистему, реализующую фаззи-регулятор можно выполнить как непосредственно, используя блоки и средства SIMULINK (рис. 9), согласно разработанным алгоритмам, так и применив специальный пакет прикладных программ Fuzzy Logic Toolbox, входящий в состав среды имитационного моделирования MATLAB. Данный пакет позволяет создавать системы нечеткого логического вывода и нечеткой классификации в рамках среды MATLAB, с возможностью их интегрирования в SIMULINK.
Базовым понятием Fuzzy Logic Toolbox является
FIS-структура - система нечеткого вывода (Fuzzy Inference System).
FIS-структура содержит все необходимые данные для реализации системы нечеткого
логического вывода.

В верхней части FIS-редактора изображается диаграмма, представляющая в визуальной форме входы и выходы системы нечеткого вывода. При синтезе фаззи-контроллера укажем количество входных и выходных переменных. Также в данном окне выбирем тип нечеткой системы.
Модуль fuzzy позволяет строить нечеткие системы двух типов, согласно алгоритмам Мамдани (Mamdani) и Сугэно (Sugeno). Отличие между системами Мамдани и Сугэно заключается в разных способах задания значений выходной переменной в правилах, образующих базу знаний. В системах типа Мамдани значения выходной переменной задаются нечеткими термами, в системах типа Сугэно - как линейная комбинация входных переменных.
Для решения задачи выберем в пункте меню File алгоритм типа Мамдани. В левой нижней части рабочего интерфейса FIS-редактора имеется 5 всплывающих меню настройки параметров фаззи-системы. В качестве метода логической конъюнкции (And method) выберем метод минимального значения (min). Для метода логической дизъюнкции (Or method) установим метод максимального значения (max). В качестве метода вывода заключения (Implication method) выберем также метод минимального значения (min). Установим метод максимального значения (max) для метода агрегирования (Aggregation method) значений функции принадлежности каждой из выходных переменных в заключениях нечетких правил. В завершении установим метод центра тяжести дискретного множества значений функции принадлежности (centroid) в качестве способа дефаззификации (Defuzzification method) выходных переменных в системе нечеткого вывода типа Мамдани.
Последовательно откроем окна редактора функций
принадлежности (Membership
Function
Editor) для входных (рис.
12, а) и выходных (рис. 12, б) переменных. Этот редактор предназначен для
задания и редактирования функций принадлежности отдельных термов системы
нечеткого вывода в графическом режиме. В левой нижней части окна редактора
укажем диапазон изменения входных и выходных переменных (Range).
В нашем случае это интервал от 0 до 2,5. В правой нижней части окна выберем тип
необходимых функций принадлежности (Type).
В нашем случае это три равнобедренных взаимно перекрывающихся треугольника.
Указываем для каждого соответственно координаты оснований и вершин.
Следующим этапом синтеза фаззи-контроллера является настройка параметров редактора базы правил (Rule Editor), который предназначен для задания, редактирования и модификации отдельных правил системы нечеткого вывода в графическом режиме (рис. 13).
Чтобы использовать данный редактор для создания правил, необходимо предварительно определить все входные и выходные переменные. Задавать правила можно с помощью соответствующих значений термов переменных, используя логические операторы для всего диапазона регулирования.
Для ввода каждого нового правила в базу знаний
выберем соответствующую комбинацию лингвистических термов входных и выходных
переменных, установим тип логической связки (И или ИЛИ) между переменными
внутри правила, установим наличие или отсутствие логической операции НЕ для
каждой лингвистической переменной, введем значение весового коэффициента
правила. Возможны случаи, когда истинность правила не изменяется при
произвольном значении некоторой входной переменной, т.е. эта переменная не
влияет на результат нечеткого логического вывода в данной области факторного
пространства. Тогда в качестве лингвистического значения этой переменной
установим none.
Следующим этапом является вывод программы просмотра правил фаззи-систем (Rule Wiever). Окно такой программы показано на рис. 14.
Программа просмотра правил не позволяет редактировать правила и функции принадлежности термов переменных и используется после разработки системы нечеткого вывода на этапе ее анализа и оценки. Функцию также целесообразно использовать в том случае, когда необходимо визуально представить весь процесс нечеткого вывода от начала до конца. При этом имеется возможность оценить значения выходных переменных фаззи-модели и влияние каждого из правил на результат нечеткого вывода посредством изменения значений входных переменных.
Визуализация нечеткого логического вывода
осуществляется с помощью GUI-модуля.
Этот модуль позволяет проиллюстрировать ход логического вывода по каждому
правилу, получение результирующего нечеткого множества и выполнение процедуры
дефаззификации. Каждое правило базы знаний представляется в виде
последовательности горизонтально расположенных прямоугольников. При этом три
прямоугольника в левой части окна (рис. 14) отображают функции принадлежностей
термов посылки правила ЕСЛИ, а группа из трех прямоугольников в правой части
окна соответствует функции принадлежности терма-следствия выходной переменной
(правило ТО). Четвертый прямоугольник в правой части окна графического
интерфейса отображает процесс дефаззификации выходной переменной после
аккумулирования всех заключений правил нечеткого вывода.
На завершающем этапе отобразим окно программы просмотра поверхности системы нечеткого вывода (рис. 15). Визуализация поверхности осуществляется также с помощью GUI-модуля (Surface Viewer). Этот модуль позволяет выводить графическое изображение зависимости значения выходной переменной от произвольной входной.
На рис. 15 показан график зависимости координаты центра тяжести функции принадлежности от входной величины. Как видно из графика он полностью идентичен аналогичному, построенному с помощью средств SIMULINK, используя стандартные блоки логических операций (рис. 3.20).
В результате синтеза фаззи-контроллера модель необходимо сохранить, предварительно присвоив ей имя в виде fis-файла. Затем это имя нужно ввести в окне настройки параметров блока подсистемы Fuzzy Logic Controller (рис. 8) и синтезированная модель будет работать по заложенному алгоритму.
На завершающем этапе создания модели установим параметры процесса моделирования (Simulation parameters) из основного меню Simulation. В появляющемся диалоговом окне раскроем вкладку решателя (Slover), которая позволяет установить параметры решающего устройства системы Simulink.
К числу важнейших параметров решателя относится время моделирования Simulation time. Этот параметр задаем начальным значением времени (Start time), в нашем случае равным нулю, и конечным временем моделирования (Stop time), которое для нашей задачи примем равным 15.
Кроме времени моделирования выберем тип и метод решения задачи. В качестве типа наилучшим является решение с переменным шагом моделирования (Variable-step slovers).
В этом случае шаг автоматически уменьшается,
если скорость изменения результатов в процессе моделирования возрастает. И,
напротив, если результаты меняются слабо, шаг автоматически увеличивается.
Интегрирование дифференциальных уравнений в системе MATLAB можно выполнять множеством методов, однако для нашей задачи примем метод ode45 (Dormand-Prince), обеспечивающий наилучшее быстродействие и допустимую погрешность результатов вычислений. На рис. 16. показано окно установки параметров процесса моделирования системы.
После создания и настройки всех коэффициентов и параметров необходимо запустить процесс моделирования, что выполняется командой Start из основного меню Simulation или кнопкой в виде черного треугольника на стандартной панели инструментов.
После окончания процесса моделирования щелкнем
левой кнопкой мыши на значке виртуального осциллографа и воспользовавшись
командой настройки масштаба по оси ОY
(Axes properties)
введем численные значения требуемых масштабов для каждого канала осциллографа.
В окне установки параметров осциллографа (Scope
parameters) укажем три выхода
прибора (рис. 17).
Компьютерное моделирование системы частотного регулирования асинхронного электропривода проведем для двух случаев: без фаззи-регулятора и с фаззи-регулятором, подключенным на вход блока регулятора тока (РТ).
В первом случае имеем такие графики переходных процессов: рис. 18, а - график сигнала задания; рис. 18, б - график действительной скорости; 18, в - сигнал ошибки регулирования.
Во втором случае получены аналогичные графики переходных процессов: рис. 19, а - график сигнала задания; рис. 19, б - график действительной скорости; 19, в - сигнал ошибки регулирования.
Как видно из рис. 18 и рис. 19 при отсутствии
фаззи-контроллера сигнал ошибки регулирования имеет достаточно ощутимые
колебания, а при настроенном нечетком регуляторе колебания практически
отсутствуют, что свидетельствует о достаточно точной отработке системой
асинхронного частотно-регулируемого электропривода сигнала задания.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Методические указания к курсовому и дипломному проектированию по курсам "Технология горного производства" и "Подземные горные работы" для студентов специальностей 21.05.04 и 09.05. Ч 1, Ч. 2 / Сост.: А.А. Пирский, М.Т. Кириченко, А.И. Крючков. - К.: КПИ, 1990.
2. Методичні вказівки до лабораторних робіт, практичних занять, курсового та дипломного проектування по курсах "Механічне обладнання шахт та рудників", "Транспорт на гірничих підприємствах", "Основи теорії та розрахунку переміщення вантажів" для студентів напрямку підготовки 0903, 0708, 0922 / Сост.: В.В. Смирнов, М.І. Сергієнко. - К.: КПИ, 1998. - 32 с.