Основы моделирования в MATLAB. Часть 2. Simulink. Терёхин В.В. - 209 стр.

UptoLike

Составители: 

207
9.9.10 Управляемая подсистема While Iterator Subsystem
Управляемая подсистема While Iterator Subsystem представ-
ляет собой подсистему, которая выполняется неоднократно в течение
одного такта моделирования. Количество повторений заранее не из-
вестно. Цикл прекращается, если значение логического сигнала на
управляющем входе подсистемы станет равно FALSE. Основные
свойства подсистемы задает итерационный блок While Iterator. Блок
является аналогом оператора цикла while (do-while) языка програм-
мирования C
.
Свойства While Iterator Subsystem определяются параметра-
ми блока While Iterator. Его параметры перечислены ниже.
Параметры:
1. Maximum number of iterations – Максимальное количество
итераций. Если значение параметра равно -1 (минус один), то
количество итераций не ограничивается.
2. While loop type (флажок)Тип цикла. Выбирается из списка:
while – Цикл while.
do-while – Цикл do-while.
3. States when starting – Состояние подсистемы системы при
следующем
запуске. Значение параметра выбирается из спи-
ска:
held – Использовать предыдущее состояние (последнее со-
стояние когда система была активна).
reset – Использовать начальное (исходное) состояние.
4. Show iteration number port – Отобразить на пиктограмме
блока выходной порт, с которого снимается сигнал номера
итерации.
5. Output data type – Тип данных выходного сигнала порта.
Значение параметра выбирается из списка:
int32, int16, int8 и
double.
Входной порт IC позволяет задать начальное значение сигна-
ла прекращающего выполнение цикла while. При использовании цик-
ла do-while подсистема будет выполнена хотя бы один раз (поскольку
проверка условия в этом случае производится в конце цикла).
На рисунке 9.9.10 показан пример использования While
Iterator Subsystem. В примере выполняется накопление суммы зна
-
чений с шагом равным 10. Выполнение цикла прекращается, когда
величина суммы достигнет значения 100.
С-код, соответствующий алгоритму работы While Iterator
Subsystem в приведенном примере выглядит следующим образом:
        9.9.10 Управляемая подсистема While Iterator Subsystem

        Управляемая подсистема While Iterator Subsystem представ-
ляет собой подсистему, которая выполняется неоднократно в течение
одного такта моделирования. Количество повторений заранее не из-
вестно. Цикл прекращается, если значение логического сигнала на
управляющем входе подсистемы станет равно FALSE. Основные
свойства подсистемы задает итерационный блок While Iterator. Блок
является аналогом оператора цикла while (do-while) языка програм-
мирования C.
        Свойства While Iterator Subsystem определяются параметра-
ми блока While Iterator. Его параметры перечислены ниже.
        Параметры:
    1. Maximum number of iterations – Максимальное количество
         итераций. Если значение параметра равно -1 (минус один), то
         количество итераций не ограничивается.
    2. While loop type (флажок) – Тип цикла. Выбирается из списка:
         • while – Цикл while.
         • do-while – Цикл do-while.
    3. States when starting – Состояние подсистемы системы при
         следующем запуске. Значение параметра выбирается из спи-
         ска:
         • held – Использовать предыдущее состояние (последнее со-
         стояние когда система была активна).
         • reset – Использовать начальное (исходное) состояние.
    4. Show iteration number port – Отобразить на пиктограмме
         блока выходной порт, с которого снимается сигнал номера
         итерации.
    5. Output data type – Тип данных выходного сигнала порта.
         Значение параметра выбирается из списка: int32, int16, int8 и
         double.
        Входной порт IC позволяет задать начальное значение сигна-
ла прекращающего выполнение цикла while. При использовании цик-
ла do-while подсистема будет выполнена хотя бы один раз (поскольку
проверка условия в этом случае производится в конце цикла).
        На рисунке 9.9.10 показан пример использования While
Iterator Subsystem. В примере выполняется накопление суммы зна-
чений с шагом равным 10. Выполнение цикла прекращается, когда
величина суммы достигнет значения 100.
        С-код, соответствующий алгоритму работы While Iterator
Subsystem в приведенном примере выглядит следующим образом:

                                                                 207