Файл: Методические указания к выполнению курсовой работы для студентов образовательной программы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 51

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

12
«-1» (объясните: почему?). Это необходимо для плавного открытия и закрытия кранов. Начальное значение интегратора равно 80. Далее в блоке Fcn вычисляется значение K1(Р1). Значение K1(Р1) поступает на выход, если значение на выходе интегратора меньше 80. Если значение на выходе интегратора больше или равно 80, на выход поступает 0.
Если от контроллера поступает (-1), в блоке Switch оно сравнивается с
«0». Так как -1<0, на интегратор должно поступать «1» (объясните: почему?).
Начальное значение интегратора равно 80. Далее в блоке Fcn вычисляется значение K1(Р1). Значение K1(Р1) поступает на выход, если значение на выходе интегратора меньше 80. Если значение на выходе интегратора больше или равно 80, на выход поступает 0.
Рисунок 6 – Блок подсистемы K1_Control управления первым краном
Аналогично стоится диаграмма подсистемы K2_Control, на вход которой поступает сигнал от контроллера. В зависимости от этого сигнала кран либо открывается, либо закрывается.
Если от контроллера поступает +1, в блоке Switch оно сравнивается с «0».
Так как (+1>0), то со Switch на интегратор должно поступать «-1». Начальное значение интегратора равно 80. Далее в блоке Fcn вычисляется значение
K2(Р2). Значение K2(Р2) поступает на выход, если значение на выходе интегратора меньше 80. Если значение на выходе интегратора больше или равно 80, на выход поступает 0.
Если от контроллера поступает (-1), в блоке Switch оно сравнивается с
«0». Так как (-1<0), на интегратор должно поступать «1». Начальное значение интегратора равно 80. Далее в блоке Fcn вычисляется значение K2(Р2).
Значение K2(Р2) поступает на выход, если значение на выходе интегратора меньше 80. Если значение на выходе интегратора больше или равно 80, на выход поступает 0.
Рисунок 7 – Блок подсистемы K2_Control управления вторым краном
Подсистема расчета уровней жидкости в двух резервуарах.
Основными уравнениями модели является система (2) - система двух дифференциальных уравнений первого порядка для определения выходных переменных модели – h
1
и h
2
Для преобразования этих уравнений в блок-диаграмму используется следующая идея. Вначале формируются правые части уравнений.

13
Проинтегрировав эти выражения, получаем значения h
1
и h
2
. Полученные величины теперь можно использовать для формирования правых частей уравнений (обратной связью).
Сформируем подсистему расчета уровней жидкости в двух резервуарах, назовем ее Two_Tanks. Эта подсистема имеет входные переменные kl, k2 и Vin, представляющие соответственно значения функций, управляющих кранами V
1 и V
2
, а также скорость входного потока воды в систему. Эти переменные поступают в рассматриваемую подсистему с выходов блоков, в которых они рассчитывались.
Выходные переменные - уровни воды в первом и втором баках h1 и h
2
Значения этих переменных рассчитываются по формулам (2). Правые части этих уравнений содержат величины V
out и V
12
, закон изменения которых задается формулами (3) и (4). Следовательно, надо использовать подсистемы для вычисления этих переменных: Vout, V12(1) и V12(2) (два блока, так как формула (3) имеет две ветви).
Составной блок Two_Tanks имеет функциональную схему, образованную из следующих элементов:
- составных блоков Vout, V12(1) и V12(2);
- стандартного блока Switch;
- двух экземпляров стандартного блока Мих, объединяющих в векторы соответствующие значения - Vin (поступающее на вход блока Two_Tanks с выхода блока Vin Control) и V12, а так же V12 и Vout;
- блоков Fcn, в которых вычисляются правые части уравнений - формулы (2);
- двух экземпляров стандартного блока Integrator, выходами которых являются значения h1 и h2, поступающие на выход.
Переключение в блоке Switch происходит в зависимости от значения h2, поступающего на вход блока Switch от интегратора. При этом подключается один из блоков, вычисляющих V12.
В окончательном виде диаграмму надо оформить в виде подсистемы
(рисунок 8).
Рисунок 8 – Подсистема расчета уровней жидкости в двух резервуарах
Two_Tanks
Окончательная диаграмма объекта исследования.
Блоки Two_Tanks, Vin_Control, K1_Control и K2_Control, соединенные между собой функциональными связями, составляют подсистему


