Hallo Samuel,
Zitat:Dies gilt sowohl für grundlegende Fehler meines Programms
- du nutzt ganz selten die Autoindizierung bei Loops! Wenn man die Elemente eines Arrays haben will, dann schließt man dieses Array über einen autoindizierenden Tunnel an eine FOR-Loop an. Du dagegen nutzt oft IndexArray mit dem Schleifeniterator...
- viel unnötiger Code wie unnötige Sequenzstrukturen (THINK DATAFLOW!); Kopien von identischen Konstanten; Konstanten an Anschlüssen, die eben diesen Wert per Default benutzen...
- ich persönlich finde es nicht "schön", die Historie eines Charts als Datenspeicher zu missbrauchen. Für Min/Max-Berechnung gibt es einfache Lösungen, die sich eines Schieberegisters bedienen...
- warum 12 Controls programmatisch in einen Cluster verdrahten und nicht einfach eben diese Controls schon auf dem FP in einen (typdefinierten!) Cluster packen?
- LabVIEW hat eine Aufräumfunktion, die zieht zumindest die Drähte (einigermaßen) glatt...
- du öffnest Dateien, schließt sie aber nicht...
- statt lokaler Variablen würde ich eher Schieberegister und Drähte verwenden, um Daten von einem State in den nächsten zu transportieren...
- die States einer Statemachine A,B und C zu nennen, ist nicht im Sinne einer guten Code-Dokumentation...
Zitat:mein Problem mit der x-Achse des Charts
Ein Chart ist immer etwas eingeschränkt in seinen Möglichkeiten, wenn man ihn mit der Alternative Graph vergleicht. Der einzige Pluspunkt (?) ist die eingebaute Historie...
Mögliche Lösung:
- bei Start der Messung die Autoskalierung der X-Achse ausschalten und die X-Achse zur Anzeige der ersten 10s formatieren.
Zitat:x-Achse im Chart so zu konfigurieren, dass Sie einfach nur Sekunden darstellt.
Die X-Achse eines Charts zählt einfach die Anzahl der Datenpunkte hoch. Du kannst per Faktor/Offset etwas daran herumspielen, aber eine echte Zeitangabe wirst du dort kaum hinbekommen...