Триггер

Добавьте триггер или функциональный порт к подсистеме или модели

  • Библиотека:
  • Simulink / Ports & Subsystems

    HDL Coder / Ports & Subsystems

Описание

Блок Trigger добавляет внешний сигнал управлять выполнением подсистемы или модели. Чтобы добавить эту функциональность, добавьте этот блок в блок Subsystem или на корневом уровне модели, на которую ссылаются в блоке Model.

Затем сконфигурируйте блок Trigger, чтобы выполнить подсистему или модель:

  • Однажды на каждом временном шаге, когда значение изменений управляющего сигнала способом, что вы задаете.

  • Многократно во время временного шага, когда управляющий сигнал является событием вызова функции из графика Stateflow®, Блока Function-Call Generator или Блока s-function.

Порты

Вывод

развернуть все

Управляющий сигнал (триггер или вызов функции) присоединенный внешне к за пределами блока Subsystem или блока Model, который передается внутренней части блока. Чтобы включить этот порт, выберите Show output port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | expression

Параметры

развернуть все

Основной

Выберите тип управляющего сигнала, который выполняет подсистему или модель.

rising

Инициируйте выполнение подсистемы или модели, когда управляющий сигнал повысится с отрицательной величины или нулевого значения к положительному значению. Если начальное значение отрицательно, возрастающий сигнал обнулить триггерное выполнение.

falling

Инициируйте выполнение подсистемы или модели, когда управляющий сигнал упадет от положительного или нулевого значения к отрицательной величине. Если начальное значение положительно, падающий сигнал обнулить триггерное выполнение.

either

Инициируйте выполнение подсистемы или модели, когда управляющий сигнал или повысится или упадет.

function-call

Выполните подсистему или модель, когда управляющий сигнал получит событие вызова функции от диаграммы Stateflow, Блока Function-Call Generator или Блока s-function.

Программируемое использование

Параметры блоков: TriggerType
Ввод: символьный вектор
Значения: 'rising' | 'falling' | 'either' | 'function-call'
Значение по умолчанию: 'rising'

Создайте Функциональный блок Simulink путем конфигурирования блока Subsystem, который является вызываемым с аргументами от функциональной вызывающей стороны.

'off'

Удалите настройку.

на

Сконфигурируйте блок Subsystem как Функциональный блок Simulink. Блок Trigger должен находиться в подсистеме.

Можно отредактировать прототипа функции, который отображается на поверхности блока, чтобы задать аргументы ввода и вывода для блока.

Зависимость

Чтобы отобразить и включить этот параметр, выберите function-call из списка Trigger type.

Программируемое использование

Параметры блоков: IsSimulinkFunction
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте имя функции для Функционального блока Simulink. Также можно задать имя путем редактирования прототипа функции на поверхности блока.

f

Имя по умолчанию для Функционального блока Simulink.

functionName

Имя функции, которое отображается на поверхности Функционального блока Simulink.

Зависимость

Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и выберите Treat как флажок Simulink Function.

Программируемое использование

Параметры блоков: FunctionName
Ввод: символьный вектор
Значения: 'f' | '<function name>'
Значение по умолчанию: 'f'

Управление, активирующее различное управление (условие), задано с параметром Variant Control.

'off'

Деактивируйте различное управление подсистемы.

на

Активируйте различное управление подсистемы. Выбор этого параметра:

  • Включает параметр Variant control.

  • Отображает различный значок на поверхности блока, указывающего, что различные условия включены.

Зависимость

Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и выберите Treat как флажок Simulink Function..

Программируемое использование

Параметры блоков: Variant
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте различное управление (условие) выражение, которое выполняет различный Функциональный блок Simulink, когда выражение оценивает к true.

(inherit)

Значение по умолчанию для различного управления. Наследовал различное условие от соответствующих Функциональных блоков Вызывающей стороны в модели. Когда Variant Control установлен как (inherit), значение для Generate preprocessor conditionals наследовано автоматически от блока Function Caller в модели.

логическое выражение

Логическое (булево) выражение или объект Simulink.Variant, представляющий логическое выражение.

Функция активируется, когда выражение оценивает к true.

Если вы хотите сгенерировать код для своей модели, задать переменные в выражении, когда Simulink.Parameter возражает.

Зависимость

Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов, выберите Treat как флажок Simulink Function и затем установите флажок Enable variant condition.

Программируемое использование

Параметры блоков: VariantControl
Ввод: символьный вектор
Значения: '(inherit)' |<logical expression> | Simulink.Variant object
Значение по умолчанию: '(inherit)'

Управляйте вариантами включения в условных операторах препроцессора C.

'off'

Не заключайте варианты в условных операторах препроцессора C.

на

