Триггер

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

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

Описание

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

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

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

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

Порты

Вывод

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

Триггерный сигнал присоединил внешне к за пределами блока Subsystem или Блока модели, который передается внутренней части блока. Чтобы включить этот порт, выберите выходной порт Show.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | выражение

Параметры

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

Основной

Выберите тип события, которое инициировало выполнение подсистемы или модели.

rising

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

falling

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

either

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

function-call

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

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

Блочный параметр: TriggerType
Ввод: символьный вектор
Значения: 'повышение' | 'падающий' | 'любой' | 'вызов функции'
Значение по умолчанию: 'rising'

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

'off'

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

на

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

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

Зависимость

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

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

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

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

f

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

functionName

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

Зависимость

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

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

Блочный параметр: FunctionName
Ввод: символьный вектор
Значения: 'f' |' <имя функции>'
Значение по умолчанию: F

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

'off'

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

на

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

  • Включает Различный параметр управления.

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

Зависимость

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

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

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

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

(inherit)

Значение по умолчанию для различного управления. Наследовал различное условие от соответствующих Функциональных блоков Вызывающей стороны в модели. То, когда Различное Управление установлено как (inherit), значение для Генерирует условные выражения препроцессора, наследовано автоматически от блока Function Caller в модели.

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

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

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

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

Зависимость

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

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

Блочный параметр: VariantControl
Ввод: символьный вектор
Значения: ' (наследуйтесь)' | <логическое выражение> | Simulink. Различный объект
Значение по умолчанию: '(inherit)'

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

'off'

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

на

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

Зависимость

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

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

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

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

scoped

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

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

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

глобальная переменная

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

Зависимость

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

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

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

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

held

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

сброс

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

inherit

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

Зависимости

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

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

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

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

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

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

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

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

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

During execution

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

Only when enabling

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

Зависимости

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

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

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

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

'off'

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

на

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

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

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

  • 2 для триггера вызова функции

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

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

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

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

'auto'

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

'double'

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

int8

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

Зависимость

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

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

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

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

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

triggered

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

periodic

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

Зависимость

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

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

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

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

-1

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

Ts

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

[Ts, To]

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

Зависимости

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

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

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

Управление.

на

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

'off'

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

Зависимости

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

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

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

Выберите начальное состояние триггерного сигнала.

compatibility (no trigger on first evaluation)

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

zero

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

positive

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

negative

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

Зависимость

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

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

Блочный параметр: InitialTriggerSignalState
Ввод: символьный вектор
Значения: 'совместимость (не включают первую оценку)', | 'нуль' | 'положительный' | 'отрицательный'
Значение по умолчанию: 'compatibility (no trigger on first evaluation)'

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

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

1

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

N

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

m, n

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

Зависимость

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

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

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

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

-1

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

Ts

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

[Ts, To]

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

Зависимость

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

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

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

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

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

[]

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

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

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

Зависимость

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

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

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

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

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

[]

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

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

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

Зависимость

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

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

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

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

'double'

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

единственный

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

int8

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

uint8

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

int16

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

uint16

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

int32

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

uint32

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

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 из Триггерного списка типов.

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

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

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

Build in

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

Fixed point

Отобразите выпадающие списки для Со знаком, Масштабирования и переопределения Типа данных.

Выражение

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

Зависимость

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

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

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

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

на

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

'off'

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

Зависимость

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

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

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

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

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

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

No

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

Yes

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

No

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

Yes

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

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

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

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

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

Была ли эта тема полезной?