ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.01.2021
Просмотров: 780
Скачиваний: 2
225
Моделирование
систем
массового
обслуживания
в
среде
MATLAB +
Simulink + Stateflow
Цель
работы
:
практическое
изучение
технологий
визуального
программирования
моделей
с
использованием
подсистемы
Simulink
и
пакета
расширения
Stateflow;
освоение
навыков
проведения
экспериментальных
исследований
с
моделями
систем
массового
обслуживания
в
интересах
оценки
их
эффективности
и
влияния
основных
факторов
.
Работа
выполняется
в
среде
MATLAB
и
оформляется
в
виде
m-
файла
управляющей
программы
,
содержащей
обращение
к
mdl-
файлу
S-
модели
с
вложенной
SF-
моделью
(SF-
диаграммой
, SF-
машиной
)
одной
из
возможных
конфигураций
СМО
.
Задания
на
выполнение
работы
предполагают
проведение
исследований
различных
типов
и
структур
СМО
с
использованием
разнородных
показателей
для
оценки
эффективности
в
зависимости
от
основных
факторов
влияния
.
Роль
УП
,
как
и
ранее
,
состоит
в
задании
варьируемых
и
неварьируемых
факторов
,
проведении
стратегического
и
тактического
планирования
модельного
эксперимента
,
реализации
процедур
статистической
обработки
результатов
моделирования
.
Роль
S-
модели
заключается
в
обеспечении
динамики
процесса
функционирования
SF-
модели
и
регистрации
его
результатов
на
основе
использования
стандартных
элементов
подсистемы
Simulink.
Наконец
,
роль
SF-
модели
(Stateflow-
модели
)
состоит
,
собственно
,
в
воспроизведении
визуальной
модели
СМО
с
использованием
формализма
гибридных
автоматов
(
карт
состояний
Харела
).
Первоначально
при
выполнении
работы
проводится
ознакомление
с
особенностями
и
возможностями
встроенного
в
подсистему
Simulink
пакета
Stateflow
на
примере
простейших
событийно
управляемых
систем
.
Далее
осуществляется
полномасштабная
разработка
SF-
модели
в
соответствующей
оболочке
S-
модели
,
в
совокупности
реализующих
моделирование
СМО
заданного
типа
.
В
заключительной
части
работы
осуществляется
формирование
УП
в
виде
m-
файла
,
реализующего
,
если
это
предусматривается
заданием
,
план
модельного
эксперимента
и
226
многократный
прогон
S-
модели
с
регистрацией
результатов
для
последующей
оценки
эффективности
.
Структура
управляющей
программы
и
используемые
в
ней
синтаксические
конструкции
имеют
аналогичный
ранее
рассмотренным
в
п
. 6.2, 6.3
вид
.
При
формировании
этой
программы
осуществляется
сопряжение
с
S-
моделью
и
окончательная
настройка
ее
блоков
и
модулей
с
учетом
выбранных
условий
моделирования
.
Однако
на
начальном
этапе
удобно
разработать
упрощенный
вариант
УП
,
обеспечивающий
предварительное
тестирование
S-
модели
с
запуском
из
MATLAB.
Перед
началом
выполнения
работы
в
соответствующем
разделе
создается
рабочая
папка
.
После
запуска
MATLAB
данная
папка
устанавливается
в
окне
«Current Directory»
путем
выбора
из
списка
рабочих
папок
файловой
системы
.
Как
уже
отмечалось
,
первоначально
целесообразно
разработать
m-
файл
упрощенного
варианта
УП
,
реализующий
известные
формы
обращения
к
S-
модели
и
задания
ее
основных
параметров
.
Его
примерный
вид
представлен
на
рис
. 6.19
в
стандартном
окне
редактора
MATLAB.
Далее
создается
S-
модель
с
вложенной
SF-
моделью
.
Для
этого
в
соответствии
с
описанной
в
п
. 6.3
последовательностью
действий
осуществляется
запуск
Simulink
и
создается
пустое
окно
нового
mdl-
файла
Untitled (
впоследствии
сохраняемого
в
различных
модификациях
под
именем
testo**.mdl).
Осуществляется
,
как
и
ранее
,
установка
общих
параметров
модели
Configuration Parameters,
однако
теперь
в
поле
Solver
группы
Solver options
целесообразно
установить
метод
«discrete»,
так
как
будет
проводиться
моделирование
системы
с
набором
дискретных
основных
состояний
.
Следующим
шагом
является
открытие
раздела
Stateflow
в
браузере
библиотек
Simulink.
В
результате
в
основном
окне
просмотра
библиотеки
появится
единственный
блок
Chart (
диаграмма
),
который
с
помощью
мыши
может
быть
перемещен
в
рабочее
окно
блок
-
диаграммы
mdl-
файла
Simulink.
Здесь
также
можно
открыть
собственную
библиотеку
Stateflow,
щелкнув
по
наименованию
раздела
правой
кнопкой
мыши
.
В
результате
появится
надпись
Open the Stateflow library,
щелкнув
по
которой
левой
кнопкой
,
получим
дополнительно
к
блоку
Chart
подраздел
Examples,
содержащий
примеры
разработанных
с
помощью
данного
инструментария
моделей
систем
.
Рис
. 6.19
Первоначально
блок
Chart,
размещенный
в
рабочем
окне
mdl-
файла
,
является
пустым
,
то
есть
служит
заготовкой
для
создания
модели
.
Если
активизировать
мышью
пустой
блок
Chart,
то
появится
окно
редактора
SF-
диаграммы
(
см
.
рис
. 6.20),
в
котором
можно
начать
сборку
модели
.
Редактор
имеет
обычный
для
окон
системы
MATLAB
вид
.
Основные
средства
построения
модели
сосредоточены
в
пунктах
меню
File, Add, Tools,
а
также
расположенной
слева
и
сбоку
панели
инструментов
,
содержащей
8
кнопок
(
для
версии
MATLAB 7.0).
Все
объекты
SF-
модели
делятся
на
графические
и
неграфические
.
Для
создания
основных
графических
объектов
используются
кнопки
боковой
панели
.
Наиболее
употребляемыми
являются
верхние
четыре
кнопки
.
Нажав
каждую
из
кнопок
,
можно
мышью
перетащить
в
любое
место
окна
соответствующий
графический
элемент
модели
,
как
это
показано
на
рис
. 6.20.
227
Рис
. 6.20
Кнопки
имеют
следующее
назначение
:
кнопка
State
обеспечивает
установку
всех
необходимых
состояний
модели
в
виде
блоков
,
имеющих
вид
прямоугольников
со
скругленными
углами
;
кнопка
History Junction
обеспечивает
установку
в
любом
блоке
состояния
признака
состояния
с
памятью
в
виде
кружка
с
вложенной
буквой
H;
кнопка
Default Transition
реализует
установку
перехода
по
умолчанию
в
виде
стрелки
с
черным
кружком
в
начале
,
что
позволяет
указать
начальное
состояние
в
случае
,
если
имеется
неоднозначность
между
взаимоисключающими
состояниями
одного
уровня
иерархии
SF–
диаграммы
;
228
кнопка
Connective Junction
устанавливает
признак
альтернативных
переходов
без
захода
в
состояния
в
виде
пустого
кружка
,
что
,
в
ряде
случаев
,
существенно
упрощает
построение
модели
;
229
кнопка
Truth Table
обеспечивает
программирование
и
включение
в
модель
специальных
функций
–
таблиц
истинности
,
реализующих
описание
сложного
логического
поведения
элементов
модели
и
устанавливаемых
изначально
в
виде
блоков
–
прямоугольников
с
надписью
truthtable
и
окошком
для
указания
имени
таблицы
;
кнопка
Function
обеспечивает
программирование
и
включение
в
модель
графических
функций
,
определенных
графом
потока
вычислений
для
описания
реализуемого
алгоритма
и
устанавливаемых
в
виде
блоков
–
прямоугольников
с
заготовкой
для
имени
функции
«function»;
кнопка
Embedded Matlab function
обеспечивает
программирование
и
включение
в
модель
функций
на
языке
MATLAB,
устанавливаемых
в
виде
прямоугольников
с
надписью
eM
и
окошком
для
указания
имени
функции
;
кнопка
Box (
ящик
)
обеспечивает
при
необходимости
группирование
элементов
модели
в
блоки
(
подсистемы
),
первоначально
(
после
перетаскивания
мышью
)
имеющих
вид
пустых
прямоугольников
.
Помимо
указанных
графических
объектов
,
в
SF-
диаграмме
используются
переходы
(Transition);
они
не
имеют
своей
кнопки
и
отображаются
в
виде
стрелок
,
идущих
от
одного
объекта
к
другому
.
Переходы
формируются
с
помощью
мыши
путем
ее
перемещения
из
любой
точки
границы
одного
графического
объекта
к
любой
точке
границы
другого
.
Для
графических
обьектов
–
состояний
допускается
введение
внутренних
переходов
.
Эти
переходы
начинаются
или
заканчиваются
на
внутренних
границах
состояния
-
источника
.
К
числу
основных
неграфических
объектов
SF-
диаграммы
относятся
события
,
данные
и
действия
.
События
(Event)
управляют
работой
SF-
диаграммы
и
должны
быть
определены
пользователем
.
События
имеют
различные
области
видимости
(Scope):
локальные
(
видимые
только
в
пределах
SF-
диаграммы
или
ее
состояний
);
входные
(
передаваемые
в
SF-
диаграмму
из
Simulink);
выходные
(
передаваемые
в
Simulink
из
SF-
диаграммы
);
экспортируемые
(
передаваемые
во
внешнюю
УП
);
импортируемые
(
передаваемые
из
внешней
УП
).