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 

ein gemeinsames Abbruchkriterium für 2 while Schleifen



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!

02.01.2007, 11:08
Beitrag #1

chris_kamikaze Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Oct 2006

8
2006
kA


Oesterreich
ein gemeinsames Abbruchkriterium für 2 while Schleifen
Hallo Leute!

Zuerst einmal ein großes Sorry für die nicht wirklich deutliche Überschrift.

Mein Problem ist folgendes: Ich lese mit einer Whileschleife Daten von einem analogen eingangsport mit 100 Hz. Mit einer anderen Whileschleife toggle ich alle 750ms einen digitalen Port zwischen High und Low. Prinzipiell erlaubt LabVIEW ja Multithreading und die zwei Sachen laufen paralell ab und funktionieren. Jetzt möchte ich aber egrne mit einer Stopptaste (Abbruchbedingung für Datenerfassungsschleife) auch die andere Schleife abbrechen. Wie kann ich das machen???

Weiters würde ich auch gerne bei einem Toggle der Whileschleife für den digitalen Port einen Trigger in der Datenerfassungsschleife auslösen können. Das stellt glaube ich dass selbe Problem wie das Stoppen der While Schleife dar. Wäre echt toll wenn mir da wer helfen könnte.

Eine Frage hätte ich noch zu der Datenerfassungsschleife:
Ich lese meine Daten Wert für Wert ein (das heißt ohne Buffer). Das funktioniert eigentlich recht gut bis auf einen Fall. Wenn ich bei der Anzahl der zu erfassenden Scans nicht 0 (für unendliche Datenaufzeichnung) sondern irgendeinen bestimmten Samplewert eingebe (z.B. 100), lest er mir 100 Samples + einen fehlerhaften Sample ein und es erscheint folgende Fehlermeldung:

Fehler -10802 ist bei AI SingleScan aufgetreten
Mögliche Ursachen:

NI-DAQ LV: Die angeforderte Datenmenge wurde bis jetzt noch nicht erfaßt.


Vielen Dank im Vorraus für eure Anregungen
Christian


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.01.2007, 11:15
Beitrag #2

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
ein gemeinsames Abbruchkriterium für 2 while Schleifen
Hallo!

Mal eben auf die Schnelle: Deine Idee mit dem Abbrechen der Schleifen und dem Togglesignal kannst Du z.B. mit sogenannten "Lokalen Variablen" erschlagen:

Auf den Abbrechen-Button --> Rechtsklick --> Erstellen --> Lokale Variable.

Diese kannst Du dann wie die Bedienelemte benutzen. Da gibt es aber auch noch die Möglichkeit mit Shared Variables (seit LV8.0). In diesem Fall sind die aber nicht so Performant.

Gruß!

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.01.2007, 11:22 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2007 11:35 von chris_kamikaze.)
Beitrag #3

chris_kamikaze Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Oct 2006

8
2006
kA


Oesterreich
ein gemeinsames Abbruchkriterium für 2 while Schleifen
' schrieb:Hallo!

Mal eben auf die Schnelle: Deine Idee mit dem Abbrechen der Schleifen und dem Togglesignal kannst Du z.B. mit sogenannten "Lokalen Variablen" erschlagen:

Auf den Abbrechen-Button --> Rechtsklick --> Erstellen --> Lokale Variable.

Diese kannst Du dann wie die Bedienelemte benutzen. Da gibt es aber auch noch die Möglichkeit mit Shared Variables (seit LV8.0). In diesem Fall sind die aber nicht so Performant.

Gruß!

Danke erstmal!

Hab das ausprobiert. LabVIEW lässt mich dann aber nicht die lokale Vraiable mit der Abbruchbedingung in der anderen Schleife verbinden.
Er meint ich verbinde 2 Anschlüsse unterschiedlichen typs???

Ich glaube, dass das erstellen der lokalen Variable auch nicht richtig funktioniert. Bekomme als rgebnis nur eine lokale Variable mit einem Fragezeichen im Kästchen. Aus irgendeinem Grund, kann ich vom boolschen Schalter keine korrekte lokale Variable erstellen?

Lade mal meine Datei mit hoch, vielleicht kannst du es ja dranfügen. Bringe es aus irgendeinem Grund nicht hin.


Angehängte Datei(en)
Sonstige .vi  emg_testreihe5.vi (Größe: 48,72 KB / Downloads: 161)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2007, 09:23
Beitrag #4

chris_kamikaze Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Oct 2006

8
2006
kA


Oesterreich
ein gemeinsames Abbruchkriterium für 2 while Schleifen
Guten Morgen!

Hat von euch vielleicht noch wer eine Idee zu meinem Problem? Bin leider nicht weiter gekommen und aus irgend einem Grund funktioniert das mit den lokalen Variablen bei dem Stop Button nicht. Vielleicht kann es ja jemand ausprobieren, hab bei meinem ommentar das File angehängt!!!

thx

Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2007, 15:11
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
ein gemeinsames Abbruchkriterium für 2 while Schleifen
<div align="left">Hallo, Christian,

kann dein Problem mit der lokalen Variablen nachvollziehen.

Du musst folgendes ändern: Gib dem Stopp-Button erst mal wieder ein Label (und somit einen Variablen-Namen). Dann kannst du auch eine lokale Variable erstellen.
Dann musst du noch die Schalteigenschaft des Buttons ändern, von Latch auch Switch, sonst funktioniert das nicht mit der lokalen Variablen.

MfG, Jens</div>

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2007, 18:44 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2007 18:45 von Lucki.)
Beitrag #6

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
ein gemeinsames Abbruchkriterium für 2 while Schleifen
' schrieb:<div align="left">Dann musst du noch die Schalteigenschaft des Buttons ändern, von Latch auch Switch, sonst funktioniert das nicht mit der lokalen Variablen
</div>Ja richtig, aber dann springt er nicht wieder von selbst heraus, das sollte man also mit einer weiteren lokalen Variablen programmieren. Damit alles ganz wasserdicht ist, soll der Knopf erst dann herausgenommen werden, wenn beide Schleifen beendet sind. Das sieht dann also so aus:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.01.2007, 08:35
Beitrag #7

chris_kamikaze Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Oct 2006

8
2006
kA


Oesterreich
ein gemeinsames Abbruchkriterium für 2 while Schleifen
Vielen Dank für eure Tips! Das mit dem gelichzeitigen beenden funktioniert jetzt einwandfrei!

Aber noch mal kurz zu meiner 2ten Frage am Anfang bezüglich der Fehlermeldung beim Einlesen der Daten. Wenn ich nicht "unendlich" einlese sondern nur eine vordefinierte Anzahl von Samples kommt immer die Fehlermeldung

Fehler -10802 ist bei AI SingleScan aufgetreten
Mögliche Ursachen:

NI-DAQ LV: Die angeforderte Datenmenge wurde bis jetzt noch nicht erfaßt.

Das heißt, wenn ich jetzt 100 Samples einlesen will, liest er 100 + 1 fehlerhaftes -> dann kommt der Fehler! Anscheinend fordert er 101 Samples an, warum verstehe ich allerdings nicht!
Hat da von euch jemand eine Antwort darauf???

mfg
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: