Delay

Сигнал задержки входа к фиксированным или переменным периодам расчета

  • Библиотека:
  • Simulink / Обычно Используемые Блоки

    Simulink / Дискретный

    HDL Coder / Обычно Используемые Блоки

    HDL Coder / Дискретный

  • Delay block

Описание

Блок Delay выводит вход блока после задержки. Блок определяет время задержки на основе значения параметра Delay length. Поддержки блока:

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

  • Спецификация начального условия от входного порта

  • Устройство хранения данных состояния

  • Используя кольцевой буфер вместо массива буферизуют для устройства хранения данных состояния

  • Сброс состояния к начальному условию с внешним сигналом сброса

  • Управление выполнением блока на каждом временном шаге с внешним включает сигнал

Начальный блок выход зависит от нескольких факторов, таких как параметр Initial condition и время начала симуляции. Для получения дополнительной информации смотрите Начальный Блок Выход. Параметр External reset определяет, выводил ли блок сброс к начальному условию на инициировании. Параметр Show enable port определяет, управляют ли выполнением блока в каждом временном шаге внешним, включают сигнал.

Начальный блок Выход

Выход в первых нескольких временных шагах симуляции зависит от шага расчета блока, длины задержки, и время начала симуляции. Определение поддержек блока или наследование дискретных шагов расчета, чтобы определить временной интервал между выборками. Для получения дополнительной информации см. Настройку времени выборки.

Таблица показывает блок Delay выход для первых нескольких временных шагов с этими настройками. Блок наследовал дискретный шаг расчета как [Tsampling, Toffset], где Tsampling период выборки и Toffset начальное смещение времени. n значение параметра Delay length и Tstart время начала симуляции для модели

Область значений времени симуляцииБлок Выход

(Tstart) к (Tstart + Toffset)

Нуль

(Tstart + Toffset) к (Tstart + Toffset + n * Tsampling)

Параметр Initial condition

После (Tstart + Toffset + n * Tsampling)

Входной сигнал

Поведение с внешним включает сигнал

Установка флажка Show enable port включает порт Enable. Если разрешать порт включен, блок действует в этом порядке

  1. Проверки, если разрешать условию удовлетворяют.

  2. Если порт сброса включен, проверяет условие сброса.

  3. Выполняет функциональность блока Delay.

Блок начинает эту операцию с портом Enable:

  • В первом блоке включают, блок выход является начальным значением условия (x0).

  • Поскольку последовательные включают сигналы, блок берет последнее состояние входного сигнала u.

  • Если порт не включен в начале симуляции, блок Delay выходные параметры 0.

  • В процессе моделирования, если порт становится отключенным, будучи включенным, блок не выполняет и содержит свое последнее значение.

Поддержка переменного размера

Блок Delay оказывает следующую поддержку для сигналов переменного размера:

  • Порт u ввода данных принимает сигналы переменного размера. Другие входные порты не принимают сигналы переменного размера.

  • Выходной порт имеет те же размерности сигнала как порт u ввода данных для входных параметров переменного размера.

Правила, которые применяются к сигналам переменного размера, зависят от входного режима обработки блока Delay.

Введите режим обработкиПравила для поддержки сигнала Переменного Размера
Elements as channels (sample based)
  • Размерности сигнала изменяются только во время сброса состояния, когда блок включен.

  • Начальным условием должен быть скаляр.

Columns as channels (frame based)
  • Никакая поддержка

Соедините шиной поддержку

Блок Delay оказывает следующую поддержку для сигналов шины:

  • Ввод данных u принимает виртуальные и невиртуальные сигналы шины. Кроме входного порта x0, другие входные порты не принимают сигналы шины.

  • Начальное условие x0 порт принимает невиртуальные сигналы шины.

  • Выходной порт имеет тот же тип шины как порт u ввода данных для входных параметров шины.

  • Шины работают с:

    • Основанная на выборке и основанная на системе координат обработка

    • Зафиксированный и переменная задерживают длину

    • Массив и кольцевые буферы

Чтобы использовать сигнал шины в качестве входа с блоком Delay, задайте начальное условие на диалоговом окне или через x0 порт. Поддержка виртуальных и невиртуальных шин зависит от начального условия, которое вы задаете и пуст ли параметр State name или нет. Для x0 входной порт, только невиртуальные шины поддерживаются.

