скачать рефераты

скачать рефераты

 
 
скачать рефераты скачать рефераты

Меню

Моделирование автоклава с ПИД-регулятором скачать рефераты

p align="left">,

где nn и nd - порядок числителя и знаменателя передаточной функции, num - вектор или матрица коэффициентов числителя, den - вектор коэффициентов знаменателя.

Параметры:

Numerator -- вектор или матрица коэффициентов полинома числителя

Denominator -вектор коэффициентов полинома знаменателя

Absolute tolerance -- Абсолютная погрешность.

Порядок числителя не должен превышать порядок знаменателя. Входной сигнал блока должен быть скалярным. В том случае, если коэффициенты числителя заданы вектором, то выходной сигнал блока будет также скалярным (как и входной сигнал).

Блок задания функции Fcn

Назначение:

Задает выражение в стиле языка программирования C .

Параметры:

Expression - Выражение, используемое блоком для вычисления выходного сигнала на основании входного. Это выражение составляется по правилам, принятым для описания функций на языке С.

В выражении можно использовать следующие компоненты:

Входной сигнал. Входной сигнал в выражении обозначается u, если он является скаляром. Если входной сигнал - вектор, необходимо указывать номер элемента вектора в круглых скобках. Например, u(1) и u(3) - первый и третий элементы входного вектора.

Константы.

Арифметические операторы (+ - * /).

Операторы отношения (= = != > < >= <=).

Логические операторы (&& | | !).

Круглые скобки.

Математические функции: abs, acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, hypot, ln, log, log10, pow, power, rem, sgn, sin, sinh, sqrt, tan, и tanh.

Переменные из рабочей области. Если переменная рабочей области является массивом, то ее элементы должны указываться с помощью индексов в круглых скобках. Напрмер, A(1,1) - первый элемент матрицы A.

Операторы отношения и логические операторы возвращают значения в виде логического нуля (FALSE) или логической единицы (TRUE).

Операторы, допускаемые к использованию в выражении, имеют следующий приоритет (в порядке убывания):

( )

+ - (унарные)

Возведение в степень

! /

+ - (бинарные)

< <= >=

= !=

&&

| |

Блок не поддерживает матричные и векторные операции. Выходной сигнал блока всегда - скаляр.

Усилители Gain и Matrix Gain

Назначение:

Выполняют умножение входного сигнала на постоянный коэффициент.

Параметры:

Gain - Коэффициент усиления.

Multiplication - Способ выполнения операции. Может принимать значения (из списка):

- Element-wise K*u- Поэлементный.

- Matrix K*u - Матричный. Коэффициент усиления является левосторонним операндом.

- Matrix u*K - Матричный. Коэффициент усиления является правосторонним операндом.

Saturate on integer overflow (флажок) - Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Блоки усилителей Gain и Matrix Gain есть один и тот же блок, но с разными начальными установками параметра Multiplication. Параметр блока Gain может быть положительным или отрицательным числом, как больше, так и меньше 1. Коэффициент усиления можно задавать в виде скаляра, матрицы или вектора, а также в виде вычисляемого выражения. В том случае если параметр Multiplication задан как Element-wise K*u, то блок выполняет операцию умножения на заданный коэффициент скалярного сигнала или каждого элемента векторного сигнала. В противном случае блок выполняет операцию матричного умножения сигнала на коэффициент заданный матрицей. По умолчанию коэффициент усиления является действительным числом типа double. Для операции поэлементного усиления входной сигнал может быть скалярным, векторным или матричным любого типа, за исключением логического (boolean). Элементы вектора должны иметь одинаковый тип сигнала. Выходной сигнал блока будет иметь тот же самый тип, что и входной сигнал. Параметр блока Gain может быть скаляром, вектором или матрицей любого типа, за исключением логического (boolean).

При вычислении выходного сигнала блок Gain использует следующие правила:

Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.

Если тип входного сигнала отличается от типа коэффициента усиления, то Simulink пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал есть беззнаковое целое (uint8), а параметр Gain задан отрицательным числом.

Блок вычисления производной Derivative

Назначение:

Выполняет численное дифференцирование входного сигнала.

Параметры:

Нет.

Для вычисления производной используется приближенная формула Эйлера:

,

где u - величина изменения входного сигнала за время t,

t - текущее значение шага модельного времени.

Значение входного сигнала блока до начала расчета считается равным нулю. Начальное значение выходного сигнала также полагается равным нулю. Точность вычисления производной существенно зависит от величины установленного шага расчета. Выбор меньшего шага расчета улучшает точность вычисления производной.

