Задержка

Задержите входной сигнал фиксированными или переменными демонстрационными периодами

  • Библиотека:
  • 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 выбран на панели 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' | 'SimulinkGlobal' | '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