Delay

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

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

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

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

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

Описание

Блок 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Порты

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | 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, чтобы задать, выполняет ли блок выборку - или основанная на системе координат обработка. Блок принимает основанные на системе координат сигналы для входа u. Все другие входные сигналы должны быть основаны на выборке.

Входной сигнал uВведите режим обработкиКладка блоков?
Выборка базирующейсяВыборка базирующейсяДа
Система координат базирующейсяНет, производит ошибку
Выборка базирующейсяСистема координат базирующейсяДа
Система координат базирующейсяДа

Для получения дополнительной информации об этих двух режимах обработки, смотрите Выборку - и Основанные на системе координат Концепции (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.

Для получения дополнительной информации смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder).

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

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

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

Зависимости

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

Установка этого флажка отключает Code generation storage class.

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

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

Выберите пользовательский пакет класса памяти путем выбора класса объекта сигнала, который задает целевой пакет. Например, чтобы применить пользовательские классы памяти от встроенного пакета mpt, выберите mpt.Signal. Если вы не используете основанную на ERT цель генерации кода с Embedded Coder®, пользовательские классы памяти не влияют на сгенерированный код.

Если класс, который вы хотите, не появляется в списке, выберите Customize class lists. Для инструкций смотрите, что Целевой Класс Не Появляется в Списке Классов объектов Сигнала (Embedded Coder).

Для получения информации о классах памяти смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder). Для получения информации о пользовательских классах памяти смотрите, Применяют Встроенные и Индивидуально настраиваемые Классы памяти к Элементам данных (Embedded Coder).

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

Параметры блоков: StateSignalObject
Ввод: символьный вектор
Значения: 'Simulink.Signal' | '<StorageClass.PackageName>'
Значение по умолчанию: 'Simulink.Signal'

Выберите класс памяти состояния для генерации кода.

Используйте Signal object class, чтобы выбрать пользовательские классы памяти из пакета кроме Simulink.

Зависимости

Чтобы включить этот параметр, задайте значение для State name.

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

Параметры блоков: StateStorageClass
Ввод: символьный вектор
Значения: 'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ...
Значение по умолчанию: 'Auto'

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

Типы данных

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

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

yes

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

yes

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

yes

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

no

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

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

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

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