14
Tank_System. Она имеет три входа, на которые подаются сигналы контроллера
(V
input
, V
1
, V
2
), и два выхода – h1 и h2.
Cоставной блок Tank_System, и по два экземпляра стандартных блоков
Const, Relational Operator и Stop Simulation (выполняющих проверку на переполнение баков), соединенных соответствующими функциональными связями, образуют подсистему Tank_System_Block.
Блок Tank_System_Block имеет три входа (на которые подаются сигналы от контроллера) и два выхода (h1 и h2). Эта подсистема является блок- диаграммой нашего объекта исследования.
Рисунок 10 –Окончательная диаграмма модели
6 Управление объектом
6.1 Подсистема Statefiow пакета Simulink
Для описания поведения контроллера используется графический инструментарий Statefiow. В основе Statefiow лежит специальная форма представления гибридного поведения – карта состояний. Основные элементы карты состояний – это состояние (state) и переход (transition).
Для создания Statefiow-диаграммы необходимо открыть модель, созданную в Simulink. Затем нужно выбрать в библиотеке блок, обозначающий диаграмму Statefiow, и перенести его в свою модель. После двойного щелчка по нему мышью откроется окно Statefiow (chart), в котором, пользуясь меню и панелью инструментов, можно описывать сами состояния, связи между ними, определять переменные, условия переключения и другие, необходимые для управления элементы.
На диаграмме Statefiow различают две основные группы элементов: графические и неграфические. Все графические элементы диаграммы представлены на левой панели основного окна - Statefiow (chart), графического редактора карт состояний. Это – state (состояние), default transition (переход по умолчанию), history junction (переход в последнее активное состояние) и connective junction (соединительный переход). Неявно на диаграмме задается еще один графический элемент – transition (переход). Состояния могут быть простыми и сложными (то есть имеющими иерархическую структуру), они также могут объединяться в цепочки состояний, функционирующих параллельно (и независимо друг от друга) и последовательно. В число графически непредставимых элементов входят data (переменные) и event
(событие).

15
Каждое состояние описывает один режим работы событийно- управляемой системы. Состояние становится активным, если получает значение “истина” условие перехода (срабатывает переход), ведущего к нему, или если это состояние является начальным. Каждое состояние на диаграмме
Statefiow имеет «родителя», которым, по умолчанию, является сама диаграмма
Statefiow.
Для создания графического образа состояния необходимо, выбрав на панели соответствующую кнопку, щелкнуть кнопкой мыши в том месте, где его необходимо разместить.
Состояние имеет текстовые метки, которые определяют действия, выполняемые во время его активности. Имя состояния вводится первым. При описании самого состояния могут быть определены следующие действия:
- entry – действие, выполняемое на входе в состояние;
- during- действие, выполняемое, пока состояние активно;
- exit – действие, выполняемое на выходе из состояния;
- on: {имя события}- действие, выполняемое в момент появления события
(имя которого указано в угловых скобках) при условии, что система будет находиться в данном состоянии.
Переход – это объект, связывающий между собой два состояния. На диаграмме Stateflow он представляется стрелкой, начало которой относится к состоянию-источнику, а конец – к состоянию-адресату. Для того чтобы нарисовать переход, достаточно установив мышь у состояния-источника, нажать ее левую кнопку и, удерживая ее, протянуть появившуюся стрелку до состояния-адресата. Переход имеет метку, которая описывает условия срабатывания перехода и выполняемые при этом действия.
Переход по умолчанию – это переход с заданным адресатом, но без заданного источника. Его используют как аналог начального состояния, а так- же в сложных состояниях для того, чтобы определить, какое подсостояние становится активным, когда система попадает в данное сложное состояние
Переменные – это неграфические объекты на диаграмме Stateflow, предназначенные для хранения числовых данных. Переменные можно использовать на любом уровне иерархии. Для того чтобы создать входные
(выходные и т. д.) переменные в блоке Stateflow, необходимо в окне соответствующей диаграммы Stateflow выбрать соответствующий пункт меню:
Add/Data/Input from Simulink для создания входной, Add/Data/Output to Simulink для создания выходной и Add/Data/Local для создания локальной переменной - и в открывшемся диалоговом окне Data ввести имя переменной и другие ее характеристики.
6.2 Создание диаграммы контроллера
В рассматриваемой задаче контроллер посылает системе из двух баков сигналы, управляющие поведением кранов V
input
, V
1
, V
2
. Для правильного управления системой баков ему необходимо иметь значения интервалов


