Добавление порта триггера или функции в подсистему или модель
Simulink/Порты и подсистемы
Кодер HDL/Порты и подсистемы
Блок Триггер добавляет внешний сигнал для управления выполнением подсистемы или модели. Чтобы включить эту функцию, добавьте этот блок в блок «Подсистема» или на корневом уровне модели, на которую ссылается блок «Модель».
Затем сконфигурируйте триггерный блок для выполнения подсистемы или модели:
Один раз на каждом шаге времени, когда значение управляющего сигнала изменяется указанным способом.
Несколько раз в течение временного шага, когда управляющий сигнал является событием вызова функции из диаграммы Stateflow ®, блока генератора вызова функции или блока S-функции.
Port_1 - Значение, описывающее управляющий сигналЗначение, идентифицирующее управляющий сигнал, возвращаемый как скаляр или вектор. Для каждого элемента входного сигнала величина на данном временном шаге равна:
1 для сигнала, который вызывает восходящий триггер
-1 для сигнала, который вызывает падающий триггер
2 для события вызова функции
0 во всех остальных случаях
Чтобы включить этот порт, выберите Show output port.
Типы данных: double | int8
Trigger type - Выберите тип управляющего сигналаrising (по умолчанию) | falling | either | function-callВыберите тип управляющего сигнала, выполняющего подсистему или модель.
risingЗапуск выполнения подсистемы или модели при повышении управляющего сигнала с отрицательного или нулевого значения до положительного. Если начальное значение является отрицательным, выполнение инициируется восходящим сигналом к нулю.
fallingЗапуск выполнения подсистемы или модели при падении управляющего сигнала с положительного или нулевого значения на отрицательное. Если начальное значение положительное, выполнение инициируется падающим сигналом до нуля.
eitherЗапуск выполнения подсистемы или модели при повышении или падении управляющего сигнала.
function-callВыполните подсистему или модель, когда управляющий сигнал принимает событие вызова функции из диаграммы статофлоу, блока генератора вызова функции, блока S-функции или блока пересечения совпадений.
Параметр блока:
TriggerType |
| Текст: символьный вектор |
Значения:
'rising' | 'falling' | 'either' | 'function-call' |
По умолчанию:
'rising' |
Treat as Simulink function - Создание функционального блока SimulinkВыберите этот параметр для создания блока Simulink Function путем конфигурирования блока Subsystem, вызываемого с аргументами вызывающей функции. Триггерный блок должен находиться в подсистеме. Можно отредактировать прототип функции, отображаемый на грани блока, чтобы задать входные и выходные аргументы для блока.
Снимите этот параметр, чтобы удалить конфигурацию.
Для отображения и включения этого параметра выберите function-call из списка Тип триггера.
Параметр блока:
IsSimulinkFunction |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию:
'off' |
Function name - Укажите имя функции для блока Simulink Functionf (по умолчанию) | имя функцииУкажите имя функции для блока функции Simulink. Можно также указать имя путем редактирования прототипа функции на грани блока.
fИмя по умолчанию для блока функции Simulink.
Имя функции, отображаемое на грани блока функции Simulink.
Для отображения и включения этого параметра выберите function-call в списке Тип триггера (Trigger type) и установите флажок Обработать как функцию симулятора (Treat as a Simulink Function).
Параметр блока:
FunctionName |
| Текст: символьный вектор |
Значения:
'f' | '<function name>' |
По умолчанию:
'f' |
Enable variant condition - Управление активацией управления вариантом (условие)«Управление, активирующее управление вариантами (условие), определенное параметром» Управление вариантами «».
Выберите этот параметр для активизации управления вариантами подсистемы. Выбор этого параметра:
Включает параметр управления Variant.
Отображает значок исполнения
на грани блока, указывающий, что условия исполнения включены.
Снимите этот параметр, чтобы деактивировать управление вариантами подсистемы.
Для отображения и включения этого параметра выберите function-call в списке Тип триггера и установите флажок Обработать как функцию Simulink.
Параметр блока:
Variant |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию:
'on' |
Variant control - Укажите выражение элемента управления (условия) исполнения(inherit) (по умолчанию) | <logical expression>Укажите выражение элемента управления (условия) исполнения, которое выполняет блок функции Simulink исполнения, когда выражение вычисляется как true.
(inherit)Значение по умолчанию для элемента управления исполнениями. Наследует условие исполнения из соответствующих блоков вызывающей функции в модели. Если для параметра «Управление вариантами» установлено значение (inherit) значение параметра Генерировать условия препроцессора автоматически наследуется из блока вызывающей функции в модели.
Логическое (логическое) выражение или Simulink.Variant объект, представляющий логическое выражение.
Функция активируется, когда выражение вычисляется как true.
Если требуется создать код для модели, определите переменные в выражении как Simulink.Parameter объекты.
Для отображения и включения этого параметра выберите function-call в списке Тип триггера установите флажок Обработать как функцию симулятора, а затем установите флажок Включить условие исполнения.
Параметр блока:
VariantControl |
| Текст: символьный вектор |
Значения:
'(inherit)'|<logical expression> | Simulink.Variant object |
По умолчанию:
'(inherit)' |
Generate preprocessor conditionals - Управление включением вариантовУправление включением вариантов в условные операторы препроцессора C.
Выберите этот параметр для включения вариантов в условные операторы препроцессора C (# if) при создании кода для цели ERT.
Для просмотра и включения этого параметра установите флажок Включить условие исполнения.
Параметр блока:
GeneratePreprocessorConditionals |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию:
'off' |
Function visibility - Выбор видимости области функцииscoped (по умолчанию) | globalВыберите область действия блока Simulink Function в подсистеме или модели.
scopedОграничить доступность функции до:
Иерархический уровень, содержащий блок функции Simulink и уровни ниже.
Один иерархический уровень выше с квалификацией.
globalФункция, доступная из любой части иерархии модели.
Для отображения и включения этого параметра выберите function-call в списке Тип триггера (Trigger type) установите флажок Обработать как функцию симулятора (Treat as a Simulink Function)..
Параметр блока:
FunctionVisibility |
| Текст: символьный вектор |
Значения:
'scoped' | 'global' |
По умолчанию:
'scoped' |
States when enabling - Выбор способа установки значений состояния блокаheld (по умолчанию) | reset | inheritВыберите способ установки значений состояния блока при отключении подсистемы или модели.
heldОставьте состояния блока в текущих значениях.
resetСбросьте значения состояния блока.
inheritИспользуйте held или reset установка из родительской подсистемы, инициирующей вызов функции. Если родителем инициатора является корень модели, наследуемый параметр имеет значение held. Если триггер имеет несколько инициаторов, установите для родителей всех инициаторов значение held или reset.
Чтобы включить этот параметр, выберите function-call из списка Тип триггера.
Этот параметр применяется только в том случае, если модель явно включает и отключает подсистему вызова функций. Например:
Подсистема вызова функций находится в включенной подсистеме. В этом случае модель включает и отключает подсистему вызова функций вместе с родительской подсистемой.
Инициатор вызова функции, управляющий подсистемой вызова функции, находится в включенной подсистеме. В этом случае модель включает и отключает подсистему вызова функции вместе с подсистемой включения, содержащей инициатор вызова функции.
Инициатор вызова функции - это событие Stateflow, привязанное к определенному состоянию. См. Функция управления - вызов подсистем с помощью действий привязки (поток состояний).
Инициатор вызова функции - это S-функция, которая явно включает и отключает подсистему вызова функции. Посмотрите ssEnableSystemWithTid например.
Параметр блока:
StatesWhenEnabling |
| Текст: символьный вектор |
Значения:
'held' | 'reset'| 'inherit' |
По умолчанию:
'held' |
Propagate sizes of variable-size signals - Выбор времени распространения сигналов переменного размераDuring execution (по умолчанию) | Only when enablingВыберите время распространения сигналов переменного размера.
During executionРаспространять сигналы переменного размера на каждом временном шаге.
Only when enablingРаспространять сигналы переменного размера при выполнении блока подсистемы или блока модели, содержащего порт Enable, порт Trigger с типом Trigger, равным function-callили блок порта действия. При выборе этого параметра время выборки должно быть периодическим.
Чтобы отобразить и включить этот параметр для блока порта триггера, выберите Function-call из списка Тип триггера.
Параметр блока:
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 (Показать выходной порт).
Блок «Триггер» игнорирует параметр переопределения типа данных для инструмента «Фиксированная точка».
Параметр блока: OutputDataType |
| Текст: символьный вектор |
Значения: 'auto' | 'double' | 'int8' |
По умолчанию: 'auto' |
Sample time type - Выбор скорости вызоваtriggered (по умолчанию) | periodicВыберите скорость вызова для подсистемы или модели.
triggeredПрименяется к приложениям, не имеющим периодической частоты вызова функции. Инициатор вызова функции может выполнять запускаемую (апериодическую) подсистему вызова функции один или более раз за шаг времени и может обеспечивать ряд апериодических событий вызова функции.
periodicИнициатор вызова функции может выполнять систему периодического вызова функции только один раз за шаг времени и должен обеспечивать серию периодических событий вызова функции. Диаграмма Stateflow является примером инициатора вызова функции.
Чтобы включить этот параметр, выберите Function-call из списка Тип триггера.
Параметр блока: SampleTimeType |
| Текст: символьный вектор |
Значения: 'triggered' | 'periodic' |
По умолчанию: 'triggered' |
Sample time - Укажите интервал времени-1 (по умолчанию) | Ts | [Ts, To]Укажите интервал времени между вызовами функции в подсистему или модель, содержащую этот блок порта триггера. Если фактическая скорость вызова для подсистемы или модели отличается от интервала времени, заданного этим параметром, Simulink ® отображает ошибку.
-1Наследование временного интервала из управляющего сигнала.
TsСкаляр, где Ts - интервал времени.
[Ts, To]Вектор, где Ts - интервал времени, а To - начальный сдвиг времени.
Чтобы включить этот параметр, выберите function-call из списка Тип триггера и periodic из списка Тип времени образца.
Параметр блока: SampleTime |
| Текст: символьный вектор |
Значения: '-1' | 'Ts'| '[Ts, To]' |
По умолчанию: '-1' |
Enable zero-crossing detection - Контроль обнаружения пересечения нулейВыберите этот параметр для обнаружения нулевых пересечений.
Чтобы включить этот параметр, выберите rising, falling, или either из списка Тип триггера.
Параметр блока:
ZeroCross |
| Текст: символьный вектор |
Значения:
'on' | 'off' |
По умолчанию:
'on' |
Initial trigger signal state - Выбор начального состояния триггерного сигналаcompatibility (no trigger on first evaluation) (по умолчанию) | zero | positive | negativeВыберите начальное состояние сигнала управления триггером.
compatibility (no trigger on first evaluation)Нет триггера при первой оценке сигнала триггера. Если выбрана эта опция, и триггерный блок находится в подсистеме, где состояния сбрасываются, блок не сбрасывается.
zeroНоль. Помогает оценить восходящий или падающий триггерный сигнал на первом шаге времени.
positiveПоложительное значение. Помогает оценить сигнал падающего триггера на первом шаге времени.
negativeОтрицательное значение. Помогает оценить восходящий триггерный сигнал на первом шаге времени.
Для отображения и активации этого параметра выберите rising, falling, или either из списка Тип триггера.
Параметр блока: InitialTriggerSignalState |
| Текст: символьный вектор |
Значения: 'compatibility (no trigger on first evaluation)' | 'zero' | 'positive' | 'negative' |
По умолчанию: 'compatibility (no trigger on first evaluation)' |
Port dimensions - Указать размеры триггерного сигнала1 (по умолчанию) | [n] | [m n]Укажите размеры триггерного сигнала, присоединенного к внешнему блоку модели и переданного внутрь блока.
1Скалярный сигнал.
[n]Векторный сигнал ширины n.
[m n]Матричный сигнал, имеющий m строки и n столбцы.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: PortDimensions |
| Текст: символьный вектор |
Значения: '1' | '[n]' | '[m n]' |
По умолчанию: '1' |
Trigger signal sample time - Укажите интервал времени-1 (по умолчанию) | Ts | [Ts, To]Укажите интервал времени между выполнением блочного метода для блока, задающего триггерный сигнал.
-1Наследовать интервал времени.
TsСкаляр, где Ts - интервал времени.
[Ts, To]Вектор, где Ts - интервал времени, а To - начальный сдвиг времени.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: TriggerSignalSampleTime |
| Текст: символьный вектор |
Значения: '-1' | 'Ts'| '[Ts, To]' |
По умолчанию: '-1' |
Minimum - Укажите минимальное выходное значение для триггерного сигнала[] (по умолчанию) | вещественный скалярУкажите минимальное значение триггерного сигнала, присоединенного извне к блоку модели и переданного внутрь блока.
Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования. См. раздел Определение диапазонов сигналов.
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация генерируемого кода. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов моделирования, таких как SIL или внешний режим. См. раздел Оптимизация с использованием указанных минимального и максимального значений (встроенный кодер).
[]Неуказанное минимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: OutMin |
| Текст: символьный вектор |
Значения: '[]' | '<real scalar>' |
По умолчанию: '[]' |
Maximum - Максимальное выходное значение триггерного сигнала[] (по умолчанию) | вещественный скалярУкажите максимальное значение для триггерного сигнала, подключенного извне к блоку модели и переданного внутрь блока.
Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования. См. раздел Определение диапазонов сигналов.
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация генерируемого кода. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов моделирования, таких как SIL или внешний режим. См. раздел Оптимизация с использованием указанных минимального и максимального значений (встроенный кодер).
[]Неуказанное максимальное значение.
Действительное скалярное значение.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: 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>Выберите тип данных для триггерного сигнала, подключенного извне к блоку модели и переданного внутрь блока.
doubleПлавающая точка с двойной точностью.
singleПлавающая точка с одинарной точностью.
int8Целое число со знаком 8 бит.
uint8Беззнаковое 8-разрядное целое число.
int16Знаковое 16-разрядное целое число.
uint1616-разрядное целое число без знака.
int32Подписанное 32-разрядное целое число.
uint32Беззнаковое 32-разрядное целое число.
int64Подписанное 64-разрядное целое число.
uint64Беззнаковое 64-разрядное целое число.
booleanЛогическое значение со значением true или false.
fixdt(1,16)Подписанное 16-разрядное фиксированное число точек с двоичной точкой undefined.
fixdt(1,16,0)Подписанное 16-разрядное фиксированное число точек с двоичной точкой, равной нулю.
fixdt(1,16,2^,0)16-разрядный фиксированный номер точки с наклоном, равным 2^0 и смещение, установленное на 0.
<data type expression>Например, объект типа данных Simulink.NumericType. Нельзя ввести имя Simulink.Bus объект как выражение типа данных.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: 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Отображение раскрывающихся списков для переопределения типа данных и типа данных.
Fixed pointОтображение раскрывающихся списков для переопределения типа «Подпись», «Масштабирование» и «Данные».
ExpressionОтображение текстового поля для ввода выражения.
Чтобы включить этот параметр, нажмите кнопку Show data type assistant.![]()
Эквивалентный параметр командной строки отсутствует.
Interpolate data - Управление оценкой отсутствующих данных рабочей областиУправление оценкой отсутствующих данных рабочей области при загрузке данных из рабочей области MATLAB ®.
Выберите этот параметр для линейной интерполяции выходных данных на этапах времени, для которых не существует соответствующих данных рабочей области.
Снимите этот параметр, чтобы установить выходные данные на таких шагах времени равными выходным данным на последнем шаге времени, для которого существуют данные.
Чтобы отобразить и включить этот параметр для блока порта триггера на корневом уровне модели, выберите rising, falling, или either из списка Тип триггера.
Параметр блока: Interpolate |
| Текст: символьный вектор |
Значения: 'on' | 'off' |
По умолчанию: 'on' |
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику. См. также раздел Создание кода HDL.
Этот блок имеет единую архитектуру HDL по умолчанию.
Включенная и запускаемая подсистема | Подсистема вызова функций | Подсистема | Срабатывающая подсистема
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.





