Main Content

Transport Delay

Retrasar entrada por la cantidad de tiempo especificada

  • Transport Delay block

Bibliotecas:
Simulink / Continuous

Descripción

El bloque Transport Delay retrasa la entrada por la cantidad de tiempo especificada. Puede utilizar este bloque para simular un retraso de tiempo. La entrada a este bloque debe ser una señal continua.

Al comienzo de la simulación, el bloque produce como salida el parámetro Initial output hasta que el tiempo de simulación supere el parámetro Time delay. A continuación, el bloque comienza a generar el retraso de la entrada. Durante la simulación, el bloque almacena los puntos de entrada y los tiempos de simulación en un buffer. Puede especificar este tamaño con el parámetro Initial buffer size.

Cuando se desea una salida en una unidad de tiempo que no se corresponde con el tiempo de los valores de entrada almacenados, el bloque interpola linealmente entre puntos. Cuando el retraso es inferior al tamaño del paso, el bloque extrapola a partir del último punto de salida, lo que puede generar resultados imprecisos. Puesto que el bloque no tiene alimentación directa, no puede utilizar la entrada actual para calcular un valor de salida. Por ejemplo, considere una simulación de paso fijo con un tamaño de paso de 1 y la unidad de tiempo actual en t = 5. Si el retraso es 0,5, el bloque debe generar un punto en la unidad de tiempo t = 4.5. Puesto que el valor de tiempo almacenado más reciente es t = 4, el bloque realiza una extrapolación hacia adelante.

El bloque Transport Delay no interpola señales discretas. En su lugar, el bloque devuelve el valor discreto en el valor de tiempo requerido.

Este bloque difiere del bloque Unit Delay, que retrasa y retiene la salida solo en momentos específicos de muestreo.

Sugerencia

Evite utilizar linmod para linealizar un modelo que contenga un bloque Transport Delay. Para obtener más información, consulte Linearizing Models.

Ejemplos

Puertos

Entrada

expandir todo

Señal de entrada que se desea retrasar, especificada como escalar, vector o matriz.

Este puerto tiene alimentación directa cuando el valor del parámetro Time delay es 0. Dado que el parámetro Time delay es ajustable durante el tiempo de ejecución, el software trata el bloque Transport Delay como si este puerto siempre tuviera alimentación directa.

Tipos de datos: double

Salida

expandir todo

Señal de entrada, retrasada por una cantidad de tiempo especificada. La salida tiene las mismas dimensiones y tipo de datos que la señal de entrada.

Tipos de datos: double

Parámetros

expandir todo

Especifique la cantidad de tiempo de simulación para retrasar la señal de entrada antes de que se propague a la salida como escalar, vector o matriz no negativos.

Uso programático:

Parámetro de bloque: DelayTime
Tipo: vector de caracteres, cadena
Valores: escalar, vector o matriz no negativos
Predeterminado: '1'

Especifique la salida que genera el bloque hasta que el tiempo de simulación supere por primera vez la entrada de retraso de tiempo como escalar, vector o matriz.

Limitaciones

La salida inicial de este bloque no puede ser inf o NaN.

Un valor Run-to-run tunable parameter no se puede cambiar durante el tiempo de ejecución de una simulación. Sin embargo, cambiarlo antes de que empiece una simulación no provoca que los modos Accelerator o Rapid Accelerator generen código.

Uso programático

Parámetro de bloque: InitialOutput
Tipo: vector de caracteres, cadena
Valores: escalar | vector | matriz
Predeterminado: '0'

Defina la asignación inicial de memoria para el número de puntos de entrada que desea almacenar.

  • Si el número de puntos de entrada supera el tamaño inicial de buffer, el bloque asigna memoria adicional.

  • Una vez finalizada la simulación, se muestra un mensaje con el tamaño de buffer total que se necesita.

Sugerencias

  • Puesto que asignar memoria ralentiza la simulación, elija este valor con precaución si le preocupa la velocidad de la simulación.

  • Cuando hay retrasos de tiempo largos, este bloque puede necesitar una gran cantidad de memoria, especialmente para entradas dimensionalizadas.

Uso programático

Parámetro de bloque: BufferSize
Tipo: vector de caracteres, cadena
Valor: escalar entero positivo
Predeterminado: '1024'

Seleccione esta casilla para utilizar un buffer de tamaño fijo para guardar datos de entrada de unidades de tiempo anteriores.

El parámetro Initial buffer size especifica el tamaño del buffer. Si el buffer está lleno, los datos nuevos sustituyen a los datos que ya están en el buffer. El software de Simulink® utiliza la extrapolación lineal para estimar los valores de salida que no están en el buffer.

Nota

Si tiene una licencia de Simulink Coder™, la generación de código ERT o GRT utiliza un buffer de tamaño fijo aunque no seleccione esta casilla.

Sugerencias

  • Si los datos de entrada son lineales, seleccionar esta casilla puede ayudar a ahorrar memoria.

  • Si los datos de entrada son no lineales, no seleccione esta casilla. Si lo hace, se pueden generar resultados imprecisos.

Uso programático

Parámetro de bloque: FixedBuffer
Tipo: vector de caracteres, cadena
Valor: 'off' | 'on'
Predeterminado: 'off'

Haga que el bloque produzca su entrada durante la linealización y el ajuste; esto establece el modo del bloque en alimentación directa.

Sugerencias

  • Seleccionar esta casilla puede modificar el orden de los estados en el modelo cuando utiliza las funciones linmod, dlinmod o trim. Para extraer este nuevo orden de los estados:

    1. Compile el modelo utilizando el siguiente comando, donde model es el nombre del modelo de Simulink.

          [sizes, x0, x_str] = model([],[],[],'lincompile'); 
    2. Termine la compilación con el siguiente comando.

        model([],[],[],'term'); 
  • El argumento de salida x_str, que es un arreglo de celdas de los estados en el modelo de Simulink, contiene el nuevo orden de los estados. Cuando pasa un vector de estados como entrada a las funciones linmod, dlinmod o trim, el vector de estado debe usar este nuevo orden de los estados.

Uso programático

Parámetro de bloque: TransDelayFeedthrough
Tipo: vector de caracteres, cadena
Valor: 'off' | 'on'
Predeterminado: 'off'

Establezca el orden de la aproximación de Padé para rutinas de linealización como un escalar, vector o matriz de enteros no negativos.

  • El valor predeterminado es 0, que da como resultado una ganancia de unidad sin estados dinámicos.

  • Establecer el orden en un entero positivo n añade n estados a su modelo, pero da como resultado un modelo lineal más preciso del retraso de transporte.

Uso programático

Parámetro de bloque: PadeOrder
Tipo: vector de caracteres, cadena
Valores: escalar | vector | matriz
Predeterminado: '0'

Características del bloque

Tipos de datos

double

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a