File: /~heha/mb-iwp/LabVIEW/GraphEditByMouse.zip/liesmich.txt

GraphEditByMouse in LabVIEW:
XY-Graf mit Maus editieren.
Beim Loslassen der Maus nebenstehende Wertetabelle aktualisieren.
Funktioniert schon recht gut!!

Über ein Parametrierungs-Array wird festgelegt,
welche Grenzen einzuhalten sind, welche Auflösung vorhanden ist
(etwa um sinnlose Kommastellen zu vermeiden)
und ob Monotonie eingehalten werden muss (hier: bei der Zeitachse).
Bei der Zeitachse wird hier so _strenge_ Monotonie eingehalten
(Mindestdifferenz = Auflösung) sowie der erste Punkt
bei Null fixiert.
Das ist über ein U8-Flag-Member bitkodiert.

Ziel ist die Anwendung an einem Ofen,
wo Analog- und Digitalsignale mit einer überschaubaren Anzahl an
Stützstellen (Zeitpunkten) ein (Heiz-)Verlauf vorgegeben werden soll.
Die Digitalsignale steuern Gasventile, Lüftungsklappen u.ä.
Weitere Analogsignale könnten Digitalausgänge per PWM steuern.
Der Graf soll weitere Kurven beinhalten können (bspw. Ist-Temperaturverläufe),
die nicht angefasst werden (können) sollen.

Verzeichnisse:
0..5 = Entwicklungsstufen für XY-Graf

Mischsignalgraf = Versuch mit Mischsignalgraf
Wegen der vielen Bugs des Mischsignalgrafs lasse ich die Entwicklung daran.

Änderungs-Log:
5 = visuell sinnvoll mit digital aussehenden Grafen (waagerechte Linien),
    Funktion prinzipiell auch mit DigitalGraph und SignalGraph.
    Allerdings kann man beim SignalGraph naturgemäß keine X-Werte verändern.

TODO: Einigermaßen echte Digitalsignale gesondert bearbeiten:
Mausklick auf Gerade toggelt, Punkt wie bisher (Drag X/Y);
Erkennung / Unterscheidung: Min+Delta=Max in der MetaInfo.
Damit können die Digitalsignale an eine (unsichtbare?) rechte Achse gebunden werden.

TODO: Leichtere Anwendbarkeit mit externer Schleife während Drag-Operation.

TODO: Universelle Plot-Lese/Schreibfunktion (ohne Typecast)

TODO: Das Ganze für Win32 sowie JavaScript

heha, 200212
Detected encoding: UTF-80