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

Создание объектов Simulink

Для установления связи созданной модели Stateflow с Simulink необходимо в главном окне, которое всегда активно после запуска Matlab, щёлкнуть левой кнопкой мыши по значку в результате этого откроется окно библиотекиSimulink Library Browser (рис. 6).

В меню File выберите пункт new/model, после этого откроется окно untitled.

Чтобы связать ранее созданную модель Stateflow с моделью Simulink необходимо перенести блок Chart в область окна untitled модели Simulink (рис. 7). После этого в модель Stateflow можно входить, дважды щёлкнув левой кнопкой мыши по блоку Chart, помещённому в области Simulink .

На следующем этапе необходимо задать значение входных переменных Io и Iv. Для этого в окне Simulink Library Browser в разделе Simulink выберите блок Constant (смотри пункт Sources) и перенесите его в область модели Simulink. Соедините выход блока Constant с входным портом переменной Io. Щёлкните дважды левой кнопкой мыши по блоку Constant, в результате появится окно Block Parametrs (рис. 8), в строке Сonstant value необходимо ввести нужное значение интенсивности отказов. Аналогичным образом создайте объект Constant1 и введите значение интенсивности восстановления.

Рис. 6. Окно библиотеки Simulink Library Browser

Для отображения текущих значений переменных Ts0, Ts1, Tss используются три блока типа Display из раздела Sinks библиотеки Simulink. Входы этих блоков необходимо соединить с соответствующими выходными портами переменных блока Chart.

Рис. 7. Окно модели Simulink

Рис. 8. Окно Block Parametrs блока Constant

Вероятности нахождения моделируемой системы в состояниях H0 и H1 определяются следующим образом:

PH0=Ts0/Tss; PH1=Ts1/Tss.

Расчеты по этим формулам выполним с помощью двух блоков типа Product. Этот блок можно найти в разделе Math Operation. Чтобы задать операцию деления, щёлкните дважды по значку блока и в появившемся окне Block Parametrs в поле Number of inputs введите */ (рис. 9). После этого у блока появляются входы делимого и делителя. Соедините входы каждого из двух блоков типа Product с соответствующими выходами блока Chart.

Для отображения графиков вероятностей PH0 и PH1 воспользуемся блоком Scope (см. раздел Simulink пункт sinks). Этот блок моделирует многолучевой осциллограф. Щёлкните дважды по этому блоку и в меню выберите пункт Parametrs, открывается окно, изображенное на рис.10, в поле Number of axes задайте значение 2. Соедините входы блока Scope с выходами блока Product. По оси ординат шкалы измерений блока Scope откладываются значения наблюдаемой величины, по оси абсцисс – значения модельного времени. По умолчанию для оси ординат используется диапазон [-5;5], а для оси модельного времени – [0;10]. Для изменения масштаба можно использовать кнопки Zoom X-axis, Zoom Y-axis или кнопку Autoscale, которая позволяет автоматически установить оптимальный масштаб осей (автошкалирование).

Вид результирующей модели показан на рис. 11.

Рис. 9. Окно Block Parameters блока Product

Рис. 10. Окно Parameters блока scope

После добавления всех необходимых блоков и соединения их между собой надо задать время симуляции. Выберите в меню пункт Simulation / Simulation parameters, в результате появится окно Simulation parameters (рис.12). И в полях Start time и Stop time задайте необходимый интервал времени симуляции, а в поле Fixed step size – величину шага моделирования.

Запустите модель на выполнение, нажав значок на панели окнаStateflow. Процесс моделирования сопровождается мерцанием блоков состояний и линий переходов. После окончания моделирования необходимо открыть модель Simulink для просмотра и анализа результатов. В блоках типа Display отображаются окончательные значения для выходных переменных: Ts0, Ts1, Tss.

Рис. 11. Модель Simulink

Рис. 12. Окно Simulation parameters

Щёлкните дважды мышью по блоку Scope,появится окно, в котором должны отображаться два графика: PH0(n) и PH1(n), где n – номер шага моделирования. Для отображения этих графиков щёлкните мышью по кнопке Autoscale.