Main Content

Zero-Order Hold

Implementar periodo de muestreo de una retención de orden cero

  • Zero-Order Hold block

Bibliotecas:
Simulink / Discrete
HDL Coder / Discrete

Descripción

El bloque Zero-Order Hold retiene su entrada durante el periodo de muestreo que especifique. Si la entrada es un vector, el bloque retiene todos los elementos del vector durante el mismo periodo de muestreo.

Puede especificar el tiempo entre muestras con el parámetro Sample time. Un ajuste de -1 significa que el bloque hereda el valor Sample time.

Sugerencia

No use el bloque Zero-Order Hold para crear una transición rápida a lenta entre bloques que operan a distintas tasas de muestreo. En su lugar, use el bloque Rate Transition.

Soporte para bus

El bloque Zero-Order Hold es un bloque compatible con bus. La entrada puede ser una señal de bus virtual o no virtual. No existe ninguna restricción específica de bloque. Todas las señales en una entrada de bus no virtual para un bloque Zero-Order Hold deben tener el mismo tiempo de muestreo, incluso si los elementos del objeto de bus asociado especifican tiempos de muestreo heredados. Puede usar un bloque Rate Transition para cambiar el tiempo de muestreo de una señal individual o de todas las señales de un bus. Consulte Modify Sample Times for Nonvirtual Buses y Bus-Capable Blocks para obtener más información.

Puede usar un arreglo de buses como señal de entrada para un bloque Zero-Order Hold. Para obtener detalles sobre cómo definir y usar un arreglo de buses, consulte Group Nonvirtual Buses in Arrays of Buses.

Comparación con bloques similares

Los bloques Memory, Unit Delay y Zero-Order Hold proporcionan una funcionalidad similar, pero tienen distintas prestaciones. Además, la finalidad de cada bloque es diferente.

Esta tabla muestra el uso recomendado para cada bloque.

BloqueFinalidad del bloqueEjemplos de referencia
Unit DelayImplemente un retraso utilizando un tiempo de muestreo discreto que especifique. El bloque acepta y produce como salida señales con un tiempo de muestreo discreto.
MemoryImplemente un retraso de una unidad de tiempo de integración principal. En condiciones ideales, el bloque acepta señales continuas (o fijas con unidad de tiempo corto) y produce como salida una señal fija con unidad de tiempo corto.
Zero-Order HoldConvierta una señal de entrada con un tiempo de muestreo continuo a una señal de salida con un tiempo de muestreo discreto.

Cada bloque tiene las siguientes características.

CaracterísticaMemoryUnit DelayZero-Order Hold
Especificación de condición inicialNo, porque la salida del bloque en la unidad de tiempo t = 0 debe coincidir con el valor de entrada.
Especificación de tiempo de muestreoNo, porque el bloque solo puede heredar tiempo de muestreo del bloque controlador o del solver usados para todo el modelo.
Soporte para señales basadas en tramasNo
Soporte para registro de estadoNoNo

Puertos

Entrada

expandir todo

Señal de entrada que el bloque retiene por un periodo de muestreo.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Salida

expandir todo

Señal de salida que es la entrada retenida por un periodo de muestreo.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Parámetros

expandir todo

Especifique el intervalo de tiempo entre muestreos. Para heredar el tiempo de muestreo, establezca este parámetro en -1. Consulte Especificar el tiempo de muestreo para obtener más información.

No especifique un tiempo de muestreo continuo (0 o [0,0]). Este bloque solo admite tiempos de muestreo discretos. Cuando este parámetro es -1, el tiempo de muestreo heredado debe ser discreto y no continuo.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Para obtener el valor del parámetro de bloque de forma programática, use la función get_param.

Parámetro: SampleTime
Valores: -1 (predeterminado) | positive scalar number
Tipos de datos: char | string

Ejemplo: set_param("mdl/Zero-Order Hold","SampleTime","0.1") specifies a discrete sample time of 0.1 for the Zero-Order Hold block named Zero-Order Hold in the model named mdl.

Características del bloque

Tipos de datos

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

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Capacidades ampliadas

Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido antes de R2006a

Consulte también

|