Начальное условиеИмя состояния
ПустойНе пустой
НульВиртуальная и невиртуальная поддержка шиныНевиртуальная поддержка шины только
Ненулевой скалярВиртуальная и невиртуальная поддержка шиныНикакая поддержка шины
НескалярныйНикакая поддержка шиныНикакая поддержка шины
СтруктураВиртуальная и невиртуальная поддержка шиныНевиртуальная поддержка шины только
Частичная структураВиртуальная и невиртуальная поддержка шиныНевиртуальная поддержка шины только

Представьте поддержку в виде строки

Блок Delay может принять и тип данных выводимой строки только если:

  • Блок сконфигурирован для значения по умолчанию параметра Initial condition (0).

  • Значение Delay length равняется 1 или меньше.

Порты

Входной параметр

развернуть все

Сигнал входных данных задержан согласно настройкам параметров.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

Задержите длину, заданную, как наследовано от входного порта. Enabled, когда вы выбираете параметр Delay length: Source как Input port.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Включите сигнал, который включает или отключает выполнение блока. Чтобы создать этот порт, выберите параметр Show enable port.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Внешний сигнал, что выполнение сброса блока к начальному условию. Чтобы создать этот порт, выберите параметр External reset.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Начальное условие, заданное, как наследовано от входного порта. Enabled, когда вы выбираете параметр Initial Condition: Source как Input port.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | bus

Вывод

развернуть все

Выходной сигнал, который является входным сигналом, задержанным отрезком времени, заданным параметром Delay length. Начальное значение выходного сигнала зависит от нескольких условий. Смотрите Начальный Блок Выход.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

Параметры

развернуть все

Основной

Задайте, ввести ли длину задержки непосредственно в диалоговое окно (зафиксированная задержка) или наследовать задержку от входного порта (переменная задержка).

  • Если вы устанавливаете Source на Dialog, введите длину задержки в поле редактирования под Value.

  • Если вы устанавливаете Source на Input port, проверьте, что восходящий сигнал предоставляет длину задержки для d входной порт. Можно также задать его максимальное значение путем определения параметра Upper limit.

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

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

Параметры блоков: DelayLengthSource
Ввод: символьный вектор
Значения: 'Dialog' | 'Input port'
Значение по умолчанию: 'Dialog'
Параметры блоков: DelayLength
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '2'
Параметры блоков: DelayLengthUpperLimit
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '100'

Задайте, ввести ли начальное условие непосредственно в диалоговое окно или наследовать начальное условие от входного порта.

  • Если вы устанавливаете Source на Dialog, введите начальное условие в поле редактирования под Value.

  • Если вы устанавливаете Source на Input port, проверьте, что восходящий сигнал предоставляет начальное условие для x0 входной порт.

Simulink® преобразует оффлайн тип данных Initial condition к типу данных входного сигнала u использование операции раунда-к-самому-близкому и насыщения.

Примечание

Когда State name must resolve to Simulink signal object является выбранным On панели State Attributes, блок копирует начальное значение объекта сигнала к параметру Initial condition. Однако, когда источником для Initial condition является Input port, блок игнорирует начальное значение объекта сигнала.

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

Параметры блоков: InitialConditionSource
Ввод: символьный вектор
Значения: 'Dialog' | 'Input port'
Значение по умолчанию: 'Dialog'
Параметры блоков: InitialCondition
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '0.0'

Задайте, выполняет ли блок выборку - или основанная на системе координат обработка:

  • Columns as channels (frame based) — Обработайте каждый столбец входа как отдельный канал (основанная на системе координат обработка).

    Примечание

    Основанная на системе координат обработка требует лицензии DSP System Toolbox™.

    Для получения дополнительной информации смотрите Выборку - и Основанные на системе координат Концепции (DSP System Toolbox).

  • Elements as channels (sample based) — Обработайте каждый элемент входа как отдельный канал (основанная на выборке обработка).

Используйте Input processing, чтобы задать, выполняет ли блок выборку - или основанная на системе координат обработка. Для получения дополнительной информации об этих двух режимах обработки, смотрите Выборку - и Основанные на системе координат Концепции (DSP System Toolbox).

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

Параметры блоков: InputProcessing
Ввод: символьный вектор
Значения: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
Значение по умолчанию: 'Elements as channels (sample based)'

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

Используя кольцевой буфер может улучшить скорость выполнения, когда длина задержки является большой. Для буфера массивов количества увеличений операций копии, когда повышается длина задержки. Для кольцевого буфера количество операций копии является постоянным для увеличения длины задержки.

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

  • Для основанных на выборке сигналов длина задержки равняется 1.

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

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

