INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Beispiel für Fehlerbehandlung und Gliederung in SubVIs



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.03.2009, 10:54 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2009 10:52 von TSC.)
Beitrag #1

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
Moin zusammen,

da ich schon mehrmals nach meiner Art, auftretende Fehler zu behandeln gefragt wurde und auch die Diskussion um die Verwendung von SubVIs nie abreißt, habe ich mal ein kleines Beispielprojekt implementiert.

Projektbeschreibung:

Die Aufgabe des Programms ist es, Zufallszahlen in einem Diagramm darzustellen und in einer *.txt Datei abzulegen.

Zunächst wird das SubVI INIT (SubVIS habe ich als Sequenzrahmen dargestellt) ausgeführt. Dabei wird der Pfad ermittelt, unter dem später die TXT Datei angelegt werden soll und die Daten abgespeichert werden. In diesem VI wird auch überprüft, ob der verfügbare Speicherplatz ausreichend ist. Zu wenig Speicherlatz verursacht einen Fehler, zum Testen kann man ja mal einen großen Wert angeben.

Wird die Messung gestartet, betritt man eine WhileSchleife die drei SubVIs enthält.

1. Datenerfassung, es wir ein Zufallswert ermittelt und direkt überprüft. Ist der Wert größer als 0,2, so kann er als sinnvoll betrachtet werden. Andernfalls wird ein Fehler ausgelöst. Dieser Fehler ist allerdings unkritisch.

2. Abspecihern der Daten, der ermittelte Zufallswert wir in eine Datei geschrieben. Dabei kann es natrülich auch fehler geben. Diese Fehler sind kritisch, weil eine Messung ohne Datenspeicherung unsinn is.

3. Fehlerbehandlung für unkritische Fehler, hier werden die Fehler gelöscht, die den Programmablauf nicht stören.

Die WhileSchleife kann entweder durch den StoppButton oder durch einen kritischen Fehler beendet werden.
Nach der Schleife werden die kritischen Fehler behandelt.

Lv86_img
Sonstige .vi  BSP_ErrorHandling.vi (Größe: 23,99 KB / Downloads: 285)

Lv85_img
Sonstige .vi  BSP_ErrorHandling.vi (Größe: 43,26 KB / Downloads: 223)

Und eine passende Grafik für die Leute mit anderen Versionen:
   

Ich freu mich auf eine lebhafte Diskussion!

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 10:47
Beitrag #2

Cruzaderz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 81
Registriert seit: Apr 2008

2010
-
de_en

22846
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
Ich hab' das Programm zwar noch nicht ganz verstanden aber zumindest schon halb...Wink. Leider kann ich noch nicht damit spielen, weil wir LV 8.5.1 haben. Kannst du es nochmal kompatibel abgespeichert uppen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 10:53
Beitrag #3

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:...
Kannst du es nochmal kompatibel abgespeichert uppen?
...
Ja das kann ich! Und ich habs auch schon getan, oben im Beitrag #1!

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 10:57
Beitrag #4

Wulfi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 126
Registriert seit: Jan 2007

2012 DeveloperSuite + MathScript
2006
DE

45xxx
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
Danke für dein Beispiel.
Bin derzeit aucha uf der Suche nach nem schönen Error Handling. Bisher sieht meins eigentlich genau so aus, bin mit aber nicht sicher ob es schöne oder besser ist. Die Error wie in der LV Hilfe mit dem General Error Handler zu erzeugen...
Hat vielleicht noch jemand schöne Idenn zur Fehlercode erzeugung und auswertung?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 11:19
Beitrag #5

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
In meinem aktuellen Projekt verwende ich anstelle der unkritischen Fehler WARNUNGEN. diese erzeugt man indem man einen Fehlererzeugt, dessen Fehlercode ungleich 0 ist, der status allerdings auf FALSE (also okay steht).

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 12:00
Beitrag #6

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:Bin derzeit aucha uf der Suche nach nem schönen Error Handling. Bisher sieht meins eigentlich genau so aus, bin mit aber nicht sicher ob es schöne oder besser ist. Die Error wie in der LV Hilfe mit dem General Error Handler zu erzeugen...
Hat vielleicht noch jemand schöne Idenn zur Fehlercode erzeugung und auswertung?
Was man zusätzlich auch machen kann, unter " Tools - Advanced - Edit Error Codes" die eigenen Fehlermeldetexte verwalten und in mehreren Projekten verwenden.

