logo search
АСУ_МЕТОДИЧКИ_НАДЕЖНОСТЬ / ЛАБ_РАБ_(1-4)

Создание объектов Stateflow диаграммы

Для открытия окна моделирования Stateflow диаграммы необходимо выполнить следующие действия:

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

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

Для каждого блока состояния модели введите соответствующие метки. Например, щелкните правой кнопкой мыши по первому блоку состояния модели и выберите пункт Properties. В поле Label окна State введите метку:

H0/

tо0=ml(‘-log(unifrnd(0,1))’)/ Iо.

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

Для второго блока состояния модели введите метку:

H1/

tv1=ml(‘-log(unifrnd(0,1))’)/ Iv.

Переменная tv1 моделирует время нахождения системы в состоянии восстановления; Iv – интенсивность восстановления системы (входной параметр модели Stateflow).

Введите метки переходов. Например, щелкните правой кнопкой мыши по стрелке перехода из состояния H0 в состояние H1 и выберите пункт Properties.

В поле Label окна Transition введите метку

{Ts0=Ts0+to0; Tss=Tss+to0;}.

Здесь в переменной Ts0 накапливается время нахождения системы в состоянии H0, а в переменной Tss – суммарное время моделирования.

Для стрелки перехода из состояния H1 в состояние H0 введите метку

{ Ts1=Ts1+tv1; Tss=Tss+tv1;}.

В переменной Ts1 накапливается время нахождения системы в состоянии H1.

Создайте переход по умолчанию к состоянию H0. Для этого выделите на панели инструментов значок Default transition , а затем наведите указатель мыши на образующую линию блока H0.

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

После создания визуальных объектов модели необходимо определить объекты данных. Для этого щелкните правой кнопкой мыши по свободному месту диаграммы и выберите пункт Explore. Stateflow открывает окно Exploring. Выберите объект в иерархии объектов Проводника (например, Chart). Из меню Проводника Add выберите пункт Data. По умолчанию Stateflow добавляет определение для нового объекта в словарь данных (рис. 5).

Рис. 4. Модель Stateflow

В столбце Name введите имя переменной, в столбце Scope – разновидность переменной (Local,Input,Output и т.п.). К разновидности Local относятся переменные, которые используются только внутри модели Stateflow, в данном примере к ним относятся to0, tv1. Переменные типа Input импортируются из Simulink (Io,Iv), а переменные типа Output являются выходными в Simulink модель, в примере это Tss, Ts0, Ts1.

Рис. 5. Окно Exploring