Транспортная задержка

Задержка вводится данным количеством времени

  • Библиотека:
  • Simulink / Непрерывный

Описание

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

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

Когда это необходимо выведите за один раз, который не соответствует временам сохраненных входных значений, блок интерполирует линейно между точками. Когда задержка меньше, чем размер шага, блок экстраполирует от последней выходной точки, которая может привести к неточным результатам. Поскольку блок не имеет прямого сквозного соединения, он не может использовать текущий входной параметр, чтобы вычислить выходное значение. Например, рассмотрите моделирование фиксированного шага с размером шага 1 и текущее время в t = 5. Если задержка 0.5, блок должен сгенерировать точку в t = 4.5. Поскольку новая сохраненная временная стоимость в t = 4, блок выполняет прямую экстраполяцию.

Блок Transport Delay не интерполирует дискретные сигналы. Вместо этого блок возвращает дискретное значение в необходимое время.

Этот блок отличается от блока Unit Delay, который задерживает и содержит вывод на демонстрационных хитах только.

Совет

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

Порты

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

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

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

Типы данных: double

Вывод

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

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

Типы данных: double

Параметры

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

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

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

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

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

Ограничения

Начальным выводом этого блока не может быть inf или NaN.

Run-to-run tunable parameter не может быть изменен в течение времени выполнения моделирования. Однако изменяя его, прежде чем моделирование начинается, не заставит Акселератор, или Быстрый Акселератор регенерируют код.

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

Блочный параметр: InitialOutput
Ввод: вектор символа, строка
Значения: скаляр | вектор | матрица
Значение по умолчанию: '0'

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

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

  • После концов моделирования сообщение показывает общий необходимый buffer size.

Советы

  • Поскольку выделение памяти замедляет моделирование, выберите это значение тщательно, если скорость симуляции является проблемой.

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

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

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

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

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

Примечание

Если у вас есть лицензия Simulink Coder™, генерация кода ERT или GRT использует буфер фиксированного размера, даже если вы не устанавливаете этот флажок.

Советы

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

  • Если входные данные нелинейны, не устанавливайте этот флажок. Выполнение так может привести к неточным результатам.

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

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

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

Советы

  • Установка этого флажка может вызвать изменение в упорядоченном расположении состояний в модели, когда вы используете функции linmod, dlinmod или trim. Извлекать это новое упорядоченное расположение состояния:

    1. Скомпилируйте модель с помощью следующей команды, где model является именем модели Simulink.

          [sizes, x0, x_str] = model([],[],[],'lincompile'); 
    2. Отключите компиляцию со следующей командой.

        model([],[],[],'term'); 
  • Выходной аргумент x_str, который является массивом ячеек состояний в модели Simulink, содержит новое упорядоченное расположение состояния. Когда вы передаете вектор состояний, как введено к linmod, dlinmod или функциям trim, вектор состояния должен использовать это новое упорядоченное расположение состояния.

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

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

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

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

  • Устанавливание порядка к положительному целочисленному n добавляет, что n утверждает к вашей модели, но приводит к более точной линейной модели транспортной задержки.

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

Блочный параметр: PadeOrder
Ввод: вектор символа, строка
Значения: скаляр | вектор | матрица
Значение по умолчанию: '0'

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

Типы данных

'double'

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

Yes

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

No

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

No

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

No

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

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

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