Variable Integer Delay

Задержка входа сигнала по переменному периоду дискретизации

  • Библиотека:
  • Simulink/Дискретный

  • Variable Integer Delay block

Описание

Блок Variable Integer Delay является вариантом блока Delay, который имеет источник длины задержки, установленной на Input port, по умолчанию.

Порты

Вход

расширить все

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

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

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

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

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

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

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

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

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

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

Выход

расширить все

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

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | 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)'

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

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

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

  • Для сигналов, основанных на дискретизации, длина задержки равна 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.

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

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

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

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

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

Для получения информации о конфигурировании данных моделей с помощью классов памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Embedded 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 | half | integer | single | string

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

yes

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

yes

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

yes

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

no

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

.

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

Введенный в R2012b