BlockWerk Documentation
📈

Scope

Sinks

Le 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.

Simuler dans BlockWerk

Bac à sable interactif directement dans votre navigateur — aucune installation, moteur WebAssembly.

Simuler dans BlockWerk →

Modèle Mathématique

y(t)=Visualisation de u1(t),u2(t),…,un(t)y(t) = \text{Visualisation de } u_1(t), u_2(t), \dots, u_n(t)

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