При генерации кода для цели ERT заключите варианты в условных операторах препроцессора C (#if).

Зависимость

Чтобы отобразить и включить этот параметр, установите флажок Enable variant condition .

Программируемое использование

Параметры блоков: GeneratePreprocessorConditionals
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите осциллограф Функционального блока Simulink в подсистеме или модели.

scoped

Ограничьте доступность функции к:

  • Иерархический уровень, содержащий Функциональный блок Simulink и уровни ниже.

  • Один иерархический уровень выше с проверкой.

global

Функция, доступная от любой части иерархии модели.

Зависимость

Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и затем выберите Treat как флажок Simulink Function..

Программируемое использование

Параметры блоков: FunctionVisibility
Ввод: символьный вектор
Значения: 'scoped' | 'global'
Значение по умолчанию: 'scoped'

Выберите, как установить значения состояния блока, когда подсистема или модель отключены.

held

Оставьте состояния блока в их текущих значениях.

reset

Сбросьте значения состояния блока.

inherit

Используйте held или reset, сходящий с родительской подсистемы, инициирующей вызов функции. Если родительский элемент инициатора является образцовым корнем, наследованной установкой является held. Если триггер имеет несколько инициаторов, установите родительские элементы всех инициаторов или к held или к reset.

Зависимости

Чтобы включить этот параметр, выберите function-call из списка Trigger Type.

Эта установка параметра применяется, только если модель явным образом включает и отключает подсистему вызова функций. Например:

  • Подсистема вызова функций находится в активированной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с родительской подсистемой.

  • Инициатор вызова функции, который управляет подсистемой вызова функций, находится в активированной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с активированной подсистемой, содержащей инициатора вызова функции.

  • Инициатор вызова функции является событием Stateflow, связанным с конкретным состоянием. Смотрите, что Подсистемы вызова функций Управления при помощи связывают Действия (Stateflow).

  • Инициатором вызова функции является S-функция, которая явным образом включает и отключает подсистему вызова функций. Смотрите ssEnableSystemWithTid для примера.

Программируемое использование

Параметры блоков: StatesWhenEnabling
Ввод: символьный вектор
Значения: 'held' | 'reset' | 'inherit'
Значение по умолчанию: 'held'

Выберите, когда распространить сигналы переменного размера.

During execution

Распространите сигналы переменного размера на каждом временном шаге.

Only when enabling

Распространите сигналы переменного размера при выполнении блока Subsystem или блока Model, содержащего порт Enable, порт Trigger с набором Trigger type к function- call или Блокировку порта Действия. Когда вы выбираете эту опцию, шаг расчета должен быть периодическим.

Зависимости

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта, выберите Function-call из списка Trigger type.

Программируемое использование

Параметры блоков: PropagateVarSize
Ввод: символьный вектор
Значения: 'During execution' | 'Only when enabling'
Значение по умолчанию: 'During execution'

Управляйте отображением выходного порта для сигнала, который идентифицирует триггерный сигнал или сигнал события вызова функции.

'off'

Удалите выходной порт.

на

Отобразите выходной порт и определите, какой сигнал вызвал триггерный сигнал или событие вызова функции. Ширина сигнала выходного порта является шириной управляющего сигнала. Значение сигналов:

  • 1 для сигнала, который вызывает возрастающий триггер

  • -1 для сигнала, который вызывает падающий триггер

  • 2 для события вызова функции

  • 0 во всех других случаях

Программируемое использование

Параметры блоков: ShowOutputPort
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите тип данных выходного порта для сигнала, который идентифицирует триггерный сигнал или сигнал события вызова функции.

auto

Тип данных совпадает с портом, соединенным с выводом.

double

Двойное значение.

int8

Целочисленное значение

Зависимость

Чтобы включить этот параметр, установите флажок Show output port.

Блок Trigger игнорирует установку переопределения Типа данных для Fixed-Point Tool.

Программируемое использование

Параметры блоков: OutputDataType
Ввод: символьный вектор
Значения: 'auto' | 'double' | 'int8'
Значение по умолчанию: 'auto'

Выберите уровень вызова для подсистемы или модели.

triggered

Обратитесь к приложениям, которые не имеют периодической частоты вызова функции.

periodic

Применяйтесь, если вызывающая сторона родительской подсистемы вызова функций вызывает подсистему однажды на временной шаг, когда подсистема активна (включил). Диаграмма Stateflow является примером вызывающей стороны.

Зависимость

Чтобы включить этот параметр, выберите Function-call из списка Trigger type.

Программируемое использование

Параметры блоков: SampleTimeType
Ввод: символьный вектор
Значения: 'triggered' | 'periodic'
Значение по умолчанию: 'triggered'

Задайте временной интервал между вызовами функции к подсистеме или модели, содержащей эту Триггерную блокировку порта. Если фактический уровень вызова для подсистемы или модели отличается от временного интервала, этот параметр задает, Simulink® отображает ошибку.

-1

Наследуйте временной интервал от управляющего сигнала.

Ts

Скаляр, где Ts является временным интервалом.

[Ts, To]

Вектор, где Ts является временным интервалом и К, является начальным смещением времени.

Зависимости

Чтобы включить этот параметр, выберите function-call из Триггерного списка типов и periodic из списка типов Шага расчета.

Программируемое использование

Параметры блоков: SampleTime
Ввод: символьный вектор
Значения: '-1' | 'Ts' | '[Ts, To]'
Значение по умолчанию: '-1'

Управление.

на

Обнаружьте нулевые пересечения.

'off'

Не обнаруживайте нулевые пересечения.

Зависимости

Чтобы включить этот параметр, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: ZeroCross
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Выберите начальное состояние триггерного управляющего сигнала.

compatibility (no trigger on first evaluation)

Никакой триггер при первой оценке триггерного сигнала. Если вы выбираете эту опцию, и блок Trigger находится в подсистеме, где состояния сбрасываются, блок не сбрасывает.

zero

Нуль. Помогает оценить повышение или падающий триггерный сигнал на первом временном шаге.

positive

Положительное значение. Помогает оценить падающий триггерный сигнал на первом временном шаге.

negative

Отрицательная величина. Помогает оценить возрастающий триггерный сигнал на первом временном шаге.

Зависимость

Чтобы отобразить и активировать этот параметр, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: InitialTriggerSignalState
Ввод: символьный вектор
Значения: 'compatibility (no trigger on first evaluation)' | 'zero' | 'positive' | 'negative'
Значение по умолчанию: 'compatibility (no trigger on first evaluation)'

Атрибут сигнала

Задайте размерности для триггерного сигнала, присоединенного внешне блок Model, и передал внутренней части блока.

1

Скалярный сигнал.

[n]

Векторный сигнал ширины n.

[m n]

Матричный сигнал, имеющий строки m и столбцы n.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: PortDimensions
Ввод: символьный вектор
Значения: '1' | '[n]' | '[m n]'
Значение по умолчанию: '1'

Задайте временной интервал между осуществлениями метода блока для блока, управляющего триггерным сигналом.

-1

Наследуйте временной интервал.

Ts

Скаляр, где Ts является временным интервалом.

[Ts, To]

Вектор, где Ts является временным интервалом и К, является начальным смещением времени.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: TriggerSignalSampleTime
Ввод: символьный вектор
Значения: '-1' | 'Ts' | '[Ts, To]'
Значение по умолчанию: '-1'

Задайте минимальное значение для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.

Simulink использует это значение, чтобы выполнить:

[]

Незаданное минимальное значение.

действительный скаляр

Действительное скалярное значение.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: OutMin
Ввод: символьный вектор
Значения: '[]' | '<real scalar>'
Значение по умолчанию: '[]'

Задайте максимальное значение для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.

Simulink использует это значение, чтобы выполнить:

[]

Незаданное максимальное значение.

действительный скаляр

Действительное скалярное значение.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: OutMax
Ввод: символьный вектор
Значения: '[]' | '<real scalar>'
Значение по умолчанию: '[]'

Выберите тип данных для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.

double

Плавающая точка двойной точности.

single

Плавающая точка с одинарной точностью.

int8

8-битное целое число со знаком.

uint8

8-битное целое число без знака.

int16

16-битное целое число со знаком.

uint16

16-битное целое число без знака.

int32

32-битное целое число со знаком.

uint32

32-битное целое число без знака.

int64

64-битное целое число со знаком.

uint64

64-битное целое число без знака.

boolean

Булевская переменная со значением true или false.

fixdt(1,16)

16-битный номер фиксированной точки со знаком с неопределенной двоичной точкой.

fixdt(1,16,0)

16-битный номер фиксированной точки со знаком с обнуленной двоичной точкой.

fixdt(1,16,2^,0)

16-битный номер фиксированной точки со знаком с наклонным набором к 2^0 и набором смещения к 0.

<data type expression>

Объект типа данных, например, Simulink.NumericType. Не задавайте объект шины как выражение.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'double'

Выберите категорию типов данных и отобразите выпадающие списки, чтобы помочь вам задать тип данных.

Build in

Отобразите выпадающие списки для типа данных и Data type override.

Fixed point

Отобразите выпадающие списки для Signedness, Scaling и Data type override.

Expression

Отобразите текстовое поле для ввода выражения.

Зависимость

Чтобы включить этот параметр, нажмите ассистент типа данных Show кнопка.

Программируемое использование

Никакой эквивалентный параметр командной строки.

Управляйте, как отсутствие данных о рабочей области оценивается при загрузке данных из рабочей области MATLAB®.

на

Линейно интерполируйте вывод на временных шагах, для которых не существуют никакие соответствующие данные о рабочей области.

'off'

Не интерполируйте вывод на временных шагах. Текущая производительность равняется выводу на шаге наиболее последнего времени, для которого существуют данные.

Зависимость

Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.

Программируемое использование

Параметры блоков: Interpolate
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Образцовые примеры

Характеристики блока

Типы данных

Boolean | double | enumerated | fixed point | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

yes

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Представлено до R2006a