16 времени Time1, Time2, уровней L_plus и L_min, а также получать от системы баков значение уровня воды во втором баке h
2
, необходимое для управления поведением выходного крана V
2
Работу системы вместе с контроллером представим как подсистему
System, которая представляет собой составной блок (рисунок 10). Он содержит в себе функциональную схему, включающую диаграмму
Stateflow
(представленную блоком Controller, являющимся экземпляром стандартного блока Chart и описывающим поведение контроллера), и составной блок - подсистему определения уровней воды в баке Tank_System_Block, которые соединены соответствующими функциональными связями.
Также в блоке System присутствуют часы Clock, подающие системное время из Simulink в диаграмму Stateflow. Это объясняется тем, что при построении моделей, в которых используются блоки Stateflow (содержащие в себе переходы, инициируемые истечением неких временных интервалов), необходимо синхронизировать внутреннее системное время в Stateflow и в
Simulink. Для этого необходимо на отдельный вход в блоке Stateflow подавать системное время из Simulink, и именно это время использовать при составлении условий переходов (таких, как истечение отрезков времени Time1 и Time2 в задаче о двух баках).
Рисунок 11 - Диаграмма подсистемы System
Диаграмма Stateflow отражает логику поведения блока Contoller. Из исходной точки процесс мгновенно переходит в состояние State1, входным сигналом для этого состояния является сигнал Vinput на открытие крана на входе.
По истечении времени Time1 выполняется переход в состояние State2, сигналом на входе этого состояния является сигнал на открытие крана между

17 баками. Система находится в этом состоянии до тех пор, пока не выполнится условие h2 < L_min, означающее, что уровень воды во втором баке стал ниже значения L_min. Если это условие выполнится, система переходит в состояние
State4, входным сигналом этого состояния является подача сигнала на закрытие крана на выходе V2. Система находится в этом состоянии до тех пор, пока условие h2 > L_plus не будет выполнено, что означает, что уровень воды во втором баке вырос до значения L_plus. При выполнении условия система снова переходит в состояние State3.
К связи, соединяющей блоки Clock и Controller, подсоединяются два экземпляра блока Hit Crossing. Еще два экземпляра блока Hit Crossing подсоедините к связи блока Controller и выхода h
2 блока Tank_System_Block.
Использование блоков Hit Crossing необходимо для правильного выполнения переходов в диаграмме Stateflow, включенной в модель Simulink, в которой происходит непрерывное интегрирование. На вход блока Hit Crossing подается некая величина (в модели двух баков для двух блоков Hit Crossing это системное время, для еще двух - величина h
2
). У первого блока Hit Crossing внутренней величиной является момент времени Time1, у второго – Time1 +
Time2, у третьего - значение L_plus, у четвертого – L_minus.
Окончательный вид диаграммы модели объекта исследования в пакете
Simulink можно представить в следующем виде (рисунок 11).
Рисунок 12 - Окончательный вид диаграммы модели
Блок System не имеет входов, но имеет два выхода – h
1
и h
2
, соединенные со стандартным блоком Мuх, объединяющим их в вектор (h
1
, h
2
). Последний связан со стандартным блоком вывода Scope, на который он подает вектор выходных величин (h
1
, h
2
).
7 Проведение имитационных экспериментов на модели
7.1 Требуется подобрать параметры модели Timel, Time2, L_plus и L_min таким образом, чтобы смоделировать следующие ситуации в работе системы: а) режим нормальной работы системы; б) переполнение первого бака; в) переполнение второго бака;


