Добавьте триггер или функциональный порт в подсистему или модель
Simulink/Порты и подсистемы
HDL-кодер/порты и подсистемы
Блок Trigger добавляет внешний сигнал, чтобы управлять выполнением подсистемы или модели. Чтобы включить эту функциональность, добавьте этот блок к Subsystem блоку или на корневом уровне модели, которая упоминается в Model блоке.
Затем сконфигурируйте блок Trigger, чтобы выполнить подсистему или модель:
Один раз в каждом временном шаге, когда значение сигнала управления изменяется таким образом, который вы задаете.
Несколько раз в течение временного шага, когда сигнал управления является событием вызова функции от Stateflow® график, Function-Call Generator блок или S-Function блок.
Port_1
- Значение, которое описывает сигнал управленияЗначение, которое идентифицирует управляющий сигнал, возвращаемое как скаляр или вектор. Для каждого элемента входного сигнала значение в заданный временной шаг является:
1
для сигнала, который вызывает увеличение триггера
-1
для сигнала, который вызывает падение триггера
2
для события вызова функции
0
во всех других случаях
Чтобы включить этот порт, выберите Show output port.
Типы данных: double
| int8
Trigger type
- Выберите тип управляющего сигналаrising
(по умолчанию) | falling
| either
| function-call
Выберите тип управляющего сигнала, который выполняет подсистему или модель.
rising
Триггерное выполнение подсистемы или модели, когда управляющий сигнал повышается с отрицательного или нулевого значения до положительного значения. Если начальное значение отрицательное, сигнал увеличения до нуля запускает выполнение.
falling
Триггерное выполнение подсистемы или модели, когда управляющий сигнал падает с положительного или нулевого значения до отрицательного значения. Если начальное значение положительное, сигнал падения на ноль запускает выполнение.
either
Триггерное выполнение подсистемы или модели, когда управляющий сигнал либо повышается, либо падает.
function-call
Выполните подсистему или модель, когда управляющий сигнал получит событие вызова функции от диаграммы Stateflow, Function-Call Generator блока, S-Function блока или Hit Crossing блока.
Параметры блоков:
TriggerType
|
Тип: Вектор символов |
Значения:
'rising' | 'falling' | 'either' | 'function-call' |
По умолчанию:
'rising'
|
Treat as Simulink function
- Создайте функциональный блок SimulinkВыберите этот параметр, чтобы создать Simulink Function блок путем конфигурирования Subsystem блока, вызываемый с помощью аргументов от вызывающего функции. Блок Trigger должен находиться в подсистеме. Можно отредактировать прототип функции, который отображается на грани блока, чтобы задать входные и выходные аргументы для блока.
Очистите этот параметр, чтобы удалить строение.
Чтобы отобразить и включить этот параметр, выберите function-call
из списка Trigger type.
Параметры блоков:
IsSimulinkFunction
|
Тип: Вектор символов |
Значения:
'off' | 'on' |
По умолчанию:
'off'
|
Function name
- Задайте имя функции для блока Simulink Functionf
(по умолчанию) | имя функцииЗадайте имя функции для блока Simulink Function. Также можно задать имя, отредактировав прототип функции на грани блока.
f
Имя по умолчанию для блока Simulink Function.
Имя функции, которая отображается на грани блока Simulink Function.
Чтобы отобразить и включить этот параметр, выберите function-call
в списке Тип триггера и установите флажок Обработать как функцию Simulink.
Параметры блоков:
FunctionName
|
Тип: Вектор символов |
Значения:
'f' | '<function name>' |
По умолчанию:
'f'
|
Enable variant condition
- Управление активацией варианта управления (условие)Управление активацией варианта управления (условия), заданного параметром Variant Control.
Выберите этот параметр, чтобы активировать управление вариантом подсистемы. Выбор этого параметра:
Включает параметр Variant control.
Отображает значок варианта на грани блока, указывающий, что условия варианта включены.
Очистите этот параметр, чтобы деактивировать управление вариантом подсистемы.
Чтобы отобразить и включить этот параметр, выберите function-call
в списке Trigger type и установите флажок Treat as Simulink function.
Параметры блоков:
Variant
|
Тип: Вектор символов |
Значения:
'off' | 'on' |
По умолчанию:
'on'
|
Variant control
- Задайте выражение управления вариантом (условие)(inherit)
(по умолчанию) | <logical expression>
Задайте выражение управления вариантом (условие), которое выполняет вариант Simulink Function блок, когда выражение вычисляется как true
.
(inherit)
Значение по умолчанию для управления вариантом. Наследует условие варианта от соответствующих блоков Function Caller в модели. Когда Variant Control задано как (inherit)
значение Generate preprocessor conditionals наследуется автоматически от блока Function Caller в модели.
Логическое (логическое) выражение или Simulink.Variant
объект, представляющий логическое выражение.
Функция активируется, когда выражение вычисляется как true
.
Если вы хотите сгенерировать код для модели, задайте переменные в выражении следующим Simulink.Parameter
объекты.
Чтобы отобразить и включить этот параметр, выберите function-call
в списке Тип триггера установите флажок Обработать как функцию Simulink, затем установите флажок Enable variant condition.
Параметры блоков:
VariantControl
|
Тип: Вектор символов |
Значения:
'(inherit)' | <logical expression> | Simulink.Variant object |
По умолчанию:
'(inherit)'
|
Generate preprocessor conditionals
- Управление, заключающее варианты выбораУправление вариантами выбора в условных операторах препроцессора С.
Выберите этот параметр, чтобы включить варианты в условные операторы препроцессора C (# if) при генерации кода для целевого устройства ERT.
Чтобы отобразить и включить этот параметр, установите флажок Enable variant condition .
Параметры блоков:
GeneratePreprocessorConditionals
|
Тип: Вектор символов |
Значения:
'off' | 'on' |
По умолчанию:
'off'
|
Function visibility
- Выбор видимости функцииscoped
(по умолчанию) | global
Выберите возможности Simulink Function блока в подсистеме или модели.
scoped
Ограничьте доступность функции:
Иерархический уровень, содержащий блок Simulink Function и уровни ниже.
Один иерархический уровень выше с проверкой.
global
Функция, доступная из любой части иерархии модели.
Чтобы отобразить и включить этот параметр, выберите function-call
в списке Тип триггера, затем установите флажок Обработать как функцию Simulink.
Параметры блоков:
FunctionVisibility
|
Тип: Вектор символов |
Значения:
'scoped' | 'global' |
По умолчанию:
'scoped'
|
States when enabling
- Выберите, как задать значения состояния блокаheld
(по умолчанию) | reset
| inherit
Выберите, как задать значения состояния блока, когда подсистема или модель отключена.
held
Оставьте состояния блока на своих текущих значениях.
reset
Сбросьте значения состояния блока.
inherit
Используйте held
или reset
настройка от родительской подсистемы, инициирующей вызов функции. Если родительским элементом инициатора является корень модели, наследуемая настройка held
. Если триггер имеет несколько инициаторов, установите для родительских элементов всех инициаторов значение held
или reset
.
Чтобы включить этот параметр, выберите function-call
из списка Trigger Type.
Эта настройка параметра применяется только, если модель явно включает и отключает подсистему вызова функций. Для примера:
Подсистема вызова функций находится в включенной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с родительской подсистемой.
Инициатор вызова функции, который управляет подсистемой вызова функций, находится в включенной подсистеме. В этом случае модель включает и отключает подсистему вызова функций наряду с включенной подсистемой, содержащей инициатор вызова функции.
Инициатор вызова функции является событием Stateflow, связанным с конкретным состоянием. См. «Control Function-Call Subsystems Bind Actions (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
, или Action Port блок. Когда вы выбираете эту опцию, шаг расчета должна быть периодической.
Чтобы отобразить и включить этот параметр для блока Trigger порта, выберите 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' |
Sample time
- Задайте временной интервал-1
(по умолчанию) | Ts
| [Ts, To]
Задайте временной интервал между вызовами функции в подсистему или модель, содержащую этот блок Trigger порта. Если фактическая скорость вызова для подсистемы или модели отличается от временного интервала, заданного этим параметром, Simulink® отображает ошибку.
-1
Наследование временного интервала от управляющего сигнала.
Ts
Скаляр, где Ts - временной интервал.
[Ts, To]
Вектор, где Ts - временной интервал, а To - начальное смещение времени.
Чтобы включить этот параметр, выберите 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 и переданного внутрь блока.
1
Скалярный сигнал.
[n]
Векторный сигнал ширины n
.
[m n]
Матричный сигнал, имеющий m
строки и n
столбцы.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите rising
, falling
, или either
из списка Trigger type.
Параметры блоков: PortDimensions |
Тип: Вектор символов |
Значения: '1' | '[n]' | '[m n]' |
По умолчанию: '1' |
Trigger signal sample time
- Задайте временной интервал-1
(по умолчанию) | Ts
| [Ts, To]
Задайте временной интервал между выполнениями метода блока для блока, управляющего триггерным сигналом.
-1
Наследование временного интервала.
Ts
Скаляр, где Ts - временной интервал.
[Ts, To]
Вектор, где Ts - временной интервал, а To - начальное смещение времени.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите rising
, falling
, или either
из списка Trigger type.
Параметры блоков: TriggerSignalSampleTime |
Тип: Вектор символов |
Значения: '-1' | 'Ts' | '[Ts, To]' |
По умолчанию: '-1' |
Minimum
- Задайте минимальное выходное значение для триггерного сигнала[]
(по умолчанию) | действительный скалярЗадайте минимальное значение триггерного сигнала, подключенного извне к блоку Model и переданного внутрь блока.
Simulink использует это значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала».
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация сгенерированного кода. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
[]
Неопределенное минимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите rising
, falling
, или either
из списка Trigger type.
Параметры блоков: OutMin |
Тип: Вектор символов |
Значения: '[]' | '<real scalar>' |
По умолчанию: '[]' |
Maximum
- Задайте максимальное выходное значение для триггерного сигнала[]
(по умолчанию) | действительный скалярЗадайте максимальное значение триггерного сигнала, подключенного извне к блоку Model и переданного внутрь блока.
Simulink использует это значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала».
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация сгенерированного кода. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
[]
Не заданное максимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите rising
, falling
, или either
из списка Trigger type.
Параметры блоков: OutMax |
Тип: Вектор символов |
Значения: '[]' | '<real scalar>' |
По умолчанию: '[]' |
Data type
- Выберите тип выходных данных для триггерного сигнала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
. Вы не можете ввести имя Simulink.Bus
объект как выражение типа данных.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите 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' |
Mode
- Выберите категорию типа данныхBuilt in
(по умолчанию) | Fixed point
| Expression
Выберите категорию типа данных и отобразите раскрывающиеся списки, чтобы помочь вам определить тип данных.
Built in
Отобразите раскрывающиеся списки для типа данных и Data type override.
Fixed point
Отобразите раскрывающиеся списки для Signedness, Scaling и Data type override.
Expression
Отобразите текстовое поле для ввода выражения.
Чтобы включить этот параметр, нажмите кнопку Show data type assistant.
Нет эквивалентного параметра командной строки.
Interpolate data
- Управление оценкой отсутствующих данных рабочей областиУправляйте, как оцениваются отсутствующие данные рабочей области при загрузке данных из MATLAB® рабочей области.
Выберите этот параметр, чтобы линейно интерполировать выход в временные шаги, для которых нет соответствующих данных рабочей области.
Очистите этот параметр, чтобы задать выход в такие временные шаги, равный выходу на самом последнем временном шаге, для которого существуют данные.
Чтобы отобразить и включить этот параметр для блока Trigger порта на корневом уровне модели, выберите rising
, falling
, или either
из списка Trigger type.
Параметры блоков: Interpolate |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'on' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику. См. также «Генерация HDL-кода».
Этот блок имеет одну архитектуру HDL по умолчанию.
Enabled and Triggered Subsystem | Function-Call Subsystem | Subsystem | Triggered Subsystem
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.