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 

Gibt es so was wie einen Interrupt?



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!

05.09.2012, 08:33
Beitrag #1

anja210 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Jul 2012

Studentenversion 2011
2012
DE


Deutschland
Gibt es so was wie einen Interrupt?
Hallo zusammen,

gibt es in LabVIEW so etwas wie einen Interrupt?

Ich habe eine kleine Steuerung, die mehrere Geräte ansteuert bzw. ausließt. Je Gerät habe ich ein SubVI. ZB eins für mein Arduino Borad, eins für mein Messdatenerfassungssystem,...

Jetzt möchte ich in einem Fehlerfall eine Funktion einbauen, dass zuerst alle Geräte ausgeschaltet werden und dann das Programm beendet wird. Ein Fehlerfall kann in jedem SubVI auftreten. Ich brauche also irgendetwas, was was auf die Fehlermeldung reagiert und dann auch alle anderen SubVI beendet.

Gibt es so was?

Grüße Anja
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2012, 08:37
Beitrag #2

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Gibt es so was wie einen Interrupt?
(05.09.2012 08:33 )anja210 schrieb:  gibt es in LabVIEW so etwas wie einen Interrupt?

Ja, und das Ganze nennt sich Event bzw. Event Struktur.

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 08:37
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gibt es so was wie einen Interrupt?
Hallo Anja,

les dir mal Infos zu den Schlagworten "Statemachine" und "Producer-Consumer-Pattern" an...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 10:16
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Gibt es so was wie einen Interrupt?
Was Du machen willst ist weiter nichts als eine ordentliche Fehlerbehandlung. Man bricht bei einem Fehler ein Programm nicht einfach ab, sondern schaltet die Gerätes aus, schließt Dateien usw.

Das Prozedere ist: Die Fehler werden an eine zentrale Stelle gemeldet, wo dann entschieden wird, wie weiter im Programm verfahren werden soll. Google auch mal nach QSM ("Queue Driven State Machine"), mit dieser Struktur hat man beste Voraussetzugnen für eine professionelle Fehlerbehandlung.

Die Ereignsistruktur ist primär zum Abfangen von Bedienereignissen vewendet und hier nicht unbedingt das Allheilmittel. Sie ist auch nicht identisch mit einem Interrupt. Wenn z.B. das Bedienereignis eintritt, passiert erst mal weiter nichts, als dass das (per echtem Interrupt) in einer Warteschlange registriert wird. Erst dann, wenn die Ereignsistruktur im ganz normalen Programmablauf aufgerufen wird, wird das Ereignis verarbeitet. Im Forum kommt es bei Anfängern immer wieder zu Missverständnissen, wenn sie glauben, dass das Event ein unmittelbarer Interrupt ist, dass das Programm bei einem Event sofort zur Eventruktur springt und es sofort behandelt.

Das ist vielleicht nicht alles zu verstehen, aber damit wenigstens eine Ahnung aufkommt, wie Fehlerbehandlung funktioniert, hänge ich mal eine Seite aus einem Lehrbuch an.


Angehängte Datei(en)
0.0 .pdf  Fehlerbehandlung.pdf (Größe: 129,75 KB / Downloads: 626)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 10:39
Beitrag #5

anja210 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Jul 2012

Studentenversion 2011
2012
DE


Deutschland
RE: Gibt es so was wie einen Interrupt?
(05.09.2012 10:16 )Lucki schrieb:  Was Du machen willst ist weiter nichts als eine ordentliche Fehlerbehandlung. Man bricht bei einem Fehler ein Programm nicht einfach ab, sondern schaltet die Gerätes aus, schließt Dateien usw.

Das Prozedere ist: Die Fehler werden an eine zentrale Stelle gemeldet, wo dann entschieden wird, wie weiter im Programm verfahren werden soll. Google auch mal nach QSM ("Queue Driven State Machine"), mit dieser Struktur hat man beste Voraussetzugnen für eine professionelle Fehlerbehandlung.

Das klingt nach dem, was ich gesucht habe! Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 11:46
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Gibt es so was wie einen Interrupt?
(05.09.2012 10:16 )Lucki schrieb:  Wenn z.B. das Bedienereignis eintritt, passiert erst mal weiter nichts, als dass das (per echtem Interrupt) in einer Warteschlange registriert wird. Erst dann, wenn die Ereignsistruktur im ganz normalen Programmablauf aufgerufen wird, wird das Ereignis verarbeitet.

Wenn die Ereignisstruktur korrekt benutzt wird, d.h. wenn in einem Eventcase keine "länger dauernden" Codeabschnitte (Schleifen etc.) platziert sind, sondern nur eine kurze Event-Behandlung (z.B. Übergeben eines neuen Zustands für die parallele State Machine), passiert doch sofort was...nämlich eben wie genannt der Wechsel in einen neuen State, z.B. "Fehler Gerät XYZ".

Die Ereignisstruktur sollte nie in einem abhängigen Code-Abschnitt platziert werden, sondern immer "oben drauf" bzw. parallel. Dann klappts auch mit dem Eventhandling...und wenn man da (zusätzlich zu den SW-Tastenbetätigugnen etc.) ein User Event am Strukurrand registriert, kann man wie bei nem echten Interrupt z.B. auch auf externe HW-Signale reagieren!

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2012, 12:10
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
RE: Gibt es so was wie einen Interrupt?
@achim
Gut dass Du das ergänzt: Man kann und sollte das Programm so machen, dass ein Event, nachdem es registriert ist, sofort behandelt wird.
Leider machen das mache Anfänger nicht so, weil sie denken, das Ereignis funktioniert exakt wie ein Interrupt. Sie denken, wenn das Ereignis eintritt, lässt das Programm alles andere stehen und liegen und behandelt automatisch den Code im entprechenden Ereigniscase, und zwar unabhängig davon, wo im Programm sich die Ereignisstruktur befindet.
DerSchwerpunkt meines Postings war, auf diesen Unterschied zum Interupt hinzuweisen.
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
  PID Regler gibt nur die Grenzen des Outputs aus. (An und Aus) ThoMey 9 5.199 18.01.2016 09:44
Letzter Beitrag: GerdW
  First Call? Funktion vs wann gibt mein Case false aus? anne 11 8.741 24.01.2014 08:34
Letzter Beitrag: GerdW
  Funktion Systembefehl ausführen gibt Fehler "Speicher voll" aus. vogster 6 7.489 17.11.2013 16:55
Letzter Beitrag: Lucki
  Ereignis "Wertänderung auf True", gibt es das? DrHoas 13 14.927 07.09.2012 06:49
Letzter Beitrag: DrHoas
  Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus wernerIBN 4 5.099 04.07.2012 14:50
Letzter Beitrag: wernerIBN
  Bilder von 4 Webcams über einen Switch auf einen Laptop "streamen" donkey22 8 7.678 21.05.2012 11:29
Letzter Beitrag: donkey22

Gehe zu: