exponenta event banner

Задержка

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

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

    Симулинк/дискретный

    Кодер HDL/обычно используемые блоки

    Кодер HDL/дискретный

  • Delay block

Описание

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

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

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

  • Государственное хранение

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

  • Сброс состояния в исходное состояние с помощью внешнего сигнала сброса

  • Управление выполнением блока на каждом шаге времени с помощью внешнего сигнала разрешения

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

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

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

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

Диапазон времени моделированияБлочный выход

(Tstart) кому (Tstart + Toffset)

Ноль

(Tstart + Toffset) кому (Tstart + Toffset + n * Tsampling)

Параметр начального условия

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

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

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

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

  1. Проверка выполнения условия включения.

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

  3. Выполняет функцию блока задержки.

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

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

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

  • Если порт не активирован в начале моделирования, выводится блок задержки 0.

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

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

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

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

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

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

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

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

Columns as channels (frame based)
  • Без поддержки

Поддержка шины

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

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

  • Исходное условие x0 порт принимает сигналы невиртуальной шины.

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

  • Автобусы работают с:

    • Обработка на основе образцов и кадров

    • Фиксированная и переменная длина задержки

    • Массивы и круговые буферы

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

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

Поддержка строк

Блок задержки может принимать и выводить строковые данные только в том случае, если:

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

  • Значение длины задержки равно 1 или меньше.

Порты

Вход

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

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

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

Длина задержки, унаследованная от входного порта. Включено при выборе параметра Задержка длина: Источник как 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

Исходное условие, унаследованное от входного порта. Включено при выборе параметра «Начальное условие: Источник» в качестве 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

Параметры

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

Главный

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

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

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

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

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

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

Укажите, следует ли вводить начальное условие непосредственно в диалоговом окне или наследовать начальное условие из входного порта.

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

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

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

Примечание

Если на панели Атрибуты состояния (State Attributes) выбрано имя состояния, которое должно разрешаться для сигнального объекта Simulink, блок копирует начальное значение сигнального объекта в параметр условия Initial. Однако, когда источником для начального условия является Input portблок игнорирует начальное значение сигнального объекта.

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

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

Укажите, выполняет ли блок обработку на основе выборки или кадра:

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

    Примечание

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

    Дополнительные сведения см. в разделе Концепции на основе образцов и кадров (панель системных инструментов DSP).

  • Elements as channels (sample based) - Рассматривать каждый элемент ввода как отдельный канал (обработка на основе выборки).

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

Входной сигнал uРежим обработки входных данныхБлокировать работы?
Образец на основеОбразец на основеДа
Рамка на основеНет, создает ошибку
Образец на основеРамка на основеДа
Рамка на основеДа

Дополнительные сведения об этих двух режимах обработки см. в разделе Концепции на основе образцов и кадров (панель системных инструментов DSP).

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

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

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

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

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

  • Для сигналов на основе выборок длина задержки равна 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' | 'Warning' | 'Error'
По умолчанию: 'None'

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

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

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

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

Режим сбросаПоведение
NoneБез сброса
RisingСброс на переднем крае
FallingСброс на опущенном ребре
EitherСброс на поднимающемся или падающем ребре
Level

Сброс в любом из следующих случаев:

  • Если сигнал сброса не равен нулю на текущем шаге времени

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

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

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

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

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

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

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

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

Этот параметр используется для назначения уникального имени состоянию блока. Значение по умолчанию: ' '. Если это поле пустое, имя не назначается. При использовании этого параметра следует учитывать следующие соображения:

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

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

Этот параметр включает параметр Имя состояния должно разрешаться в сигнальный объект Simulink при нажатии кнопки Применить.

Дополнительные сведения см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder).

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

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

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

Зависимости

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

Установка этого флажка отключает класс хранения «» Создание кода «».

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

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

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

Чтобы использовать пакет класса хранения, отличный от пакета Simulink, необходимо загрузить пакет в словарь Embedded Coder модели. См. раздел Загрузка пакетов классов хранения в словарь встроенного кодера (Embedded Coder).

Сведения о настройке данных модели с помощью классов хранения см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (встроенный кодер). Сведения о пользовательских классах хранения см. в разделе Организация данных в структуры в сгенерированном коде (встроенный кодер).

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

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

Выберите класс хранения состояния для создания кода.

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

Зависимости

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

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

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

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

Типы данных

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

Прямой проход

yes

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

yes

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

yes

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

no

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

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

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

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