Задержка

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

(Tstart) к (Tstart + Toffset)

Нуль

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

Начальный параметр условия

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

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

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

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

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

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

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

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

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

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

Inherited
(где введенный основанный на выборке сигнал),
  • Размерности сигнала изменяются только во время сброса состояния, когда блок включен.

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

Inherited
(где введенный основанный на кадре сигнал),
  • Размер канала изменяется только во время сброса состояния, когда блок включен.

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

  • Формат кадра должен быть постоянным.

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

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

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

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

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

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

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

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

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

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

Порты

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Вывод

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина

Параметры

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

Основной

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

  • Если вы устанавливаете Источник на Dialog, введите длину задержки в поле редактирования под Значением.

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

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

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

Блочный параметр: DelayLengthSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно
Блочный параметр: DelayLength
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '2'
Блочный параметр: DelayLengthUpperLimit
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '100'

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

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

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

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

Примечание

То, когда имя состояния должно решить к объекту Сигнала Simulink, выбрано на панели Атрибутов состояния, блок копирует начальное значение объекта сигнала к Начальному параметру условия. Однако, когда источником для Начального условия является Input port, блок игнорирует начальное значение объекта сигнала.

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

Блочный параметр: InitialConditionSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно
Блочный параметр: InitialCondition
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '0.0'

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

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

    Примечание

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

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

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

Используйте Входную обработку, чтобы задать, выполняет ли блок выборку - или основанная на кадре обработка. Блок принимает основанные на кадре сигналы для входного параметра u. Все другие входные сигналы должны быть основаны на выборке.

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

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

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

Блочный параметр: InputProcessing
Ввод: символьный вектор
Значения: 'Столбцы как каналы (базирующийся кадр)' | 'Элементы как каналы (базирующаяся выборка)'
Значение по умолчанию: 'Elements as channels (sample based)'

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

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

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

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

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

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

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

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

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

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

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

Зависимость

Чтобы включить этот параметр, установите длину Задержки: Источник к Input port.

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

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

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

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

Выбранный

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

Для эффективности кода

Очищенный

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

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

Зависимость

Чтобы включить этот параметр, установите длину Задержки: Источник к Input port.

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

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

Задайте, произвести ли предупреждение или ошибку, когда входной параметр d является меньше, чем нижний предел или больше, чем длина Задержки: Верхний предел. Нижний предел зависит от установки для, Предотвращают прямое сквозное соединение.

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

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

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

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

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

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

Зависимость

Чтобы включить этот параметр, установите длину Задержки: Источник к Input port.

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

Блочный параметр: DiagnosticForDelayLength
Ввод: символьный вектор
Значения: 'Ни один' | 'Предупреждение' | 'Ошибка'
Значение по умолчанию: 'none'

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

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

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

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

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

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

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

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

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

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

Блочный параметр: ExternalReset
Ввод: символьный вектор
Значения: 'Ни один' | 'Повышающийся' | 'Падающий' | 'Любой' | 'Уровень' | 'Уровень не содержит'
Значение по умолчанию: 'none'

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

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

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

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

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

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

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

Этот параметр включает имя состояния, должен решить к объекту Сигнала Simulink, когда вы нажимаете Apply.

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

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

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

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

Зависимости

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

Установка этого флажка отключает класс памяти Генерации кода.

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

Блокируйте характеристики

Типы данных

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

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

Yes

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

Yes

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

Yes

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

No

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

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

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

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

Была ли эта тема полезной?