Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_3_П_системи_Simulink.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
241.66 Кб
Скачать

4. Керована рівнем і фронтом сигналу підсистема Enabled and Triggered Subsystem

Підсистема Enabled and Triggered Subsystem (надалі ET-підсистема) включається фронтом сигналу, що надходить на T-вхід системи при наявності позитивного сигналу на E-вході системи. Так само як і Triggered Subsystem ця підсистема виконує обчислення тільки на тім кроці моделювання, де відбулася зміна керуючого сигналу на T-вході. Параметр States when enabling блоку Enable не робить впливу на роботу ET-підсистеми.

Обоє керуючих сигналу можуть бути векторними. Приклад ET-підсистеми даний на Рис. 6.

Рис. 6 Модель, що використовує ET-підсистему

5. Керована s-функцією підсистема Function-call subsystem

Function-call subsystem (надалі FC-підсистема) є T-підсистемою, призначеної для використання разом з S-функцією написаної мовою C. Використовуючи спеціальні засоби, можна забезпечити виконання підсистеми під час виконання S-функції. На час виконання FC-підсистеми робота S-функції зупиняється, а по закінченні виконання FC-підсистеми робота S-функції відновляється. Таким чином, FC-підсистема забезпечує створення S-функцій, що запускають підсистеми складені з Simulink-блоків. Механізм створення таких S-функцій описаний у документації Simulink, присвяченої створенню S-функцій.

Для роботи з FC-підсистемою можна використовувати також Function-Call Generator і засобу пакета событийного моделювання Stateflow.

6. Блок умовного оператора If

Призначення:

Забезпечує формування керуючих сигналів для підсистем If Action

Subsystem. Блок є аналогом оператора if-else мови програмування C.

Параметри:

  1. Number of inputs – Кількість входів.

  2. If expression – Умовне вираження. Умовне вираження може містити в собі наступні знаки: <. <=, ==, ~=, >, >=, &, |, [ ], а також унарный мінус. Якщо записане умовне вираження щире, то на вихідному If-порту блоку формується керуючий сигнал.

  3. Elseif expressions – Одне чи список альтернативних умовних виражень розділених комами, що обчислюються, якщо умовне вираження If expression ложно. Кожному умовному вираженню, записаному в списку Elseif expressions відповідає вихідний Elseif-порт на який формується керуючий сигнал, якщо відповідне умовне вираження щире. При цьому алгоритм обчислення альтернативних умовних виражень такий, що якщо одне з альтернативних умовних виражень виявиться щирим, те наступні в списку вираження не перевіряються. Альтернативне умовне вираження може містити в собі ті ж знаки, що і вираження If expression.

  4. Show else condition (прапорець) – Показати Else-порт. На Else-порту формується керуючий сигнал, якщо умовне вираження і всі альтернативні умовні вираження помилкові.

На піктограмі блоку відображаються умовні вираження, записані в його параметрах. Додавання кожного нового альтернативного умовного вираження приводить до появи нового Elseif вихідного порту.

Якщо вхідні сигнали блоку є скалярами, то для їхнього позначення у вираженнях використовується запис виду u1, u2 ,u3 і т.д. Якщо вхідні сигнали векторні, то для позначення елементів вектора використовуються вираження виду u1(1), u1(2), u2(1), u2(2) і т.д.

На Рис. 7 показаний приклад використання блоку If разом з підсистемами If Action Subsystem. У прикладі перша підсистема пропускає через себе вхідний сигнал якщо вхідний сигал блоку If більше 1, друга – якщо вхідний сигнал менше –1 (мінус один), і третя – якщо вхідний сигнал лежить в інтервалі від -1 до +1.

З-код, що відповідає алгоритму роботи блоку If у приведеному прикладі виглядає в такий спосіб:

if (u1 > 1) { If Action Subsystem 1; } elseif (u1 < -1){ If Action Subsystem 2; } else { If Action Subsystem 3; }

Рис. 7 Використання блоку If разом з підсистемами If Action Subsystem

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]