module:programming:realtimeplot2d:realtimeplot2d
Table of Contents
RealTimePlot2D
Überblick
- Darstellung von PlotDaten mit MatPlotLib in zwei Dimensionen
- Animate → Callback : OnRefreshPlot mit:
- Skalierung der Achsen (X/YLimitL/H) in Abhängigkeit der zu plottenden Werte
- Refresh der X/Y-Vektor-Kurvenwerte
- Gestaltung der Plot-Attribute : Color, linewidth, …
- Vorbereitung für GCodeInterpreter - CommandViewer / CommandSimulator
ToDo
—
Done
221126
- nur noch AsynchronPlot(Rescale), keine Timer-Updates mehr!!!
- Download : 2211261058_RealTimePlot2D_03V01.zip
221026
- Neuer Versuch (näher an der Problematik von GCodeInterpreter):
- TaskCreate erzeugt in fortlaufender Folge (GCode-)Plotdaten (N GCodes)
- TaskCreate gibt nach jedem GCode Signal an den TaskDisplay, aktuelle GCode-Daten in RealTime darzustellen
- Parameter: DisplayRefreshRate = 10 pps, FormFeed = 100 mm/s
- GCode: Länge der gefahrenen Strecke (Arc/Line)
- TaskDisplay: Simulation der abgefahrenen Strecke S(Arc/Line)
- TaskDisplay: jeder neue GCode triggert TaskDisplay
- Erste Version: keine Simulation der GCode-Fahrstrecke, sondern Zeichnen der gesamten Strecke (SollStrecke)
- Download : 2210261627_RealTimePlot2D_01V33.zip
221026
- Versuch: DualTask mit TripleIndex
- TaskA: direkte Erzeugung von N Plotdaten, Starte TaskB, warte auf vollständige Abarbeitung
- TaskB: Start von TaskA mit N Plotdaten, Variation IndexActual : IndexLow .. IndexHigh
- TaskB: IndexLow : StartIndex aktueller Satz der N Plotdaten
- TaskB: IndexActual : IndexLow $\leq$ IndexActual : Intervall der fertig dargestellte PlotDaten
- TaskB: IndexHigh : IndexActual $\leq$ IndexHigh : Interval der unfertig dargestellten Plotdaten
- OnWMDeleteWindow, OnFrameApplicationDelete
221023
- Erneuerung der Programmstruktur mit den aktuellen Ergebnissen von: Module - Python - FrameHierarchy
- Mit neuer FrameHierarchy volle Geschwindigkeit auch bei DualTask mit einstellbaren Thread-Sleeps
- Download : 2210231952_RealTimePlot2D_01V22_dualtask.zip
221020
- Timing-Fehler tritt auf bei sequentieller Anordnung zweier Tasks: TaskAction und TaskRefresh
- verlangsamt Plot extrem und nicht akzeptierbar
- Grund: eine Thread-Execute-Methode darf KEINE Leerzeilen enthalten - warum auch immer?!
- Timing-Fehler im DualTask-Betrieb lokalisiert und reproduzierbar sicher umgangen:
- Morgen: Test auf Lösung im Plotverzug von GCodeInterpreter!
- Download : 2210202121_RealTimePlot2DTaskTask_01V13.zip
221016
- noch besser: nur noch ein Task: TaskRefreshData in RealTimePlot2DRefreshData
221016
- PlotDataReview :
- View-Refresh der aktuellen Plotdaten (schon vorhanden durch Plot-Automation)
- —-
- PlotDataRefresh :
- Data-Refresh der akutellen Plotdaten (über Task-Class einrichten)
- —-
- RealTimePlotDualTask:
- 1. Task PlotDataReview
- 2. Task PlotDataRefresh
221002
- RealTimePlot mit fortschreitender X-Timeline $\rightarrow$ RTP mit fixierten X/YLimtL/H-Werten:
221001
module/programming/realtimeplot2d/realtimeplot2d.txt · Last modified: 2022/11/26 11:23 by omdevelop