Данный блок используется для дифференцирования аналоговых сигналов. При дифференцировании дискретного сигнала с помощью блока Derivative его выходной сигнал будет представлять собой последовательность импульсов соответствующих моментам времени скачкообразного изменения дискретного сигнала.

Интегрирующий блок lntegrator

Назначение:

Выполняет интегрирование входного сигнала.

Параметры:

External reset - Внешний сброс. Тип внешнего управляющего сигнала, обеспечивающего сброс интегратора к начальному состоянию. Выбирается из списка:

none - нет (сброс не выполняется),

rising - нарастающий сигнал (передний фронт сигнала),

falling - спадающий сигнал (задний фронт сигнала),

either - нарастающий либо спадающий сигнал,

level - не нулевой сигнал (сброс выполняется если сигнал на управляющем входе становится не равным нулю);

В том случае, если выбран какой-либо (но не none), тип управляющего сигнала, то на изображении блока появляется дополнительный управляющий вход. Рядом с дополнительным входом будет показано условное обозначение управляющего сигнала.

Initial condition source -- Источник начального значения выходного сигнала. Выбирается из списка:

internal - внутренний

external - внешний. В этом случае на изображении блока появляется дополнительный вход, обозначенный x0, на который необходимо подать сигнал задающий начальное значение выходного сигнала интегратора.

Initial condition -- Начальное условие. Установка начального значения выходного сигнала интегратора. Параметр доступен, если выбран внутренний источник начального значения выходного сигнала.

Limit output (флажок) -- Использование ограничения выходного сигнала.

Upper saturation limit -- Верхний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть + .

Lower saturation limit -- Нижний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть - .

Show saturation port -- управляет отображением порта, выводящего сигнал, свидетельствующий о выходе интегратора на ограничение. Выходной сигнал данного порта может принимать следующие значения:

Ноль, если интегратор не находится на ограничении.

+1, если выходной сигнал интегратора достиг верхнего ограничивающего предела.

-1, если выходной сигнал интегратора достиг нижнего ограничивающего предела.

Show state port (флажок) -- Отобразить/скрыть порт состояния блока. Данный порт используется в том случае, если выходной сигнал интегратора требуется подать в качестве сигнала обратной связи этого же интегратора. На пример, при установке начальных условий через внешний порт или при сбросе интегратора через порт сброса. Выходной сигнал с этого порта может использоваться также для организации взаимодействия с управляемой подсистемой.

Absolute tolerance -- Абсолютная погрешность.

Блок вычисления суммы Sum

Назначение:

Выполняет вычисление суммы текущих значений сигналов.

Параметры:

Icon shape - Форма блока. Выбирается из списка.

- round - окружность,

rectangular - прямоугольник.

List of sign - Список знаков. В списке можно использовать следующие знаки:

+ (плюс), - (минус) и | (разделитель знаков).

Saturate on integer overflow (флажок) - Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign, при этом метки входов обозначаются соответствующими знаками. В параметре List of sign можно также указать число входов блока. В этом случае все входы будут суммирующими.

Если количество входов блока превышает 3, то удобнее использовать блок Sum прямоугольной формы.

Блок может использоваться для суммирования скалярных, векторных или матричных сигналов. Типы суммируемых сигналов должны совпадать. Нельзя, например, подать на один и тот же суммирующий блок сигналы целого и действительного типов.

Если количество входов блока больше, чем один, то блок выполняет поэлементные операции над векторными и матричными сигналами. При этом количество элементов в матрице или векторе должно быть одинаковым.

Если в качестве списка знаков указать цифру 1 (один вход), то блок можно использовать для определения суммы элементов вектора.

Установка параметров расчета и его выполнение

Перед выполнением расчетов необходимо предварительно задать параметры расчета. Задание параметров расчета выполняется в панели управления меню Simulation/Parameters. Вид панели управления приведен на Рис.

Рис. Панель управления

Окно настройки параметров расчета имеет 4 вкладки:

Solver (Расчет) -- Установка параметров расчета модели.

Workspace I/O (Ввод/вывод данных в рабочую область) -- Установка параметров обмена данными с рабочей областью MATLAB.

Diagnostics (Диагностика) -- Выбор параметров диагностического режима.

Advanced (Дополнительно) -- Установка дополнительных параметров.

Установка параметров расчета модели выполняется с помощью элементов управления, размещенных на вкладке Solver. Эти элементы разделены на три группы: Simulation time (Интервал моделирования или, иными словами, время расчета), Solver options (Параметры расчета), Output options (Параметры вывода).

