logo
АСУ_МЕТОДИЧКИ_НАДЕЖНОСТЬ / ЛАБ_РАБ_2_ПОДРОБНО

Создание объектов 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.