User Tools

Site Tools


module:programming:realtimeplot2d:realtimeplot2d

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

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)

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

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!

















221016

















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

221001

module/programming/realtimeplot2d/realtimeplot2d.txt · Last modified: 2022/11/26 11:23 by omdevelop