Идентификация технологического объекта средствами пакета Simulink
Идентификация технологического объекта управления средствами пакета SystemIdentificationToolbox является многоэтапной процедурой, которая включает следующие операции:
1 Структурная идентификация – заключается в определении структуры математической модели на основании теоретических соображений;
2 Параметрическая идентификация – включает в себя проведение идентифицирующего эксперимента и определение оценок параметров модели по экспериментальным данным;
3 Проверка адекватности – проверка качества модели в смысле выбранного критерия близости выходов модели и объекта.
Для проведения идентификации технологического объекта управления воспользуемся пакетом SystemIdentificationToolboxсистемыMatLab, который содержит средства для создания математических моделей линейных динамических объектов (систем) на основе наблюдаемых входных и выходных данных.
Обработка массива данных с помощью пакета SystemIdentificationToolbox предполагает следующие этапы[2, 5, 6, 10]:
- обработка и преобразование данных с целью создания файла данных;
- непараметрическое оценивание данных с целью предварительного определения основных характеристик ТОУ;
- параметрическое оценивание данных с целью создания различных видов моделей втета-формате;
- задание структуры модели;
- изменение и уточнение структуры модели (если это необходимо);
- проверка адекватности и сравнение различных видов моделей с целью выбора наилучшей;
- преобразование модели тета-формата в вид удобный для дальнейшего использования при анализе и синтезе системы управления.
1.2.2.1 Создание файла данных и их предварительная обработка
В результате проведенного экспериментального исследования на технологическом оборудовании получен массив данных, состоящий из 2000 значений входного параметра (расход газа, м3/час) и 2000 значений выходного параметра (давление газа, Па). Интервал дискретизации (промежутки времени, через которые производились измерения входных и выходных величин), ts равен 3 секунды.
Для идентификации технологического объекта управления достаточно использовать лишь часть исходных данных, в объеме 100 измерений. Не нарушая общности рассуждений, выберем из массива данных значения входных и соответствующих им выходных параметров с номерами от 1501 до 1600.
Процедуру идентификации будем выполнять в командном режиме. Загрузку в рабочую область MATLAB массива данных в переменную massivосуществим с помощью команды:
>>loadmassiv
В результате в рабочей области появятся массив значений входной переменнойu и массив выходного параметра y (рис. 7).
Рисунок 7 – Интерфейс программы выгрузки массива данных в рабочую область MATLAB
Затем необходимо указать интервал дискретизации:
>>ts = 3
ts =3
Для объединения исходных данных в единый файл и просмотра результата выполним следующие команды:
>>dan = iddata(y(1501:1600), u(1501:1600),ts)
dan =
Time domain data set with 100 samples.
Sample time : 3 seconds
Outputs Unit (if specified)
y1
Inputs Unit (if specified)
u1
Автоматически сформированный отчет (рис. 8)указывает, что файл содержит результаты 100 измерений с интервалом дискретизации 3 с. Входными переменными является массив значенийu1, а выходным параметром – y1.
Рисунок 8 – Объединение исходных данных в единый файл
Если запись команд осуществляется в командном режимеCommandWindow, то после перезагрузки программы команды сохранены не будут. История команд сохраняется в CommandHistory, которая видна и после перезагрузки.
В рабочей области Workspaseна начальном этапе будут отображены папки с массивами значений входных и выходных параметров и шаг дискретизации, затем появится наиболее адекватная модель ТОУ.
Указав курсором область Workspaseи нажав на левую клавишу кнопку мыши, на экран выводятся значения параметров u, y, t или весь массив данных data (рис.9).
Для создания или добавления текстовых надписей, в частности обозначений входных и выходных величин исследуемого ТОУ, используется следующая команда:
>>set(dan,'inputname','Расход','outputname', 'Давление')
Размерности входного и выходного сигнала введем с помощью команды:
>>set(dan,'InputUnit','м3/ч','OutputUnit','Па')
Рисунок 9 – Значения элементов массива данных из области Workspase
Полная информация о файле исходных данныхdanформируется при вызове команды:
>>get(dan)
ans =
Domain: 'Time'
Name: ''
OutputData: [100x1 double]
y: 'Same as OutputData'
OutputName: {'Давление'}
OutputUnit: {'Па'}
InputData: [100x1 double]
u: 'Same as InputData'
InputName: {'Расход'}
InputUnit: {'м3/ч'}
Period: Inf
InterSample: 'zoh'
Ts: 3
Tstart: []
SamplingInstants: [100x0 double]
TimeUnit: 'seconds'
ExperimentName: 'Exp1'
Notes: {}
UserData: []
Для графического преставления исходных данных используется команда:
>>plot(dan)
Временные диаграммы изменения входного и выходного сигналов(расхода и давления, соответственно) показаны на рис.10. Интервал наблюдения300 с, приведенырезультаты 100 экспериментов с шагом дискретизации 3 с.
Рисунок10– Временные диаграммы входного и выходного сигналов, построенные в пакете Simulink
Для добавления графиков в текстовый документ (отчет, пояснительная записка и т.д.) необходимо выполнить в окне Figure1 команду Edit\ CopyFigure(рис. 11).
Рисунок 11–Копирование временных диаграмм сигналов
Для вызова рабочего окна пакета SystemIdentificationToolbox MATLAB (рис. 12) необходимо выполнить командуident:
>>ident
Рисунок12–Диалоговоеокнопакета System Identification Toolbox
Для загрузки исходных данных для процесса идентификации модели в диалоговом окнеSystemIdentificationToolbox необходимо выбрать в раскрывающемся списке ImportdataзначениеDataobject. В результате выполнения команды откроется окно ImportData, показанное на рис. 13.
Рисунок 13 – Окно ImportData
Воткрывшемся окне в разделе DataFormatforSignalsиз контектсного меню выбираем значениеIDDATAorIDFRD/FRD. В разделеWorkspaceVariable в полеObjectвводим имя файла данных dan. В результате нажатия клавиши Import в разделе DataInformationавтоматически установятся следующие параметры: Dataname, Startingtime, Samplinginterval.
Для получения расширенного списка сведений об импортируемых данных необходимо нажать на кнопку More в поле окна DataInformation, после чего появятся дополнительные разделы InputProperties, ChannelNames, PhysicalUnitsofVariables (рис. 14).
Рисунок 14 – Информация об импортируемых данных
Для предварительной обработки данныхв контекстном менюPreprocessнеобходимо выбратьрежимбыстрого старта Quickstart (рис. 15).В результате будут дополнительносформированы следующие файлы исходных данных:
· файл dandсодержит данных с удаленным трендом;
· файл dandeсодержит усеченные данные;
· файл dandv содержит часть данных из начального диапазона, которые будут использованы для проверки модели.
Рисунок 15 – Предварительная обработка данных