Добавьте триггер или функциональный порт к подсистеме или модели
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems
![]()
Блок Trigger добавляет внешний сигнал управлять выполнением подсистемы или модели. Чтобы добавить эту функциональность, добавьте этот блок в блок Subsystem или на корневом уровне модели, на которую ссылаются в блоке Model.
Затем сконфигурируйте блок Trigger, чтобы выполнить подсистему или модель:
Однажды на каждом временном шаге, когда значение изменений управляющего сигнала способом, что вы задаете.
Многократно во время временного шага, когда управляющий сигнал является событием вызова функции из графика Stateflow®, Блока Function-Call Generator или Блока s-function.
Control signal — Сигнал внешнего управления к подсистеме или моделиУправляющий сигнал (триггер или вызов функции) присоединенный внешне к за пределами блока Subsystem или блока Model, который передается внутренней части блока. Чтобы включить этот порт, выберите Show output port.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | expression
Trigger type — Выберите управляющий сигнал типаrising (значение по умолчанию) | falling | either | function-callВыберите тип управляющего сигнала, который выполняет подсистему или модель.
risingИнициируйте выполнение подсистемы или модели, когда управляющий сигнал повысится с отрицательной величины или нулевого значения к положительному значению. Если начальное значение отрицательно, возрастающий сигнал обнулить триггерное выполнение.
fallingИнициируйте выполнение подсистемы или модели, когда управляющий сигнал упадет от положительного или нулевого значения к отрицательной величине. Если начальное значение положительно, падающий сигнал обнулить триггерное выполнение.
eitherИнициируйте выполнение подсистемы или модели, когда управляющий сигнал или повысится или упадет.
function-callВыполните подсистему или модель, когда управляющий сигнал получит событие вызова функции от диаграммы Stateflow, Блока Function-Call Generator или Блока s-function.
Параметры блоков:
TriggerType |
| Ввод: символьный вектор |
Значения:
'rising' | 'falling' | 'either' | 'function-call' |
Значение по умолчанию:
'rising' |
Treat as Simulink function — Создайте Функциональный блок SimulinkСоздайте Функциональный блок Simulink путем конфигурирования блока Subsystem, который является вызываемым с аргументами от функциональной вызывающей стороны.
Удалите настройку.
Сконфигурируйте блок Subsystem как Функциональный блок Simulink. Блок Trigger должен находиться в подсистеме.
Можно отредактировать прототипа функции, который отображается на поверхности блока, чтобы задать аргументы ввода и вывода для блока.
Чтобы отобразить и включить этот параметр, выберите function-call из списка Trigger type.
Параметры блоков:
IsSimulinkFunction |
| Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
FunctionName Задайте имя функции для Функционального блока Simulinkf (значение по умолчанию) | имя функцииЗадайте имя функции для Функционального блока Simulink. Также можно задать имя путем редактирования прототипа функции на поверхности блока.
fИмя по умолчанию для Функционального блока Simulink.
Имя функции, которое отображается на поверхности Функционального блока Simulink.
Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и выберите Treat как флажок Simulink Function.
Параметры блоков:
FunctionName |
| Ввод: символьный вектор |
Значения:
'f' | '<function name>' |
Значение по умолчанию:
'f' |
Enable variant condition — Средства управления, активирующие различное управление (условие)Управление, активирующее различное управление (условие), задано с параметром Variant Control.
Деактивируйте различное управление подсистемы.
Активируйте различное управление подсистемы. Выбор этого параметра:
Включает параметр Variant control.
Отображает различный значок
на поверхности блока, указывающего, что различные условия включены.
Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и выберите Treat как флажок Simulink Function..
Параметры блоков:
Variant |
| Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Variant control — Задайте различное управление (условие) выражение(inherit) (значение по умолчанию) | <logical expression>Задайте различное управление (условие) выражение, которое выполняет различный Функциональный блок 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)' |
Generate preprocessor conditionals — Управляйте вариантами включенияУправляйте вариантами включения в условных операторах препроцессора C.
Не заключайте варианты в условных операторах препроцессора C.
При генерации кода для цели ERT заключите варианты в условных операторах препроцессора C (#if).
Чтобы отобразить и включить этот параметр, установите флажок Enable variant condition .
Параметры блоков:
GeneratePreprocessorConditionals |
| Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Function visibility — Выберите видимость осциллографа функцииscoped (значение по умолчанию) | globalВыберите осциллограф Функционального блока Simulink в подсистеме или модели.
scopedОграничьте доступность функции к:
Иерархический уровень, содержащий Функциональный блок Simulink и уровни ниже.
Один иерархический уровень выше с проверкой.
globalФункция, доступная от любой части иерархии модели.
Чтобы отобразить и включить этот параметр, выберите function-call из Триггерного списка типов и затем выберите Treat как флажок Simulink Function..
Параметры блоков:
FunctionVisibility |
| Ввод: символьный вектор |
Значения:
'scoped' | 'global' |
Значение по умолчанию:
'scoped' |
States when enabling — Выберите, как установить значения состояния блокаheld (значение по умолчанию) | reset | inheritВыберите, как установить значения состояния блока, когда подсистема или модель отключены.
heldОставьте состояния блока в их текущих значениях.
resetСбросьте значения состояния блока.
inheritИспользуйте held или reset, сходящий с родительской подсистемы, инициирующей вызов функции. Если родительский элемент инициатора является образцовым корнем, наследованной установкой является held. Если триггер имеет несколько инициаторов, установите родительские элементы всех инициаторов или к held или к reset.
Чтобы включить этот параметр, выберите function-call из списка Trigger Type.
Эта установка параметра применяется, только если модель явным образом включает и отключает подсистему вызова функций. Например:
Подсистема вызова функций находится в активированной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с родительской подсистемой.
Инициатор вызова функции, который управляет подсистемой вызова функций, находится в активированной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с активированной подсистемой, содержащей инициатора вызова функции.
Инициатор вызова функции является событием Stateflow, связанным с конкретным состоянием. Смотрите, что Подсистемы вызова функций Управления при помощи связывают Действия (Stateflow).
Инициатором вызова функции является S-функция, которая явным образом включает и отключает подсистему вызова функций. Смотрите ssEnableSystemWithTid для примера.
Параметры блоков:
StatesWhenEnabling |
| Ввод: символьный вектор |
Значения:
'held' | 'reset' | 'inherit' |
Значение по умолчанию:
'held' |
Propagate sizes of variable-size signals — Выберите, когда распространить сигналы переменного размераDuring execution (значение по умолчанию) | Only when enablingВыберите, когда распространить сигналы переменного размера.
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' |
Show output port — Управляйте отображением выходного портаУправляйте отображением выходного порта для сигнала, который идентифицирует триггерный сигнал или сигнал события вызова функции.
Удалите выходной порт.
Отобразите выходной порт и определите, какой сигнал вызвал триггерный сигнал или событие вызова функции. Ширина сигнала выходного порта является шириной управляющего сигнала. Значение сигналов:
1 для сигнала, который вызывает возрастающий триггер
-1 для сигнала, который вызывает падающий триггер
2 для события вызова функции
0 во всех других случаях
Параметры блоков:
ShowOutputPort |
| Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Output data type — Выберите тип данных выходного портаauto (значение по умолчанию) | double | int8Выберите тип данных выходного порта для сигнала, который идентифицирует триггерный сигнал или сигнал события вызова функции.
autoТип данных совпадает с портом, соединенным с выводом.
doubleДвойное значение.
int8Целочисленное значение
Чтобы включить этот параметр, установите флажок Show output port.
Блок Trigger игнорирует установку переопределения Типа данных для Fixed-Point Tool.
Параметры блоков: OutputDataType |
| Ввод: символьный вектор |
Значения: 'auto' | 'double' | 'int8' |
Значение по умолчанию: 'auto' |
Sample time type — Выберите уровень вызоваtriggered (значение по умолчанию) | periodicВыберите уровень вызова для подсистемы или модели.
triggeredОбратитесь к приложениям, которые не имеют периодической частоты вызова функции.
periodicПрименяйтесь, если вызывающая сторона родительской подсистемы вызова функций вызывает подсистему однажды на временной шаг, когда подсистема активна (включил). Диаграмма Stateflow является примером вызывающей стороны.
Чтобы включить этот параметр, выберите Function-call из списка Trigger type.
Параметры блоков: SampleTimeType |
| Ввод: символьный вектор |
Значения: 'triggered' | 'periodic' |
Значение по умолчанию: 'triggered' |
'SampleTime' Задайте временной интервал-1 (значение по умолчанию) | Ts | [Ts, To]Задайте временной интервал между вызовами функции к подсистеме или модели, содержащей эту Триггерную блокировку порта. Если фактический уровень вызова для подсистемы или модели отличается от временного интервала, этот параметр задает, Simulink® отображает ошибку.
Наследуйте временной интервал от управляющего сигнала.
TsСкаляр, где Ts является временным интервалом.
[Ts, To]Вектор, где Ts является временным интервалом и К, является начальным смещением времени.
Чтобы включить этот параметр, выберите function-call из Триггерного списка типов и periodic из списка типов Шага расчета.
Параметры блоков: SampleTime |
| Ввод: символьный вектор |
Значения: '-1' | 'Ts' | '[Ts, To]' |
Значение по умолчанию: '-1' |
Enable zero-crossing detection — Управляйте обнаружением пересечения нулемУправление.
Обнаружьте нулевые пересечения.
Не обнаруживайте нулевые пересечения.
Чтобы включить этот параметр, выберите rising, falling или either из списка Trigger type.
Параметры блоков:
ZeroCross |
| Ввод: символьный вектор |
Значения:
'on' | 'off' |
Значение по умолчанию:
'on' |
Initial trigger signal state — Выберите начальное состояние триггерного сигналаcompatibility (no trigger on first evaluation) (значение по умолчанию) | zero | positive | negativeВыберите начальное состояние триггерного управляющего сигнала.
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)' |
Port dimensions — Задайте размерности для триггерного сигнала1 (значение по умолчанию) | [n] | [m n]Задайте размерности для триггерного сигнала, присоединенного внешне блок Model, и передал внутренней части блока.
Скалярный сигнал.
[n]Векторный сигнал ширины n.
[m n]Матричный сигнал, имеющий строки m и столбцы n.
Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.
Параметры блоков: PortDimensions |
| Ввод: символьный вектор |
Значения: '1' | '[n]' | '[m n]' |
Значение по умолчанию: '1' |
Trigger signal sample time — Задайте временной интервал-1 (значение по умолчанию) | Ts | [Ts, To]Задайте временной интервал между осуществлениями метода блока для блока, управляющего триггерным сигналом.
Наследуйте временной интервал.
TsСкаляр, где Ts является временным интервалом.
[Ts, To]Вектор, где Ts является временным интервалом и К, является начальным смещением времени.
Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.
Параметры блоков: TriggerSignalSampleTime |
| Ввод: символьный вектор |
Значения: '-1' | 'Ts' | '[Ts, To]' |
Значение по умолчанию: '-1' |
Minimum — Задайте минимальное выходное значение для триггерного сигнала[] (значение по умолчанию) | действительный скалярЗадайте минимальное значение для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.
Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции. Смотрите Диапазоны сигнала.
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация сгенерированного кода. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Смотрите Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
[]Незаданное минимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.
Параметры блоков: OutMin |
| Ввод: символьный вектор |
Значения: '[]' | '<real scalar>' |
Значение по умолчанию: '[]' |
Maximum — Задайте максимальное выходное значение для триггерного сигнала[] (значение по умолчанию) | действительный скалярЗадайте максимальное значение для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.
Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции. Смотрите Диапазоны сигнала.
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация сгенерированного кода. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Смотрите Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
[]Незаданное максимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.
Параметры блоков: OutMax |
| Ввод: символьный вектор |
Значения: '[]' | '<real scalar>' |
Значение по умолчанию: '[]' |
Тип данных Выберите тип выходных данных для триггерного сигналаdouble (значение по умолчанию) | single | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | boolean | fixdt(1,16) | fixdt(1,16,0) | fixdt(1,16,2^,0) | <data type expression>Выберите тип данных для триггерного сигнала, присоединенного внешне к блоку Model, и передал внутренней части блока.
doubleПлавающая точка двойной точности.
singleПлавающая точка с одинарной точностью.
int88-битное целое число со знаком.
uint88-битное целое число без знака.
int1616-битное целое число со знаком.
uint1616-битное целое число без знака.
int3232-битное целое число со знаком.
uint3232-битное целое число без знака.
int6464-битное целое число со знаком.
uint6464-битное целое число без знака.
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 (значение по умолчанию) | Fixed point | ExpressionВыберите категорию типов данных и отобразите выпадающие списки, чтобы помочь вам задать тип данных.
Build inОтобразите выпадающие списки для типа данных и Data type override.
Fixed pointОтобразите выпадающие списки для Signedness, Scaling и Data type override.
ExpressionОтобразите текстовое поле для ввода выражения.
Чтобы включить этот параметр, нажмите ассистент типа данных Show кнопка
.
Никакой эквивалентный параметр командной строки.
Interpolate data — Управляйте, как отсутствие данных о рабочей области оцениваетсяУправляйте, как отсутствие данных о рабочей области оценивается при загрузке данных из рабочей области MATLAB®.
Линейно интерполируйте вывод на временных шагах, для которых не существуют никакие соответствующие данные о рабочей области.
Не интерполируйте вывод на временных шагах. Текущая производительность равняется выводу на шаге наиболее последнего времени, для которого существуют данные.
Чтобы отобразить и включить этот параметр для Триггерной блокировки порта на корневом уровне модели, выберите rising, falling или either из списка Trigger type.
Параметры блоков: Interpolate |
| Ввод: символьный вектор |
Значения: 'on' | 'off' |
Значение по умолчанию: 'on' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Для получения дополнительной информации о генерации HDL-кода, смотрите Триггер.
Enabled и Triggered подсистема | Подсистема вызова функций | Подсистема | Инициированная подсистема
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.





