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 

Abbruchbedingung while-Schleife führt zu Fehler



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!

06.02.2015, 08:58
Beitrag #51

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Wenn Du das (ausgefüllte) Tabellenüberschrifts-Feld markierst, kannst Du im Menü "Edit" auswählen, dass diese Werte ab sofort die Standardvorgabe sind.
Ersatzweise kannst Du das Feld statt als Bedienelement auch als Konstante im Blockdiagramm verwenden. Dazu im einfachsten Fall Rechtsklick auf das Icon im BD und in eine Konstante umwandeln.

Wenn Du Titel und Zahlen in einem Array haben willst, müsstest Du die Zahlen erst in Strings umwandeln. Dann hast Du ein reines String-Array. "Gemischte" Arrays sind nicht möglich.

Hth.

Übrigens würde ich den automatisch generierten DAQ-Code noch wie folgt ändern:
- alles was vor der "neuen" Schleife ist, vor die eigene
- alles was hinter der neuen Schleife ist, hinter die eigene
- die neue Schleife kann dann aufgelöst werden.
- das erste Sub-VI ("Unbenannt 5") kannst Du auch öffnen und (wenn Du magst) den Blockdiagramminhalt direkt in Dein eigenes BD kopieren. Dann lassen sich mMn die verschiedenen/nötigen DAQ-Schritte besser verstehen.

Vorteil ist, dass während der Schleife nur noch ausgelesen wird (kein Start/Stop mehr). Das ist entsprechend schneller. Nachteil ist, dass Änderungen z.B. an der Samplingrate nicht mehr zur Laufzeit sondern nur nach Neustart funktionieren.
(Das lässt sich "später" umgehen, indem Du bei Wertänderungen (Ereignisstruktur) die Erfassung anhältst, die neuen Werte übergibst und wieder weiter laufen lässt.)

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.02.2015, 09:01 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2015 09:04 von GerdW.)
Beitrag #52

GerdW Offline
______________
LVF-Team

Beiträge: 17.457
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,

Zitat:Kann ich die Tabellenüberschrift als Konstante einfügen? Es ist irgendwie ziemlich lästig, die Überschrift jedes Mal einzugeben. Das Problem ist hier, dass die Quelle dann ein String und die Senke ein Array ist und ich kenne keine Funktion, die das so umwandelt dass es funktioniert.
- Dein VI enthält das Control "Tabellenüberschrift Datei Messspannung" - und das ist ein Array of Strings. Wo ist hier ein einzelner String?
- Du kannst dieses Control in eine Konstante umwandeln: ein einfacher Rechtsklick…
- Du kannst Werte in dieses Control eintippen und dauerhaft darin speichern: ein einfacher Rechtsklick…
- Was heißt, du kennst keine Funktion, um einen skalaren Wert in ein Array einzubauen? Du nutzt doch schon BuildArray!? Wall

Zitat:bei dem DAQmx-Lesen habe ich als Eingang "Task" bzw. "Kanäle" - es sind virtuelle Kanäle, ich hab aber doch physikalische?
Es fehlt leider ein subVI "Unbenannt 5" (sehr kreativer VI-Name übrigens…)!

- Du definierst einen Task mit einem oder mehreren Kanälen. Diese Kanäle wiederum können echte/reale Kanäle sein - oder eben virtuelle, die intern auf der DAQ-Karte vorhanden sind (Counter, die diversen PFIs, usw.). Stör dich nicht am Ausdruck "virtuell"…
- Du hast jetzt schon schön die DAQmx-Funktionen im VI. Dummerweise leider verkehrt platziert: was soll die innere Schleife? Warum legst du den Task dauernd an und löscht ihn sofort wieder? Der Erstellen und Löschen kostet Zeit - in einer Größenordnung, dass du hinterher 69s statt 60s benötigst, um deine Messwerte zu erfassen…

Merke:
- Initialisierung und De-Initialisierung macht man (so gut wie) immer außerhalb der Messschleife. Dies gilt für DAQmx, aber ebenso für VISA, Dateioperationen, Queues, Notifier, was auch immer…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 09:37
Beitrag #53

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Oh je das ging mir jetzt gerade alles ein bisschen schnell, ich muss da nochmal einhaken.
Das mit der Konstante hat funktioniert, dankeschön.