18 г) периодическое открытие и закрытие выходного крана. Для этого случая отметить время первого и десятого переключения, а также значения уровня h
2
в эти моменты.
7.2 По результатам экспериментов заполнить следующую таблицу:
8 Варианты заданий
№ варианта h
H
D
1
D
2
V
input
1 0,7 0,27 8,4 3,5 280 2
0,5 0,2 6
2,5 200 3
0,625 0,25 7,5 3,125 250 4
0,8 0,48 10,6 4
320 5
0,875 0,34 10,5 4,375 350 6
0,75 0,210 10 3,75 300 7
1,25 0,48 15 6,25 500 8
1,125 0,44 1,5 5,625 450 10 1,5 0,58 18 7,5 600 10 1,375 0,54 16,5 6,875 550 11 1,1 0,585 13,2 5,5 440 12 1,2 0,42 14,4 6
480 13 0,6 0,27 8,0 4,5 270 14 0,5 0,3 5,6 2,8 200 15 0,65 0,35 7,0 3,5 250 16 0,8 0,5 10,5 4,2 300 17 0,85 0,35 10,0 4,75 320 18 0,75 0,25 10.5 3,5 310 110 1, 5 0,5 10 6,5 400 20 1,15 0,45 8.0 5,5 250 21 1,5 0,5 15 7,0 200 22 1,35 0,5 14,5 6,75 50 23 1,3 0,55 12,2 5,8 420 24 1,4 0,4 14,0 6,2 430 25 1,2 0,3 7.0 5,0 230 26 1,8 0,5 17 6,0 210 27 1,25 0,7 14,0 6,5 70 28 1,35 0,50 12,0 5,10 400 210 1,5 0,6 14,6 6,3 470 30 0,75 0,4 10,0 5,0 315 9 Требования к отчету по работе
Отчет по работе должен содержать:
Ситуация
Timel [с]
Time2 с]
L_plus [м]
L_min |м] а б в г

19 9.1 Описание объекта исследования курсовой работы; уравнения модели с объяснениями.
9.2 Перечень входных и выходных переменных модели.
9.3 Алгоритм работы системы.
9.4 Подробное описание реализации модели в среде Simulink программы
MatLab:
- создание каждой диаграммы п.5 должно быть подробно объяснено
(какое уравнение описывает рассматриваемый процесс, какие блоки используются и т.д.); необходимо в отчете разместить эту диаграмму;
- создание подсистем (рисунки 2-9) с подробными комментариями;
- подробная реализация диаграммы, находящейся в подсистеме рисунка
10 и объяснение создания самой этой подсистемы;
- объяснение создания подсистем 11,2 9.5 Описание создания блок-диаграммы контроллера.
9.6 Обоснование выбора параметров модели.
9.7 Результаты и анализ проведенных экспериментов.
10 Контрольные вопросы

10.1 В чем отличие аналитических методов моделирования от экспериментальных?
10.2 Какие законы сохранения используются для вывода уравнений модели?

10.3 К каким классам принадлежит рассматриваемая модель движения жидкости в каскаде резервуаров?
10.4 Какие переменные являются входами модели; выходами модели.

10.5 По истечении какого времени открывается кран между резервуарами?
10.6 В течение какого времени заполняется второй резервуар?

10.7 Какой инструментарий системы MatLab используется для моделирования управления объектом?
10.8 Какие переменные управляют поведением кранов в системе?

10.9 Какие блоки Stateflow используются для выполнения переходов?
10.10 Какой константой моделируется сигнал на закрытие кранов в системе?

10.11 Какой константой моделируется сигнал на открытие кранов в системе?
10.12 В течение какого времени открывается кран V
1
?

10.13 Сколько входов и выходов у подсистемы Vin_Control?
10.13 В течение какого времени открывается кран V
input
?

10.15 Сколько состояний установлено в модели Stateflow?
10.16 Сколько времени система находится в состоянии state1?


20
Список литературы
1. Ибраева Л.К. Моделирование объектов систем управления. Уч.пособие
– Алматы:АУЭС,2018.
2. Ибраева Л.К., Хисаров Б.Д. Моделирование и идентификация объектв управления. Уч.пособие – Алматы:АУЭС,20010.
3. Кудинов Ю.И., Пащенко Ф.Ф.. Simulink : учеб.пособие.- СПб.: Лань –
2016.
4. Hunt Brian R., / R. Hunt Brian , L. Lipsman Roland. A Guide to Matlab : for
Beginners and Experienced Users: updated for Matlab 8 and Simulink 8. - United
Kingdom : Cambridge University Pres – 2014.
5. Васильев А.Н. Matlab. Практический подход. СПб. : Наука и Техника -
2012.