- •Редактор дифференциальных уравнений dee
- •Библиотека блоков Simulink
- •Управляемая фронтом сигнала подсистема Triggered Subsystem
- •Управляемая уровнем и фронтом сигнала подсистема Enabled and Triggered Subsystem
- •Управляемая s-функцией подсистема Function-call subsystem
- •Блок условного оператора If
- •Блок переключателя Switch Case
- •Управляемая по условию подсистема Action Subsystem
- •Управляемая подсистема For Iterator Subsystem
- •Управляемая подсистема While Iterator Subsystem
- •Конфигурируемая подсистема Configurable Subsystem
- •Повышение скорости и точности расчетов
- •Повышение скорости расчета
- •Повышение точности расчета
Управляемая фронтом сигнала подсистема Triggered Subsystem
Подсистема Triggered Subsystem (в дальнейшем T-подсистема) включается фронтом (перепадом уровня) управляющего сигнала и выполняет вычисления только на том шаге моделирования, где произошло это изменение. Если входной сигнал векторный, то подсистема активизируется, если хотя бы в одном элементе изменяется уровень сигнала. Возврат T-подсистемы в исходное состояние не производится (подсистема сохраняет последнее значение до следующего запуска), поэтому параметр States when enabling выходных портов имеет значение held, и недоступен для изменения.
В T-подсистеме могут использоваться блоки, для которых модельное время является наследуемым параметром от предыдущего блока (например, Gain или Logical Operator), а также дискретные блоки, для которых параметр sample time имеет значение –1 (минус один).
Свойства T-подсистемы определяются параметрами блока Trigger, который может находиться в любом месте данной подсистемы. Его параметры перечислены ниже.
Параметры:
Trigger type – Тип триггера. Выбирается из списка:
rising – Активизация подсистемы положительным фронтом.
falling – Активизация подсистемы отрицательным фронтом.
either – Активизация подсистемы как положительным, так и отрицательным фронтом.
function-call – Активизация подсистемы определяется логикой работы заданной S-функции.
Show output port (флажок) – Показать выходной порт.
На рис. 8 показан пример модели с T-подсистемой. Сама T-подсистема содержит лишь один усилитель с коэффициентом передачи равным 1. Как видно из временных диаграмм, подсистема срабатывает по положительному фронту управляющего сигнала. Выходной сигнал подсистемы остается неизменным до следующего положительного фронта управляющего сигнала.
Рис. 8 Модель, использующая T-подсистему
Управляемая уровнем и фронтом сигнала подсистема Enabled and Triggered Subsystem
Подсистема Enabled and Triggered Subsystem (в дальнейшем ET-подсистема) включается фронтом сигнала поступающего на T-вход системы при наличии положительного сигнала на E-входе системы. Так же как и Triggered Subsystem эта подсистема выполняет вычисления только на том шаге моделирования, где произошло изменение управляющего сигнала на T-входе. Параметр States when enabling блока Enable не оказывает влияния на работу ET-подсистемы.
Оба управляющих сигнала могут быть векторными.
Пример ET-подсистемы дан на рис. 9.
Рис. 9. Модель, использующая ET-подсистему
Управляемая 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.