Установка параметров расчета модели

Simulation time (Интервал моделирования или время расчета)

Время расчета задается указанием начального (Start time) и конечного (Stop time) значений времени расчета. Начальное время, как правило, задается равным нулю. Величина конечного времени задается пользователем исходя из условий решаемой задачи.

Solver options (Параметры расчета)

При выборе параметров расчета необходимо указать способ моделирования (Type) и метод расчета нового состояния системы. Для параметра Type доступны два варианта - c фиксированным (Fixed-step) или с переменным (Variable-step) шагом. Как правило, Variable-step используется для моделирования непрерывных систем, a Fixed-step - для дискретных.

Список методов расчета нового состояния системы содержит несколько вариантов. Первый вариант (discrete) используется для расчета дискретных систем. Остальные методы используются для расчета непрерывных систем. Эти методы различны для переменного (Variable-step) и для фиксированного (Fixed-step) шага времени, но, по сути, представляют собой процедуры решения систем дифференциальных уравнений. Подробное описание каждого из методов расчета состояний системы приведено во встроенной справочной системе MATLAB.

Ниже двух раскрывающихся списков Type находится область, содержимое которой меняется зависимости от выбранного способа изменения модельного времени. При выборе Fixed-step в данной области появляется текстовое поле Fixed-step size (величина фиксированного шага) позволяющее указывать величину шага моделирования (см. рис. 7.2). Величина шага моделирования по умолчанию устанавливается системой автоматически (auto). Требуемая величина шага может быть введена вместо значения auto либо в форме числа, либо в виде вычисляемого выражения (то же самое относится и ко всем параметрам устанавливаемым системой автоматически).

Рис. Вкладка Solver при выборе фиксированного шага расчета

При выборе Fixed-step необходимо также задать режим расчета (Mode). Для параметра Mode доступны три варианта:

MultiTasking (Многозадачный) - необходимо использовать, если в модели присутствуют параллельно работающие подсистемы, и результат работы модели зависит от временных параметров этих подсистем. Режим позволяет выявить несоответствие скорости и дискретности сигналов, пересылаемых блоками друг другу.

SingleTasking (Однозадачный) - используется для тех моделей, в которых недостаточно строгая синхронизация работы отдельных составляющих не влияет на конечный результат моделирования.

Auto (Автоматический выбор режима) - позволяет Simulink автоматически устанавливать режим MultiTasking для тех моделей, в которых используются блоки с различными скоростями передачи сигналов и режим SingleTasking для моделей, в которых содержатся блоки, оперирующие одинаковыми скоростями.

При выборе Variable-step в области появляются поля для установки трех параметров:

Мах step size - максимальный шаг расчета. По умолчанию он устанавливается автоматически (auto) и его значение в этом случае равно (SfopTime -- StartTime)/50. Довольно часто это значение оказывается слишком большим, и наблюдаемые графики представляют собой ломаные (а не плавные) линии. В этом случае величину максимального шага расчета необходимо задавать явным образом.

Мin step size - минимальный шаг расчета.

Initial step size - начальное значение шага моделирования.

При моделировании непрерывных систем с использованием переменного шага необходимо указать точность вычислений: относительную (Relative tolerance) и абсолютную (Absolute tolerance). По умолчанию они равны соответственно 10-3 и auto.

Output options (Параметры вывода)

В нижней части вкладки Solver задаются настройки параметров вывода выходных сигналов моделируемой системы (Output options). Для данного параметра возможен выбор одного из трех вариантов:

Refine output (Скорректированный вывод) - позволяет изменять дискретность регистрации модельного времени и тех сигналов, которые сохраняются в рабочей области MATLAB с помощью блока То Workspace. Установка величины дискретности выполняется в строке редактирования Refine factor, расположенной справа. По умолчанию зна чение Refine factor равно 1, это означает, что регистрация производится с шагом D t = 1 (то есть для каждого значения модельного времени:). Если задать Refine factor равеным 2, это означает, что будет регистрироваться каждое второе значение сигналов, 3 - каждое третье т. д. Параметр Refine factor может принимать только целые положительные значения

Produce additional output (Дополнительный вывод) -- обеспечивает дополнительную регистрацию параметров модели в заданные моменты времени; их значения вводятся в строке редактирования (в этом случае она называется Output times) в виде списка, заключенного в квадратные скобки. При использовании этого варианта базовый шаг регистрации (D t) равен 1. Значения времени в списке Output times могут быть дробными числами и иметь любую точность.

