Scope
SinksEl bloque uPlotDisplay es un trazador de señales interactivo y ultrarrápido diseñado para la visualización en tiempo real directamente sobre el diagrama de bloques. Basado en el motor ligero uPlot, es capaz de renderizar fluidamente cientos de miles de puntos de datos en el navegador sin retardos apreciables.
El bloque actúa como un sumidero de señales (sink) y admite múltiples señales simultáneas para su comparación directa en un único gráfico.
Modelo Matemático
Entradas y Salidas
| Direction | ID | Label | Tipo | Status |
|---|---|---|---|---|
| → In | signal |
Signal | number | Required |
Parámetros
| Parámetros | Label | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
title |
Title | text | Signal Plot |
|
viewportMode |
Time window | select | expanding |
|
windowDuration |
Window duration (s) | number | 10 |
|
renderMode |
Update mode | select | timebased |
|
updateFrequencyHz |
Refresh rate (Hz) | number | 10 |
How often the plot updates visually when in Time-based mode. |
maxPoints |
Max display points | number | 500000 |
Limit the number of points drawn to prevent performance drops. |
useAutoY |
Auto-scale Y-axis | boolean | true |
Automatically adjust the Y-axis to fit all visible data. |
yMin |
Y-axis minimum | number | -1 |
|
yMax |
Y-axis maximum | number | 1 |
|
lineWidth |
Line width | number | 2.5 |
|
showGrid |
Show grid | boolean | true |
|
showLegend |
Show legend | boolean | false |
|
showPoints |
Show points | boolean | false |
|
showStatistics |
Show statistics | boolean | false |
Display min, max, and mean values. |
triggerEnabled |
Trigger | boolean | false |
Stabilise periodic waves by aligning the window to a level crossing (time-domain, rolling only). |
triggerSource |
Trigger source (signal index) | number | 0 |
Which input signal triggers (0 = first). |
triggerLevel |
Trigger level | number | 0 |
Amplitude threshold for the trigger crossing. |
triggerEdge |
Trigger edge | select | rising |
Detect crossings on the rising or falling edge. |
xyXChannel |
XY: X signal index | number | 0 |
In XY mode, which input signal is the X axis (0 = first). |
xyYChannel |
XY: Y signal index | number | 1 |
In XY mode, which input signal is the Y axis. |
Ejemplos de Uso
Visualización de la Respuesta al Escalón
Conectar una fuente de escalón a un lazo de control PID y observar la respuesta temporal en vivo:
Step → PIDController → Planta → uPlotDisplay
Figuras de Lissajous (Modo XY)
Graficar dos ondas senoidales desfasadas en el plano cartesiano XY:
Seno 1 (X) ──┐
├── uPlotDisplay (renderMode: "xy")
Seno 2 (Y) ──┘Observaciones y Buenas Prácticas
- Aceleración Hardware: Visualización eficiente mediante el uso de WebGL/Canvas2D.
- Modo Live vs. Basado en Tiempo: En simulaciones extensas se recomienda el modo temporal (5–10 Hz) para asegurar una interacción fluida con la interfaz gráfica.
- Diezmado Dinámico: Si el volumen de datos excede
maxPoints, el sistema aplica automáticamente un submuestreo para preservar el rendimiento.
Bloques Relacionados
- NumericDisplay: Visualizador numérico digital simple para lecturas puntuales
- BodePlot: Representación de diagramas de respuesta en frecuencia
- SignalGenerator: Generador de señales de prueba periódicas