Документация Engee

Rate Transition

Управление передачей данных между блоками, работающими с разной скоростью (частотой дискретизации).

rate transition

Описание

Блок Rate Transition передает данные с выхода блока, работающего с одной скоростью, на вход блока, работающего с другой скоростью. Корректная настройка параметров блока позволяет найти баланс между целостностью данных и детерменированностью передачи с одной стороны, и более высокой производительностью или экономией памяти с другой стороны.

Параметры обработки

Параметры обработки Настройки параметров блока
  • Целостность данных

  • Детерминированная передача данных

  • Максимальная задержка

Включено:

  • Ensure data integrity during data transfer

  • Ensure deterministic data transfer (maximum delay)

  • Целостность данных

  • Недетерминированная передача данных

  • Минимальная задержка

  • Более высокие требования к памяти

Включено:

  • Ensure data integrity during data transfer

Не включено:

  • Ensure deterministic data transfer (maximum delay)

  • Возможная потеря целостности данных

  • Недетерминированная передача данных

  • Минимальная задержка

  • Более низкие требования к памяти

Не включено:

  • Ensure data integrity during data transfer

  • Ensure deterministic data transfer (maximum delay)

Зависимости

Поведение блока Rate Transition зависит от следующих условий:

  • Шаги расчета портов, к которым подключается блок;

  • Приоритеты задач для исходного и целевого шагов расчета;

  • Используется решатель с фиксированным или переменным шагом.

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Port_1 — выходной сигнал
скаляр | вектор | матрица

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

Типы данных: Float64

Параметры

Ensure data integrity during data transfer — обеспечить целостность данных
включено (по умолчанию) | выключено

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

В ином случае блок Rate Transition либо игнорируется, либо генерирует код, использующий операцию копирования, чтобы повлиять на передачу данных. Такой незащищенный режим потребляет меньше памяти. Но операция копирования может быть прервана, что может привести к потере целостности данных при передаче. Включите этот параметр, чтобы сгенерированный код работал с максимальной скоростью (то есть недетерминированно) и сохранением целостности данных.

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

Параметр блока:

Integrity

Значение:

выключено | включено

По умолчанию:

включено

Ensure deterministic data transfer (maximum delay) — обеспечить детерминированную передачу данных
включено (по умолчанию) | выключено

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

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

Параметр блока:

Deterministic

Значение:

выключено | включено

По умолчанию:

включено

Initial conditions — начальное значение
0 (по умолчанию) | скаляр | вектор | матрица

Этот параметр применим только к переходам от медленного блока к быстрому. Он задает значение выходного сигнала блока Rate Transition в начале перехода, когда нет выходного сигнала из-за отсутствия входного сигнала, поступающего от медленного блока, подключенного ко входу блока Rate Transition.

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

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

Параметр блока:

InitialCondition

Значение:

finite scalar

По умолчанию:

0

Output port sample time options — способ задания шага расчета выходного порта
Specify (по умолчанию) | Inherit | Multiple of input port sample time

Задает способ задания шага расчета выходного порта. Варианты:

  • Specify — использовать для явного задания выходной частоты дискретизации параметр Output port sample time.

  • Inherit — наследовать шаг расчета от блока, к которому подключен выходной порт.

  • Multiple of input port sample time — задать выходную скорость блока Rate Transition как кратную его входной скорости (параметр Sample time multiple (>0)).

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

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

Параметр блока:

OutPortSampleTimeOpt

Значение:

Specify | Inherit | Multiple of input port sample time

По умолчанию:

Specify

Output port sample time — шаг расчета выходного порта
−1 (по умолчанию) | скаляр | вектор

Введите значение шага расчета для выходного порта.

Значение по умолчанию (−1) указывает, что блок Rate Transition наследует выходную скорость от блока, к которому подключен выходной порт.

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

Параметр блока:

OutPortSampleTime

Значение:

скаляр | вектор

По умолчанию:

−1

Sample time multiple(>0) — мультипликатор шага расчета
1 (по умолчанию) | положительный скаляр

Положительное значение, которое задает шаг расчета выходного сигнала кратной частоте входного.

Значение по умолчанию (1) указывает, что скорость вывода такая же, как скорость ввода. Значение 0.5 указывает, что скорость выхода составляет половину скорости входа. Значение 2 указывает, что скорость выхода в два раза превышает скорость входа.

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

Параметр блока:

OutPortSampleTimeMultiple

Значение:

скаляр

По умолчанию:

1

Дополнительные возможности

Генерация Си кода: Да