Создание объектов Simulink
Для установления связи созданной модели Stateflow с Simulink необходимо в главном окне, которое всегда активно после запуска Matlab, щёлкнуть левой кнопкой мыши по значку в результате этого откроется окно библиотеки Simulink Library Browser (рис. ).
В меню File выберите пункт new/model, после этого откроется окно untitled.
Чтобы связать ранее созданную модель Stateflow с моделью Simulink необходимо перенести блок Chart в область окна untitled модели Simulink (рис. ).
После этого в модель Stateflow можно входить, дважды щёлкнув левой кнопкой мыши по блоку Chart, помещённому в области Simulink .
На следующем этапе необходимо задать значение входных переменных Io и Iv. Для этого в окне Simulink Library Browser в разделе Simulink выберите блок Constant (смотри пункт Sources) и перенесите его в область модели Simulink.
Соедините выход блока Constant с входным портом переменной Io. Щёлкните дважды левой кнопкой мыши по блоку Constant, в результате появится окно Block Parametrs (рис. ), в строке
Сonstant value необходимо ввести нужное значение интенсивности отказов.
Аналогичным образом создайте объект Constant1 и введите значение интенсивности восстановления Iv.
Для отображения текущих значений выходных переменных Ts0, Ts1, Tss используются три блока типа Display из раздела Sinks библиотеки Simulink. Входы этих блоков необходимо соединить с соответствующими выходными портами переменных блока Chart.
Вероятности нахождения моделируемой системы в состояниях H0 и H1 определяются следующим образом:
PH0=Ts0/Tss; PH1=Ts1/Tss.
Расчеты по этим формулам выполним с помощью двух блоков типа Product. Этот блок можно найти в разделе Math Operation. Чтобы задать операцию деления, щёлкните дважды по значку блока и в появившемся окне Block Parametrs в поле Number of inputs введите символы */ (рис. ).
После этого у блока появляются входы делимого и делителя. Соедините входы каждого из двух блоков типа Product с соответствующими выходами блока Chart.
Для отображения графиков вероятностей PH0 и PH1 воспользуемся блоком Scope (см. раздел Simulink пункт sinks).
Этот блок моделирует многолучевой осциллограф. Щёлкните дважды по этому блоку и в меню выберите пункт Parametrs,
открывается окно, изображенное на рис.,
в поле Number of axes задайте значение 2. Соедините входы блока Scope с выходами блока Product.
По оси ординат шкалы измерений блока Scope откладываются значения наблюдаемой величины, по оси абсцисс – значения модельного времени. По умолчанию для оси ординат используется диапазон [-5;5], а для оси модельного времени – [0;10]. Для изменения масштаба можно использовать кнопки Zoom X-axis, Zoom Y-axis или кнопку Autoscale, которая позволяет автоматически установить оптимальный масштаб осей (автошкалирование).
Вид результирующей модели показан на рис. .
После добавления всех необходимых блоков и соединения их между собой надо задать время симуляции. Выберите в меню пункт Simulation / Simulation parameters,
в результате появится окно Simulation parameters (рис.).
И в полях Start time и Stop time задайте необходимый интервал времени симуляции, а в поле Fixed step size – величину шага моделирования.
Запустите модель на выполнение, нажав значок на панели окна Stateflow. Процесс моделирования сопровождается мерцанием блоков состояний и линий переходов. После окончания моделирования необходимо открыть модель Simulink для просмотра и анализа результатов. В блоках типа Display отображаются окончательные значения для выходных переменных: Ts0, Ts1, Tss.
Щёлкните дважды мышью по блоку Scope,появится окно, в котором должны отображаться два графика: PH0(n) и PH1(n), где n – номер шага моделирования. Для отображения этих графиков щёлкните мышью по кнопке Autoscale.