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

7. Блок перемикача Switch Case

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

Забезпечує формування керуючих сигналів для підсистем Case Action Subsystem. Блок є аналогом оператора Switch мови програмування C.

Параметри:

  1. Case conditions – Список значень вхідних сигналів (ціле число). Кожному значенню відповідає окремий вихідний Case-порт. Якщо значення вхідного сигналу, що надходить на вхід блоку Switch Case, збігається з яким або значенням зі списку, то на відповідному виході блоку формується керуючий сигнал. Якщо вхідний сигнал не є цілим, то його дробова частина відкидається. У вираженні Case conditions можна використовувати квадратні дужки, якщо необхідно виробляти керуючий сигал на якому-небудь порту для декількох значень вхідного сигналу. Наприклад, вираження {1,[7,9]} задає два вихідних Case-порти. На першому з них керуючий сигнал формується, якщо вхідний сигнал блоку дорівнює 1, а на другому, – якщо вхідний сигнал дорівнює 7 чи У вираженні Case conditions можна використовувати також діапазони значень. Наприклад, вираження {1:5} визначає, що для єдиного вихідного Case-порту вихідної сигал буде вироблятися, якщо вхідний сигнал блоку дорівнює 1, 2, 3, 4 чи 5.

  2. Show default case (прапорець) Показати default case-порт. На виході default case-порту формується керуючий сигнал, якщо вхідний сигнал блоку не збігається з жодним значенням, перерахованим у списку Case conditions.

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

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

switch (u1) { case 1: Switch Case Action Subsystem 1; break; case -1: Switch Case Action Subsystem 2; break; default: Switch Case Action Subsystem 3; }

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

8. Керована за умовою підсистема Action Subsystem

Підсистема призначена для роботи під керуванням блоків If чи Switch Case. У першому випадку вона називається If Action Subsystem, а в другому Switch Case Action Subsystem.

Параметри підсистеми визначаються настроюваннями її вихідних портів, а також настроюванням блоку Action Port, наявність якого в підсистемі і перетворює її в Action Subsystem.

Блок має один параметр настроювання:

States when execution is resumed – Стан підсистеми системи при наступному поновленні роботи. Значення параметра вибирається зі списку:

  • held – Використовувати попередній стан (останній стан коли система був активний).

  • reset – Використовувати початкове (вихідне) стан.

Розглянутий параметр робить така ж дія на поводження підсистеми як параметр States when enabling блоку Enable.

Керована підсистема For Iterator Subsystem

Керована підсистема For Iterator Subsystem являє собою підсистему, що виконується неодноразово протягом одного такту моделювання. Кількість повторень повинна бути відомо заздалегідь і може задаватися зовнішнім джерелом чи сигналу за допомогою параметра блоку. Основні властивості підсистеми задає ітераційний блок For Iterator. Блок є аналогом оператора циклу For мови програмування C.

Блоку For може знаходитися в будь-якім місці підсистеми. Його параметри перераховані нижче.

Параметри:

  1. States when starting – Стан підсистеми при наступному запуску. Значення параметра вибирається зі списку:

    • held – Використовувати попередній стан (останній стан коли система був активний).

    • reset – Використовувати початкове (вихідне) стан.

  2. Source of number of iterations (прапорець)Джерело задающий кількість ітерацій.

    • internal – Внутрішній.

    • external – Зовнішній.

  3. Number of iterations – Кількість ітерацій. Параметр доступний, якщо обраний внутрішнє джерело числа ітерацій.

  4. Show iteration number port – Відобразити на піктограмі блоку вихідний порт, з якого знімається сигнал номера ітерації.

  5. Output data type – Тип даних вихідного сигналу порту. Значення параметра вибирається зі списку: int32, int16, int8 і double.

На мал. 9 показаний приклад використання For Iterator Subsystem. У прикладі виконується нагромадження суми значень із кроком рівним 10. Кількість ітерацій задається зовнішнім джерелом і дорівнює 20.

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

sum = 0; iterations = 20; sum_increment = 10; for (i = 0; i < iterations; i + +) { sum = sum + sum_increment; }

Рис. 9 Застосування For Iterator Subsystem

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