Scope
SinksDer uPlotDisplay-Block ist ein ultraschneller, interaktiver Signalplotter zur Echtzeit-Visualisierung direkt auf der Arbeitsfläche. Er nutzt die leichtgewichtige uPlot-Rendering-Engine und kann Hunderttausende von Datenpunkten flüssig und ohne spürbare Latenz im Browser darstellen.
Der Block fungiert als Signalsenke (Sink) und akzeptiert mehrere gleichzeitige Signale zum direkten Vergleich in einem gemeinsamen Diagramm.
Mathematisches Modell
Ein- & Ausgänge
| Direction | ID | Label | Typ | Status |
|---|---|---|---|---|
| → In | signal |
Signal | number | Required |
Parameter
| Parameter | Label | Typ | Standardwert | Beschreibung |
|---|---|---|---|---|
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. |
Anwendungsbeispiele
Sprungantwort Visualisieren
Einen Sprungfunktionsgenerator mit einem Regelkreis verbinden und das Einschwingverhalten direkt im Diagramm beobachten:
Step → PIDController → Strecke → uPlotDisplay
Lissajous-Figuren (XY-Modus)
Auftragung zweier phasenverschobener Sinussignale gegeneinander:
Sinus 1 (X) ──┐
├── uPlotDisplay (renderMode: "xy")
Sinus 2 (Y) ──┘Hinweise & Best Practices
- Hardwarebeschleunigung: Schnelle Darstellung mittels Canvas2D/WebGL-Unterstützung.
- Live-Modus vs. Zeitbasiert: Für längere Simulationen wird der zeitbasierte Modus (5–10 Hz) empfohlen, um die Reaktionsfähigkeit der Benutzeroberfläche zu erhalten.
- Downsampling: Bei Überschreitung der maximalen Punktzahl (
maxPoints) wird automatisch eine dynamische Ausdünnung angewendet.
Verwandte Blöcke
- NumericDisplay: Einfache numerische Digitalanzeige für Einzelwerte
- BodePlot: Zur Darstellung von Frequenzgängen im Frequenzbereich
- SignalGenerator: Zum Erzeugen von Testsignalen