Weiter finde ich, sollte ausser dem Fehler, auch der Ort (welches Vi, welche Instanz, aufgerufen von) in der Fehelermeldung stehen.
Dies macht das "Build Error Cluster" vom OpenG Packet wunderbar.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 21:39
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:Ich freu mich auf eine lebhafte Diskussion!

Habs mir mal kurz angesehen, und sofort mißfällt mir etwas: Die Sequenzrahmen haben überhaupt keine Funktion, sind überflüssig und werden lediglich als Dekorahmen zur Gliederung der Programmteile mißbraucht.
Die Idee mit den Dekorahmen ist ja nicht schlecht, aber warum dann nicht die dafür zuständigen Elemente verwenden?
Dazu ist allerdings ein kleiner Trick erforderlich: Dekoelemente gibt es ja eigentlich nur in der Elementpalette des FP. Von da aus lassen sie sich aber problemlos in das Blockbild hinüberziehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 22:24
Beitrag #8

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:Habs mir mal kurz angesehen, und sofort mißfällt mir etwas: Die Sequenzrahmen haben überhaupt keine Funktion, sind überflüssig und werden lediglich als Dekorahmen zur Gliederung der Programmteile mißbraucht.
Die Idee mit den Dekorahmen ist ja nicht schlecht, aber warum dann nicht die dafür zuständigen Elemente verwenden?
Dazu ist allerdings ein kleiner Trick erforderlich: Dekoelemente gibt es ja eigentlich nur in der Elementpalette des FP. Von da aus lassen sie sich aber problemlos in das Blockbild hinüberziehen.


Ich habe die sequenzrahmen verwendet, da diese in meinen Programmen sonst keinen verwendungszweck haben. Außerdem kann man an den Rahmen gut sehen, welche Datenströme ein und aus gehen. Ich hätte genausogut irgendwelche grafische dekorationselemente verwenden können. Aber darum geht es hier ja auch nicht.

Trotzdem danke für den Tipp mit dem "Rüberziehen ins BD".

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.03.2009, 10:41
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:Aber darum geht es hier ja auch nicht.
Mein Meinung ist, daß ein Programm als Lehrbeispiel jenseits dessen, was es zu zeigen gilt, auch in der allgemeinen Programmiertechnik einen gewissen Vorbildcharakter haben sollte.
Im realen Leben jedenfalls wäre beispielsweise die Beseitigungen solcher Sachen, daß sich das Programm nach (versehentlicher) wiederholter Betätigung des Startknopfes aufhängt, wichtiger als die ganze Fehlerbehandlung.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.03.2009, 11:12
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Beispiel für Fehlerbehandlung und Gliederung in SubVIs
' schrieb:Mein Meinung ist, daß ein Programm als Lehrbeispiel jenseits dessen, was es zu zeigen gilt, auch in der allgemeinen Programmiertechnik einen gewissen Vorbildcharakter haben sollte.
Auch wenn ich den neuen Experten in seinem Tatendrang wie in seiner Intension voll und ganz verstehe (ich machs ja nicht anders) - so muss ich doch dem alten (und heute ja noch älterem) Experten zustimmen.Guru1

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dataflow Verständnis Beispiel 911tom 9 6.268 28.11.2017 07:54
Letzter Beitrag: GerdW
  Seltsame Fehlerbehandlung in Treiber VI hansi9990 1 2.560 16.01.2016 18:23
Letzter Beitrag: GerdW
  Fehlerbehandlung funktioniert bei (GXML) SubVI nicht hansi9990 2 4.288 29.09.2015 18:50
Letzter Beitrag: hansi9990
  Beispiel: DataPlugin-Manager Plugins weg tobi45f 5 5.109 19.02.2015 14:09
Letzter Beitrag: jg
  Frage zum PWM-Beispiel von der NI-Seite zig 6 5.014 01.07.2014 09:22
Letzter Beitrag: zig
  Komplexes Programm - Fehlerbehandlung Just-Me 4 5.191 24.11.2011 21:08
Letzter Beitrag: unicorn

Gehe zu: