Scope
SinksLe bloc uPlotDisplay est un traceur de signaux interactif ultra-rapide conçu pour la visualisation en temps réel directement sur le schéma-bloc. Basé sur le moteur de rendu léger uPlot, il est capable d'afficher des centaines de milliers de points de mesure avec une grande fluidité et sans latence perceptible dans le navigateur.
Le bloc fait office de collecteur de signaux (sink) et accepte plusieurs signaux simultanés pour permettre une comparaison directe sur un même graphique.
Modèle Mathématique
Entrées & Sorties
| Direction | ID | Label | Type | Status |
|---|---|---|---|---|
| → In | signal |
Signal | number | Required |
Paramètres
| Paramètres | Label | Type | Défaut | Description |
|---|---|---|---|---|
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. |
Exemples d'Utilisation
Visualisation de Réponse Indicielle
Connecter un générateur d'échelon à une boucle d'asservissement pour observer la réponse indicielle en direct :
Step → PIDController → Procédé → uPlotDisplay
Figures de Lissajous (Mode XY)
Tracer deux sinusoïdes déphasées en plan de phase :
Sinus 1 (X) ──┐
├── uPlotDisplay (renderMode: "xy")
Sinus 2 (Y) ──┘Remarques & Bonnes Pratiques
- Accélération Matérielle : Rendu optimisé via WebGL/Canvas2D.
- Mode Live vs Mode Temporel : Pour les simulations longues, privilégier le mode temporel (5–10 Hz) afin de préserver la réactivité de l'interface utilisateur.
- Sous-Échantillonnage : Lorsque le nombre de points dépasse
maxPoints, un décimateur dynamique réduit automatiquement la densité pour éviter toute saturation mémoire.
Composants Associés
- NumericDisplay : Afficheur numérique classique pour valeurs ponctuelles
- BodePlot : Visualisation des diagrammes de réponse fréquentielle
- SignalGenerator : Génération de signaux de test périodiques