Добавьте триггер или функциональный порт к подсистеме или модели
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
Плавающая точка с одинарной точностью.
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
(значение по умолчанию) | 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.