Параметры блоков: UseCircularBuffer
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите, чтобы увеличить длину задержки от нуля до нижнего предела для режима Input processing.

  • Для основанных на выборке сигналов увеличьте минимальную длину задержки до 1.

  • Для основанных на системе координат сигналов увеличьте минимальную длину задержки до длины системы координат.

Установка этого флажка предотвращает прямое сквозное соединение от входного порта, u, к выходному порту. Однако этот флажок не может предотвратить прямое сквозное соединение от начального порта условия, x0, к выходному порту.

Зависимость

Чтобы включить этот параметр, установите Delay length: Source на Input port.

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

Параметры блоков: PreventDirectFeedthrough
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите, чтобы удалить код, который проверяет на длину задержки из области значений.

ФлажокРезультатКогда использовать

Выбранный

Сгенерированный код не включает условные операторы, чтобы проверять на длину задержки из области значений.

Для КПД кода

Очищенный

Сгенерированный код включает условные операторы, чтобы проверять на длину задержки из области значений.

Для важных приложений безопасности

Зависимость

Чтобы включить этот параметр, установите Delay length: Source на Input port.

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

Параметры блоков: RemoveDelayLengthCheckInGeneratedCode
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте, произвести ли предупреждение или ошибку когда вход d меньше нижнего предела или больше, чем Delay length: Upper limit. Нижний предел зависит от установки для Prevent direct feedthrough.

  • Если флажок снимается, нижний предел является нулем.

  • Если флажок устанавливается, нижний предел 1 для основанных на выборке сигналов и длины системы координат для основанных на системе координат сигналов.

Опции для диагностики включают:

  • None — Программное обеспечение Simulink не принимает мер.

  • Warning — Программное обеспечение Simulink выводит предупреждение и продолжает симуляцию.

  • Error — Программное обеспечение Simulink отключает симуляцию и отображает ошибку.

Зависимость

Чтобы включить этот параметр, установите Delay length: Source на Input port.

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

Параметры блоков: DiagnosticForDelayLength
Ввод: символьный вектор
Значения: 'None' | 'Warning' | 'Error'
Значение по умолчанию: 'None'

Выберите, чтобы управлять выполнением этого блока с разрешать портом. Блок рассматривается активированным, когда вход к этому порту является ненулевым, и отключен, когда входом является 0. Значение входа проверяется одновременно шаг как выполнение блока.

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

Параметры блоков: ShowEnablePort
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

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

Сбросьте режимПоведение
NoneНикакой сброс
RisingСбросьте на возрастающем ребре
FallingСбросьте на падающем ребре
EitherСбросьте или на повышении или на падающем ребре
Level

Сбросьте в любом из этих случаев:

  • Когда сигнал сброса является ненулевым на шаге текущего времени

  • Когда значение сигналов сброса изменяется от ненулевого на предыдущем временном шаге, чтобы обнулить на шаге текущего времени

Level holdСбросьте, когда сигнал сброса будет ненулевым на шаге текущего времени

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

Параметры блоков: ExternalReset
Ввод: символьный вектор
Значения: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold'
Значение по умолчанию: 'None'

Задайте временной интервал между выборками. Чтобы наследовать шаг расчета, установите этот параметр на -1. Этот блок поддерживает дискретный шаг расчета, но не время непрерывной выборки.

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

Параметры блоков: SampleTime
Ввод: символьный вектор
Значение: действительный скаляр
Значение по умолчанию: '-1'

Атрибуты состояния

Используйте этот параметр, чтобы присвоить уникальное имя состоянию блока. Значением по умолчанию является ' '. Когда это поле является пробелом, никакое имя не присвоено. При использовании этого параметра помните эти факторы:

  • Допустимый идентификатор запускается с буквенного символа или символа подчеркивания, сопровождаемого алфавитно-цифровыми символами или символами подчеркивания.

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

Этот параметр включает State name must resolve to Simulink signal object, когда вы нажимаете Apply.

Для получения дополнительной информации смотрите Настройку генерации кода C для Элементов Интерфейса модели (Simulink Coder).

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

Параметры блоков: StateName
Ввод: символьный вектор
Значения: уникальное имя
Значение по умолчанию: ''

Установите этот флажок, чтобы потребовать, чтобы имя состояния решило к объекту Сигнала Simulink.

Зависимости

Чтобы включить этот параметр, задайте значение для State name. Этот параметр появляется, только если вы устанавливаете параметр конфигурации модели Signal resolution на значение кроме None.

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

Параметры блоков: StateMustResolveToSignalObject
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

Прямое сквозное соединение

yes

Многомерные сигналы

yes

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

Расширенные возможности

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Представлено до R2006a