Produce specified output only (Формировать только заданный вывод) -- устанавливает вывод параметров модели только в заданные моменты времени, которые указываются в поле Output times (Моменты времени вывода).

Установка параметров обмена с рабочей областью

Элементы, позволяющие управлять вводом и выводом в рабочую область MATLAB промежуточных данных и результатов моделирования, расположены на вкладке Workspace I/O (рис.).

Рис. Вкладка Workspace I/O диалогового окна установки параметров моделирования

Элементы вкладки разделены на 3 поля:

Load from workspace (Загрузить из рабочей области). Если флажок Input (Входные данные) установлен, то в расположенном справа текстовом поле можно ввести формат данных, которые будут считываться из рабочей области MATLAB. Установка флажка Initial State (Начальное состояние) позволяет ввести в связанном с ним текстовом поле имя переменной, содержащей параметры начального состояния модели. Данные, указанные в полях Input и Initial State, передаются в исполняемую модель посредством одного или более блоков In (из раздела библиотеки Sources).

Save to workspace (Записать в рабочую область) - Позволяет установить режим вывода значений сигналов в рабочую область MATLAB и задать их имена.

Save options (Параметры записи) - Задает количество строк при передаче переменных в рабочую область. Если флажок Limit rows to last установлен, то в поле ввода можно указать количество передаваемых строк (отсчет строк производится от момента завершения расчета). Если флажок не установлен, то передаются все данные. Параметр Decimation (Исключение) задает шаг записи переменных в рабочую область (аналогично параметру Refine factor вкладки Solver). Параметр Format (формат данных) задает формат передаваемых в рабочую область данных. Доступные форматы Array (Массив), Structure (Структура), Structure With Time (Структура с дополнительным полем - “время”).

Установка параметров диагностирования модели

Вкладка Diagnostics (рис. 7.4) позволяет изменять перечень диагностических сообщений, выводимых Simulink в командном окне MATLAB, а также устанавливать дополнительные параметры диагностики модели.

Сообщения об ошибках или проблемных ситуациях, обнаруженных Simulink в ходе моделирования и требующих вмешательства разработчика выводятся в командном окне MATLAB. Исходный перечень таких ситуаций и вид реакции на них приведен в списке на вкладке Diagnostics. Разработчик может указать вид реакции на каждое из них, используя группу переключателей в поле Action (они становятся доступны, если в списке выбрано одно из событий):

None -- игнорировать,

Warning --- выдать предупреждение и продолжить моделирование,

Error -- выдать сообщение об ошибке и остановить сеанс моделирования.

Выбранный вид реакции отображается в списке рядом с наименованием события.

Рис. Вкладка Diagnostics окна установки параметров моделирования

Выполнение расчета

Запуск расчета выполняется с помощью выбора пункта меню Simulation/Start. или инструмента на панели инструментов. Процесс расчета можно завершить досрочно, выбрав пункт меню Simulation/Stop или инструмент . Расчет также можно остановить (Simulation/Pause) и затем продолжить (Simulation/Continue).

Осциллограф Scope

Назначение:

Строит графики исследуемых сигналов в функции времени. Позволяет наблюдать за изменениями сигналов в процессе моделирования.

Для того, чтобы открыть окно просмотра сигналов необходимо выполнить двойной щелчок левой клавишей “мыши” на изображении блока. Это можно сделать на любом этапе расчета (как до начала расчета, так и после него, а также во время расчета). В том случае, если на вход блока поступает векторный сигнал, то кривая для каждого элемента вектора строится отдельным цветом.

Настройка окна осциллографа выполняется с помощью панелей инструментов (рис.)

Рис. Панель инструментов блока Scope

Панель инструментов содержит 11 кнопок:

Print - печать содержимого окна осциллографа.

Parameters - доступ к окну настройки параметров.

Zoom - увеличение масштаба по обеим осям.

Zoom X-axis - увеличение масштаба по горизонтальной оси.

Zoom Y-axis - увеличение масштаба по вертикальной оси.

Autoscale - автоматическая установка масштабов по обеим осям.

Save current axes settings - сохранение текущих настроек окна.

Restore saved axes settings - установка ранее сохраненных настроек окна.

Floating scope - перевод осциллографа в “свободный” режим.

Lock/Unlock axes selection - закрепить/разорвать связь между текущей координатной системой окна и отображаемым сигналом. Инструмент доступен, если включен режим Floating scope.

