Fall-Unterscheidung, Fehler-Analyse
Правила форума
In unserem Forum ist es möglich Foren zu verbergen. Für jede Sprache gibt es eine Gruppe:
hide XXX forums
Wenn du also ein Forum in einer Sprache nicht sehen möchtest, dann musst du einfach in die richtige Gruppe(n) eintreten. Das kannst du in den Profileinstellungen machen.
In unserem Forum ist es möglich Foren zu verbergen. Für jede Sprache gibt es eine Gruppe:
hide XXX forums
Wenn du also ein Forum in einer Sprache nicht sehen möchtest, dann musst du einfach in die richtige Gruppe(n) eintreten. Das kannst du in den Profileinstellungen machen.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Fall-Unterscheidung, Fehler-Analyse
Hallo zusammen,
bei einem Messgerät, steht ein Ausgabewert in HEX für einen "OK-Zustand".
Das VI kann bis jetzt den Wert anzuzeigen, zu überprüfen ob es dem HEX-Wert (07=ok) entspricht, und entsprechend einen TRUE bzw. eine Dec. "1" auszugeben.
Mein Wunsch ist es, einen bestimmten Text auszugeben für die Fälle True & False. Ich dachte mir, eine Case-Struktur könnte mir dabei helfen. Bin ich auf dem richtigen Weg?
bei einem Messgerät, steht ein Ausgabewert in HEX für einen "OK-Zustand".
Das VI kann bis jetzt den Wert anzuzeigen, zu überprüfen ob es dem HEX-Wert (07=ok) entspricht, und entsprechend einen TRUE bzw. eine Dec. "1" auszugeben.
Mein Wunsch ist es, einen bestimmten Text auszugeben für die Fälle True & False. Ich dachte mir, eine Case-Struktur könnte mir dabei helfen. Bin ich auf dem richtigen Weg?
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Fall-Unterscheidung
Ja, den String-Indikator ausserhalb der Case-Struktur und aus der Case-Struktur eine String-Konstante ausgeben.
Kannst auch Select VI statt der Case-Struktur benutzen.
Kannst auch Select VI statt der Case-Struktur benutzen.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung
Meinst du so?eg писал(а):Ja, den String-Indikator ausserhalb der Case-Struktur und aus der Case-Struktur eine String-Konstante ausgeben.
Muss ich eigentlich für die zwei Fälle jeweils einen Indikator setzen?
- Вложения
-
- ok2.PNG (4.65 КБ) 10567 просмотров
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Du kannst eine Anzeige benutzen. Aber ja, ich habe es so gemeint, wie du es gemacht hast. Jetzt fehlt dir noch eine Konstante im True Case.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
hat geklappt! Danke eg.eg писал(а):Du kannst eine Anzeige benutzen. Aber ja, ich habe es so gemeint, wie du es gemacht hast. Jetzt fehlt dir noch eine Konstante im True Case.
أهلا و سهلا بالمستخدمين العرب
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Hallo zusammen,
Bei einem von Topic-unabhängigen Fall, möchte ich die VISA-Fehler beim Abfragen von einem seriellen Gerät untersuchen und ggf. die Fehlermeldung per Email verschicken. Ich habe folgendes geschafft:
Aus dem Error_Out habe ich die Fehler-Ausgabe angezeigt, und als VI-Anschluss definiert. Sollte alles beim Abfragen funktionieren, wird aus dem SubVI folgender Text angezeigt: Mein Ziel ist es, In dem HauptVI die Error-Message, zu überprüfen und bei einem Fehler, sie an einem Email_SubVI weiterzuleiten. Dazu folgende Programmierung (Kein Fehler=11 Zeichen). Das Problem, das ich gerade habe ist es, dass ich in dem HauptVI weitere acht VISA-SubVIs habe (in einer Sequence), und ich möchte die Fehlermeldungen aller überprüfen. Soll ich für jeden Error-Anschluss so eine Überprüfung programmieren, oder gibt es eine ganze andere bzw. elegantere Methode?
Grüße
learny
Bei einem von Topic-unabhängigen Fall, möchte ich die VISA-Fehler beim Abfragen von einem seriellen Gerät untersuchen und ggf. die Fehlermeldung per Email verschicken. Ich habe folgendes geschafft:
Aus dem Error_Out habe ich die Fehler-Ausgabe angezeigt, und als VI-Anschluss definiert. Sollte alles beim Abfragen funktionieren, wird aus dem SubVI folgender Text angezeigt: Mein Ziel ist es, In dem HauptVI die Error-Message, zu überprüfen und bei einem Fehler, sie an einem Email_SubVI weiterzuleiten. Dazu folgende Programmierung (Kein Fehler=11 Zeichen). Das Problem, das ich gerade habe ist es, dass ich in dem HauptVI weitere acht VISA-SubVIs habe (in einer Sequence), und ich möchte die Fehlermeldungen aller überprüfen. Soll ich für jeden Error-Anschluss so eine Überprüfung programmieren, oder gibt es eine ganze andere bzw. elegantere Methode?
Grüße
learny
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Wenn du den Fehler-Cluster vom SubVI zum SubVI weitergeführt hast, dann musst du dir keine Sorge machen. Wenn der Fehler beim ersten SubVI passiert, werden die weiteren nicht ausgeführt und die Fehlermeldung kommt weiter. Also nur beim letzten auf den Fehler überprüfen.
Was wird eigentlich passieren, wenn die Fehlermeldung ganz zufällig auch 11 Zeichen enthält? So macht man das nicht.
Was wird eigentlich passieren, wenn die Fehlermeldung ganz zufällig auch 11 Zeichen enthält? So macht man das nicht.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Kann ich auch vom SubVI zu SubVI ein Draht weiterführen, wenn die SubVIs sich in einer Stacked Case-Sequence befinden? (Fehler beim Verbinden durch die stacks: Datenrichtung kann nicht festgestellt werden)eg писал(а):Wenn du den Fehler-Cluster vom SubVI zum SubVI weitergeführt hast, dann musst du dir keine Sorge machen. Wenn der Fehler beim ersten SubVI passiert, werden die weiteren nicht ausgeführt und die Fehlermeldung kommt weiter. Also nur beim letzten auf den Fehler überprüfen.
Was wird eigentlich passieren, wenn die Fehlermeldung ganz zufällig auch 11 Zeichen enthält? So macht man das nicht.
Ich habe durch Ersetzen der Stacked-Sequence durch flat Sequence versucht: Sieht sehr unübersichtlich aus!
Wenn die Meldung auch 11 Zeichen enthält dann wird leider keine Email geschickt (beta-Verhalten ).
Wie könnte ich einen allg. Fehler-Existenz feststellen? Hättest Du einen Tip für mich? (Match Pattern?)
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
In wirklichkeit brauchst du weder Stacked noch Flat Sequence, mach alle deine "States" in sub VIs und rufe diese nacheinander auf -> Übersicht pur.
Ob Fehler da ist oder nicht sagt dir ein Flag, was aus dem Error-Cluster rauskommt.
Ob Fehler da ist oder nicht sagt dir ein Flag, was aus dem Error-Cluster rauskommt.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
ich habe momentan eine Stacked-Sequence, und in jederm Sequence habe ich einen einzigen SubVI wie im folgenden Bild (12 mal).eg писал(а):In wirklichkeit brauchst du weder Stacked noch Flat Sequence, mach alle deine "States" in sub VIs und rufe diese nacheinander auf -> Übersicht pur.
Ob Fehler da ist oder nicht sagt dir ein Flag, was aus dem Error-Cluster rauskommt.
Was meintest Du mit "States"?
أهلا و سهلا بالمستخدمين العرب
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Aus meinem LV-Buch:
Danke und Gruß
(lokale Sequenz-Variable).. Ich werde damit mal rumprobieren.To pass data from one frame to any subsequent frame of a Stacked Sequence structure, use a sequence local terminal, shown as follows.
Danke und Gruß
- Вложения
-
- case2.PNG (2.94 КБ) 10481 просмотр
أهلا و سهلا بالمستخدمين العرب
-
- developer
- Сообщения: 265
- Зарегистрирован: 14 окт 2008, 00:09
- Награды: 1
- Версия LabVIEW: 8.x, 20x
Re: Fall-Unterscheidung, Fehler-Analyse
Ja, und durch die Datenflusssequenzierung durch Errorcluster erübrigt sich dann deine Sequenzstruktur! Und es wird wieder übersichtlich!
Und mit States meint Eugen sicher deine SubVIs in den jeweiligen Sequenzrahmen.
Gruß, Jens
Und mit States meint Eugen sicher deine SubVIs in den jeweiligen Sequenzrahmen.
Gruß, Jens
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Die Errorsequenzierung geht über die lokalen Variablen der Sequenzstruktur. Wenn ich auf die Sequenzstruktur verzichte, muss ich alle zwölf SubVIs auf einer Arbeitsoberfläche platzieren, und somit wieder unübersichtlich. Verstehe ich die Sache richtig, oder liege ich wieder mal total daneben?jg69 писал(а):Ja, und durch die Datenflusssequenzierung durch Errorcluster erübrigt sich dann deine Sequenzstruktur! Und es wird wieder übersichtlich!
Gruß, Jens
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Eigentlich stimmt es, aber es gibt viele andere Lösungen um BD-Platz zu sparen. Das einfachste ist alle 12 SubVIs in ein SubVI legen und die Daten komplett von allen zwölf in einem gemeinsamen Cluster ausgeben.
Andere Lösung wäre eine State-Machine, noch eine andere - parallele Schleifen oder noch eine - Funktionales Globales VI.
Andere Lösung wäre eine State-Machine, noch eine andere - parallele Schleifen oder noch eine - Funktionales Globales VI.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Fall-Unterscheidung, Fehler-Analyse
Danke eg für die hilfreichen Tips.
Ich habe schon die lokalen Case-Variablen eingesetzt. Sollte es funktionieren, lasse ich`s dabei..
Ansonsten ist deine Empfehlung mit dem alle 12 SubVIs in ein SubVI legen der Tip, den ich als nächstes einsetzen werde sobald ich die Funktionalität des ganzen sichergestellt habe.
Es sieht folgendemaßen aus: Für den Error-OK-Dialogbox musste ich den Dialogtyp auf "kein Dialog" setzen. Dies muss ich natürlich für alle SubVIs machen (sonst 12x OK-Drücken bevor die Fehlermeldung im Cluster erscheint). Die Einstellung muss ich für alle SubVIs machen bevor ich einen Testlauf starten kann.
Was ich nur bemerkt habe ist folgendes: Sobald ich den Dialogtyp einstelle, bekomme ich die berühmte Warnung (VISA: (Hex 0x3FFF0006) Es wurden weniger Bytes übertragen als angefordert. Möglicherweise sind noch weitere Daten verfügbar.). Ohne die Konstante kommt die Warnung nicht (kein Fehler)
(Nur zur Info, und falls euch eine Lösung dazu einfällt, wäre es natürlich noch schöner, ohne jegliche Meldung im Cluster weiterzuarbeiten..)
Ich habe schon die lokalen Case-Variablen eingesetzt. Sollte es funktionieren, lasse ich`s dabei..
Ansonsten ist deine Empfehlung mit dem alle 12 SubVIs in ein SubVI legen der Tip, den ich als nächstes einsetzen werde sobald ich die Funktionalität des ganzen sichergestellt habe.
Es sieht folgendemaßen aus: Für den Error-OK-Dialogbox musste ich den Dialogtyp auf "kein Dialog" setzen. Dies muss ich natürlich für alle SubVIs machen (sonst 12x OK-Drücken bevor die Fehlermeldung im Cluster erscheint). Die Einstellung muss ich für alle SubVIs machen bevor ich einen Testlauf starten kann.
Was ich nur bemerkt habe ist folgendes: Sobald ich den Dialogtyp einstelle, bekomme ich die berühmte Warnung (VISA: (Hex 0x3FFF0006) Es wurden weniger Bytes übertragen als angefordert. Möglicherweise sind noch weitere Daten verfügbar.). Ohne die Konstante kommt die Warnung nicht (kein Fehler)
(Nur zur Info, und falls euch eine Lösung dazu einfällt, wäre es natürlich noch schöner, ohne jegliche Meldung im Cluster weiterzuarbeiten..)
أهلا و سهلا بالمستخدمين العرب