Scope
SinksHet uPlotDisplay-blok is een ultrasnelle, interactieve signaalplotter voor real-time visualisatie direct op het canvas. Het maakt gebruik van de lichtgewicht uPlot rendering-engine en kan honderdduizenden datapunten vloeiend en zonder vertraging weergeven in uw browser.
Het blok fungeert als een signaalbestemming (sink) en accepteert meerdere gelijktijdige signalen voor directe vergelijking.
Wiskundig Model
Ingangen & Uitgangen
| Direction | ID | Label | Type | Status |
|---|---|---|---|---|
| → In | signal |
Signal | number | Required |
Parameters
| Parameters | Label | Type | Standaard | Beschrijving |
|---|---|---|---|---|
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. |
Gebruiksvoorbeelden
Sprongrespons Inspecteren
Een stapgenerator verbinden met een regelsysteem en de respons direct op het canvas bekijken:
Step → PIDController → Proces → uPlotDisplay
Lissajous Figuren (XY-Modus)
Twee faseverschoven sinussignalen plotten als fasor op een XY-vlak:
Sinus 1 (X) ──┐
├── uPlotDisplay (Update Mode: XY plot)
Sinus 2 (Y) ──┘Opmerkingen & Best Practices
- Canvas Geoptimaliseerd: Gebruikt WebGL/Canvas2D hardware-versnelling.
- SharedArrayBuffer: Ondersteunt zero-copy geheugenoverdracht vanuit de Rust WASM worker naar de grafiek.
Gerelateerde Componenten
- NumericDisplay: Eenvoudige getalsweergave voor constante waarden
- Scope: Traditionele compacte oscilloscoop
- XYPlot: Gespecialiseerd XY-spreidingsdiagram