Ich habe alles, was vor der neuen Schleife war, vor meine eigene gesetzt und auch die Sachen dahinter, ich hoffe das stimmt so? Den doppelten Stopp-Taster habe ich im selben Zug entfernt.

Wovon sprecht ihr aber beide mit dem SubVI? Ich weiß, was ein SubVI ist, aber mir war irgendwie nicht bewusst, dass ich eines erstellt habe - woher kam das denn? Woher seht ihr, dass ich eines habe? (Ich hab gerade wieder Tomaten auf den Augen, habt bitte Nachsicht). Wie soll ich das öffnen? Blink


Angehängte Datei(en)
13.0 .vi  Gerd2.0.vi (Größe: 32,96 KB / Downloads: 111)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 09:46
Beitrag #54

GerdW Offline
______________
LVF-Team

Beiträge: 17.457
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,

vor deinem DAQmxStart befindet sich ein subVI namens "unbenannt 5" - wahrscheinlich wurde dies aus dem DAQAssi konvertiert…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 09:47 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2015 09:48 von jg.)
Beitrag #55

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
(06.02.2015 09:37 )toxicomanie schrieb:  Wovon sprecht ihr aber beide mit dem SubVI? Ich weiß, was ein SubVI ist, aber mir war irgendwie nicht bewusst, dass ich eines erstellt habe - woher kam das denn? Woher seht ihr, dass ich eines habe? (Ich hab gerade wieder Tomaten auf den Augen, habt bitte Nachsicht). Wie soll ich das öffnen? Blink
Hast du den DAQ-Assi, wie empfohlen, per Rechtsklick in DAQmx Code gewandelt? Wenn ja, dabei wird der gesamte Konfigurations-Anteil des Task in ein SUB-VI gepackt - inkl. automatischer Namensbenennung wie z.B Unbenannt5.vi.

Es handelt sich in deinem Fall um das VI vor dem DAQmx Start.vi in deinem Blockdiagramm.

Gruß, Jens

EDIT: 2 Leute, 1 Meinung. Smile

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
06.02.2015, 09:53 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2015 09:54 von Nordvestlys.)
Beitrag #56

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
3 Leute, 1 Meinung....

:-)

....und nicht vergessen: Vom DAQmx-read in der Schleife zum DAQmx-clear hinter der Schleife fehlt noch eine Leitung...

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.02.2015, 10:17
Beitrag #57

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
(06.02.2015 09:53 )Nordvestlys schrieb:  3 Leute, 1 Meinung....

:-)

....und nicht vergessen: Vom DAQmx-read in der Schleife zum DAQmx-clear hinter der Schleife fehlt noch eine Leitung...

Die hab ich schon gesehen, danke Wink peinlich peinlich....

Tja die Aufgabe wird nicht leichter, gerade war mein Chef da und meinte, es sollten statt 10 Kanälen jetzt 60 werden. Hurra. Die Dschungelprüfung ist noch nicht vorbei, also frisch ans Werk.
Okay, das SubVi beinhaltet also alle meine Einstellungen, dich ich vor dem Wandeln in Code konfiguriert habe ja? Aber irgendwie hat es keine Eingänge, die ich sinnvoll belegen könnte. Mir fehlt zum Beispiel mein Bedienelement mit dem ich die Sample-Rate einstellen konnte!

Nächste Frage, evtl. etwas OffTopic: Dadurch dass ich jetzt 60 Kanäle verwenden muss, die ich ja nicht auf einer einzigen DAQ-Karte habe, brauche ich eine zweite DAQ-Karte. Funktioniert das an einem Laptop oder brauch ich dafür zwei?


Angehängte Datei(en)
13.0 .vi  Gerd2.0.vi (Größe: 40,51 KB / Downloads: 104)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 10:24 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2015 10:25 von GerdW.)
Beitrag #58

GerdW Offline
______________
LVF-Team

