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

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

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

Добавлен: 26.01.2021

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

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

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

представленной

на

рис

. 6.35, 

подобная

функция

используется

в

блоке

Queue.full 

и

реализует

такую

же

операцию

обновления

массива

 ns, 

как

и

графическая

функция

в

блоке

  Queue.stored. 

Тем

самым

иллюстрируется

возможность

получения

одного

и

того

же

результата

различными

способами

Рис

. 6.37 

В

результате

использования

рассмотренных

внутренних

графических

компонентов

 Stateflow 

появляется

возможность

определить

переменные

и

массивы

внутри

самой

 SF-

модели

  (

как

это

видно

на

рис

6.35).  

Это

упрощает

описание

общей

интегрированной

модели

 MATLAB 

+ Simulink + Stateflow 

по

сравнению

с

вариантом

в

котором

активно

используются

переменные

и

функции

определенные

в

 MATLAB (

этот

вариант

ранее

представлен

текстом

 m-

сценария

и

 SF-

моделью

рис

. 6.33). 

Дальнейшим

естественным

шагом

является

построение

моделей

более

сложных

систем

массового

обслуживания

на

основе

использования

рассмотренных

выше

базовых

конструкций

как

элементов

разрабатываемой

модели

Этот

процесс

можно

существенно

упростить

если

ввести

иерархическое

описание

событий

и

данных

для

тиражируемых

модулей

то

есть

выделить

те

переменные

которые

имеют

внутреннюю

  «

видимость

» 

и

не

используются

вне

данного

модуля

Тогда

процесс

создания

модели

практически

можно

свести

к

копированию

и

вставке

типовых

конструкций

в

общей

 SF-

диаграмме

.  

На

рис

. 6.38, 6.39 

представлен

пример

построения

модели

двухфазной

системы

массового

обслуживания

содержащей

в

первой

фазе

255


background image

накопитель

и

один

канал

обслуживания

 (Q1) 

и

во

второй

фазе

два

параллельных

канала

обслуживания

 (Q21 

и

 Q22), 

предваряемые

накопителями

Входной

поток

заявок

является

пуассоновским

и

имеет

интенсивность

 Li.  

Все

накопители

имеют

одинаковую

предельную

длину

очереди

 nqm. 

Канал

обслуживания

первой

фазы

имеет

интенсивность

потока

обслуживания

 Lo, 

а

каналы

обслуживания

второй

фазы

 – Lo/3 

каждый

Все

эти

переменные

устанавливаются

и

могут

варьироваться

в

управляющей

 MATLAB-

программе

Собственно

 S-

модель

состоит

из

одного

блока

 Chart 

и

блока

 Scope, 

обеспечивающего

визуализацию

результатов

работы

модели

   

Рис

.6.38 

Наибольший

интерес

представляет

построение

собственно

 SF-

модели

представленной

на

рис

. 6.39. 

В

ней

блок

 Activ, 

как

и

ранее

является

генератором

потока

заявок

 (

событий

 zayvka) 

на

входе

прибора

  

256 


background image

 
 

Рис

. 6.39 

257


background image

258 

Q1 

с

интенсивностью

 Li. 

В

этом

блоке

также

фиксируется

количество

генерируемых

заявок

передаваемое

в

УП

переменной

 ob, 

и

запоминаются

моменты

времени

появления

заявок

на

входе

системы

Эти

заявки

обрабатываются

в

 Q1. 

В

структуре

данного

модуля

объединяются

ранее

подробно

рассмотренные

компоненты

 Queue 

и

 Process, 

имитирующие

работу

накопителя

и

канала

обслуживания

первой

фазы

Текущее

количество

заявок

  

в

очереди

здесь

как

и

ранее

определено

переменной

nq. 

В

момент

окончания

процесса

обслуживания

очередной

заявки

на

выходе

блока

фиксируется

значение

переменной

 za1=1, 

которой

во

все

остальные

моменты

времени

присваивается

нулевое

значение

.  

Для

распределения

заявок

поступающих

на

вторую

фазу

обслуживания

в

модели

введен

специальный

модуль

 MP, 

иллюстрирующий

возможности

 Stateflow 

по

использованию

внутренних

переходов

для

формирования

логически

управляемых

ветвей

действий

Выполнение

условия

 [za1=1] 

здесь

порождает

генерацию

события

 zayvka1 

– 

появления

новой

заявки

на

входе

приборов

второй

фазы

обслуживания

которая

в

зависимости

от

загруженности

очередей

 Q21 

и

 Q22, 

определяемых

переменными

 nq1 

и

 nq2, 

и

текущих

состояний

блоков

Q21.Process 

и

 Q22.Process (free 

или

 busy), 

пересылается

   

в

тот

или

иной

модуль

В

случае

когда

оба

накопителя

второй

фазы

заполнены

в

модуле

MP 

фиксируется

отказ

путем

присвоения

значения

переменной

 reject1=1, 

которой

во

все

остальные

моменты

времени

присваивается

нулевое

значение

По

сути

принцип

работы

данного

модуля

повторяет

принцип

работы

модуля

 Active, 

то

есть

реализует

генерацию

и

пересылку

заявок

поступающих

на

вторую

фазу

обслуживания

в

необходимые

блоки

модулей

 Q21 

и

 Q22. 

Внутренняя

структура

 Q21 

и

 Q22 

практически

полностью

повторяет

структуру

модуля

 Q1, 

с

тем

только

отличием

что

в

них

осуществляется

фиксация

интервалов

времени

нахождения

заявок

в

системе

которые

записываются

в

массив

 tay, 

определенный

в

УП

подсчитывается

количество

обслуженных

каждым

модулем

заявок

    (

переменные

 ok1 

и

ok2). 

Для

фиксации

моментов

окончания

обслуживания

заявок

используются

компоненты

массива

 za2[1] 

и

 za2[2].  

Переменные

 nz 

и

 nz1, 

используемые

в

 Q1, Q21,Q22, 

служат

для

запоминания

номеров

заявок

поступающих

на

обслуживание


background image

На

рис

.6.40 

представлено

окно

обозревателя

 Stateflow, 

иллюстрирующее

иерархию

состояний

а

также

перечень

событий

и

данных

имеющих

видимость

в

пределах

всей

 SF-

диаграммы

Все

остальные

переменные

события

типа

 prf, 

массивы

типа

 ns, 

используемые

для

хранения

номеров

заявок

находящихся

в

очередях

вспомогательные

данные

типа

 ct, ta, bt, to, nob 

и

т

.

п

определяются

и

имеют

область

видимости

в

пределах

использующих

их

блоков

.   

 
 

Рис

. 6.40 

В

качестве

иллюстрации

работоспособности

разработанной

модели

СМО

на

рис

. 6.41 

представлено

визуальное

отображение

всех

основных

процессов

реализуемых

в

системе

получаемое

в

блоке

 Scope S-

модели

Значения

интенсивности

потока

заявок

при

этом

равно

 Li=1 

Гц

а

интенсивностей

потоков

обслуживания

в

первой

фазе

 Lo=1 

Гц

и

во

второй

259