Signal selection - выбор сигналов для отображения. Инструмент доступен, если включен режим Floating scope.

3. Вычислительный эксперимент

ПИД-регулятор, который и будет подвергаться настройке

Proportionality coefficient - настраиваемый коэффициент пропорциональности (П)

Integrator coefficient + Integrator - интегрирующая составляющая с коэффициэнтом интегрирования (И)

Derivative coefficient + Derivative - коэффициэнт интегрирования (интегрирующая составляющая) (Д)

Блок характеристики зависимости увеличения температуры кипения воды (101 кПа - 100С) от давления в автоклаве. Линейная зависимость, на практике такого не бывает, но в данной модели такой характеристики будет достаточно

Блок, характеризующий парообразование

В результате выполнения этой части системы происходит автоматический выбор уставки, 100 или 500, если во втором переключателе регистрируется температурная уставка выше 500, то она возвращает значение 500, т.к. для нашего примера будет стоять такая задача. Разбиение на 2 блока с определением уставки необходим для того, что процесс парообразования присутствует даже при температуре, меньше 100С, но он отличен от процесса во время кипения

Объект регулирования выбран таким, т.к. любой процесс в природе можно описать математически

А теперь приступим непосредственно к экспериментам. Поставим произвольные коэффициенты

А теперь сделаем наблюдение ПИ-, ПИД- и ПД-регуляторов соответственно. Коэффициенты, равные нулям, отключают составляющие, превращая ПИД в другие виды регульяторов

Рассмотрим изменение выходного сигнала при увеличении И-коэффициента

При увеличении Д составляющей, регулятор измеряет коэффициент наклона и увеличивает его на тот коэффициент, который ему задан

П составляющая анализирует отношение выходное к уставке

Замена положения в схеме И и Д коэффициентов усиления не приводит ни к чему

Изменим уставку с 500 на 800. Система также выполняет свои задачи

Заключение

Пропорциональная составляющая является основой регулирующего воздействия для рассмотренного пневматического ПИД-регулятора.

Улучшая временную характеристику переходного процесса, вместе с тем снижаем устойчивость системы автоматического регулирования.

ПИД-регуляторы целесообразно применять в САР с большой инерцией. В качестве примеров таких систем можно назвать:

- бак (емкость), в который для заметного изменение уровня требуется налить или вылить большой объем жидкости;

- теплообменник, в котором внутренний теплообмен протекает медленно и датчик температуры работает с запаздыванием.

Пневматические П-, ПИ-, ПД- и ПИД-регуляторы, в основном, применяются в нефтегазохимической промышленности и в местах с повышенными требованиями к взрывобезопасности и пожарной безопасности.

Для надежной работы пневморегуляторов требуется выдерживать параметры сервисного воздуха, а также проводить регулярное техническое обслуживание, что сопряжено с дополнительными затратами по эксплуатации.

Воплощение различных структурных схем регуляторов значительно упростилось с появлением ПИД-регуляторов на базе микропроцессоров.

Как правило, в таких регуляторах сигнал рассогласования одновременно подается на параллельные ветви, формирующие пропорциональную, интегральную и дифференциальную составляющие, которые затем суммируются и усиливаются. Т.е. каждую ветвь возможно рассматривать как отдельный регулятор. Благодаря независимой работе, интегральная составляющая к концу переходного процесса полностью замещает пропорциональную составляющую.

Несмотря на все многообразие выпускаемых ПИД-регуляторов, принцип их действия остается неизменным.

Итогом моделирования автоклава с ПИД-регулятором можно считать показание осциллографа:

Список литературы

1. Щагин А.В. и др. Основы автоматизации техпроцессов. - М.: Высшее образование, 2009. - 163 с.

2. Голоденко Б.А. Имитационное моделирование в среде GPSS: пособие по курсовому проектированию. - Воронеж: МИКТ, 2007. - 112 с.

3. Alex Demyanenko, Control theory. PID Controller, - Copyright © 2007 - 2009

4. Битюков В.К., Волчкевич Л.И., Голоденко Б.А. Автоматизация технологических процессов промышленных производств: учебное пособие. - Воронеж: ВГТА, 2007. - 212 с.

5. Битюков В.К., Голоденко Б.А. Технология. Основные этапы и прогнозы развития: учебное пособие. - Воронеж: ВГТА, 2006. - 264 с.

6. Лазарев Ю. Моделирование процессов и систем в MATLAB. - СПб: Питер, 2005.

Страницы: 1, 2, 3