Hallo Ksanto,
wenn du mich schon zitierst, dann doch bitte mit korrektem Namen!
Was mir an deinem "misst nicht" so auffällt:
Die FOR-Loop am Anfang:
- Du öffnest
denselben COM-Port zweimal???
- Du packst die File-Referenz in ein Array - zweimal???
- Du packst (über den Schleifen-Iterator) die Werte 0 und 1 in ein Array.
Die While-Loop:
- Du indizierst dein 0/1-Array am Schleifenrand, das ergibt in den ersten beiden Durchläufen gültige Werte.
- Damit indizierst du sowohl die VISA- als auch die File-Referenz und arbeitest damit. Was passiert ab der 3. Iteration???
- Du indizierst ein Array of Timestamps mit 12 Elementen - es werden aber nur die ersten beiden verwendet…
Muss das alles so sein???
Beim "Messuhren.vi" läuft es ähnlich schräg:
- Auch hier hast du exakt zwei COM-Port-Referenzen in einem Array, die erste davon auch noch mit einem "leeren" Wert…
- Auch hier wird wild in diesem Array indiziert, ohne jemals zu prüfen, ob das indizierte Element überhaupt existiert…
- Hier wird ein Timeout-Case mit 1ms Delay aufgerufen: muss das so oft sein? (Vor allem, wenn der Inhalt des Event-Cases mindestens 1 Sekunde zum Abarbeiten benötigt - was lt. LabVIEW-Hilfe nicht empfehlenswert ist!)
- Warum kein eigenes Event für dein Enum? Die Registerkarte muss doch nur umgeschaltet werden, wenn der User am Enum rumspielt!
- Warum ein User-defined Event für den Button CC01? Der ist doch im Blockdiagramm direkt verfügbar!?
- Warum erstellst du Pfade mittels Stringfunktionen? Dafür gibt es BuildPath!
- Warum dieses riesige ConcatString, wenn der Vorgang mit FormatIntoString ("%s - SN %s - PID %s.txt") viel einfacher&übersichtlicher zu erledigen ist?