Beiträge: 17.457
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,

Zitat:Okay, das SubVi beinhaltet also alle meine Einstellungen, dich ich vor dem Wandeln in Code konfiguriert habe ja? Aber irgendwie hat es keine Eingänge, die ich sinnvoll belegen könnte. Mir fehlt zum Beispiel mein Bedienelement mit dem ich die Sample-Rate einstellen konnte!
Leider hast du das subVI immer noch nicht hier angehangen…

Wie man Ein-/Ausgänge an einem subVI erstellt, gehört zu den Grundlagen in LabVIEW. Du hast die Links in meiner Signatur beachtet?

Zitat:brauche ich eine zweite DAQ-Karte. Funktioniert das an einem Laptop oder brauch ich dafür zwei?
Das funktioniert natürlich mit einem Laptop! Wahrscheinlich darfst du dann aber einen zweiten DAQ-Task erstellen…

Wieviele Laptops ich inzwischen hätte, wenn es diese Beschränkung "ein USB-Gerät, ein Laptop" gäbe! Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 10:31
Beitrag #59

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Pardon, bin gerade so verwirrt!
Hier kommt also das SubVI (mittlerweile mit neuem Namen). Ich weiß auch wie man die Eingänge da dran macht aber welchen denn, da steht ja nur was mit Fehler? o.O


Angehängte Datei(en)
13.0 .vi  KonfigurationSubVI.vi (Größe: 27,53 KB / Downloads: 107)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2015, 10:35
Beitrag #60

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
(06.02.2015 10:17 )toxicomanie schrieb:  [...] das SubVi beinhaltet also alle meine Einstellungen, dich ich vor dem Wandeln in Code konfiguriert habe ja? Aber irgendwie hat es keine Eingänge, die ich sinnvoll belegen könnte. Mir fehlt zum Beispiel mein Bedienelement mit dem ich die Sample-Rate einstellen konnte!

Nordvestlys schrieb:- das erste Sub-VI ("Unbenannt 5") kannst Du auch öffnen und (wenn Du magst) den Blockdiagramminhalt direkt in Dein eigenes BD kopieren. Dann lassen sich mMn die verschiedenen/nötigen DAQ-Schritte besser verstehen.

toxicomanie schrieb:  Dadurch dass ich jetzt 60 Kanäle verwenden muss, die ich ja nicht auf einer einzigen DAQ-Karte habe, brauche ich eine zweite DAQ-Karte. Funktioniert das an einem Laptop oder brauch ich dafür zwei?
Klingt, als ob Du mit Deinem Chef erstmal einen Wunschzettel (aka Lastenheft) verfassen solltest, welche Signale mit welchen Eigenschaften (Signalart, Samplerate, Möglichkeit etwas zusammenzufassen oder zu multiplexen, ...) im Endausbau erfasst werden sollen. Dazu gehört dann auch die Frage, was mit diesen Daten später gemacht werden soll.
Dann kann man überlegen, wie man das umsetzt, was es kostet und ob neben DAQ-Hardware auch ein anderer Rechner benötigt wird.

Vor allem kannst Du dann "hinterher" sagen, dass diese Forderung aber so im Lastenheft stand....

bis denne,
* mario *
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
Question Schalter deaktivieren führt zu race condition, wie umgeht man das? TpunktN 4 3.372 12.05.2021 09:18
Letzter Beitrag: TpunktN
  Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption spacz 8 6.359 28.10.2019 09:01
Letzter Beitrag: spacz
  Case-Struktur führt True und False aus (Ereignisschleife) HIMI 11 8.832 24.08.2017 13:04
Letzter Beitrag: HIMI
  Messwertüberprüfung - mit Abbruchbedingung Marbec 10 6.915 26.11.2015 10:32
Letzter Beitrag: Marbec
  Abbruchbedingung While Schleife KingLui 6 5.957 07.11.2014 13:25
Letzter Beitrag: jg
  Abbruchbedingung meiner While Schleife LabVI 9 7.046 19.09.2014 15:20
Letzter Beitrag: LabVI

Gehe zu: