COM-Port: error-cluster
Hallo,
Ich versuche gerade, eine Fehlerbehandlung in mein Programm im Teil "Programm-Initialisierung" einzufügen, komme damit aber noch nicht klar.
Grundsätzlich funktioniert die Ansteuerung eines Gerätes am COM-Port (wenn das Gerät angeschlossen ist und der richtige COM-Port vom Anwender ausgewählt wurde). Mir geht es jetzt darum, beim Programmstart (also bevor die eigentliche Mess-Schleife beginnt), abzufangen, wenn der Anwender einen falschen COM-Port auswählt oder wenn er vergesssen hat, das Gerät am COM-Port anzuschließen.
Ich habe das mal getestet und zugrunde gelegt habe ich hier mal das LabView-eigene Beispiel "Simple Serial.vi":
wenn ich den falschen COM-Port auswähle und auch auch wenn das Gerät nicht am COM-Port angeschlossen ist, passiert folgendes (Anzeige was auf dem Draht übertragen wird mit Kontextmenü "Probe" im "Probe Watch Window"):
niemals wird im Fehler-Cluster der Status "TRUE" (= Fehler) ausgegeben (was zu erwarten wäre wenn ein falscher COM-port gewählt wurde oder das Gerät gar nicht angeschlossen ist), er bleibt immer auf "FALSE".
Nach dem VI "VISA Configure Serial Port" und auch noch nach dem VI "VISA Write" wird Fehlercode 0 und als Fehlertext "no error" ausgegeben.
Wie kann das sein?
Erst nach dem VI "VISA Read" wird eine Fehlercode-Nummer ausgegeben, im Fehlertext steht aber nur "Warning" und dann eine Erklärung. Das ist mir unverständlich, denn schließlich kann bei falscher Angabe des COM-Ports bzw. wenn das Gerät gar nicht angeschlossen ist, doch gar nicht kommuniziert werden, was also eindeutig einen Fehler zurückgeben müßte.
Und noch was zur "Optik" (was aber für die Fehlerauswertung im Programm nicht so relevant ist): warum wird beim Fehlercluster im Fehlerfall ein grünes Häkchen ("grün" steht normalerweise ja für "alles ok") angezeigt statt eines Roten Kreuzes (rot = Warnfarbe, also "Achtung: Fehler")?
|