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 

Task Out verbinden ?



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.03.2009, 09:41
Beitrag #11

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Task Out verbinden ?
' schrieb:Das schreit doch nach einer State Machine. Wartestatus, der die digitalen Eingänge abfragt und regelmäßig mit niedriger Rate sampled, beim Ändern der entsprechenden Eingänge wird der Case aufgerufen, der mit hoher Rate 30 Sekunden lang aufzeichnet... Danach Datei speichern oder Userabfrage, ob er das will etc.

Hi genau die Idee hatte ich auch schon. Vielleicht sollte ich dazu nochmal etwas genauer auf das Problem eingehen. Ich habe meine Angabe für die "rate" ja außerhalb der Schleife, damit ich mich beim Messen nicht mit den Initialisieren der Hardware aufhalten muss. Sprich ich nehme immer mit 10 KHz auf. Das Format ist dann ein Array aus Waveforms. Wenn ich jetzt für eine "number of sample per channel" von 1000 nur 10 Werte speichern will kann ich ja nicht einach das Array der Waveform reduzieren, da ich damit ja meine Kanäle reduzueren würde. Ich müsste also erst mein Array aufspalten aud die Arrays der Y-Werte der einzelnen Kanäle und diese dann reduzieren. Ich habe so etwas ähnliches schon für die Kalibrierung gemacht. Aber wirklich shcön ist das nicht. Genauer gefragt : Wie macht man sowas in proffesionell und schnell... Ich habe zur Verdeutlichung mal ein bild meiner Kalibrieirung angehängt.

Gruß Lex


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.03.2009, 10:52 (Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2009 10:52 von rolfk.)
Beitrag #12

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Task Out verbinden ?
' schrieb:Hi genau die Idee hatte ich auch schon. Vielleicht sollte ich dazu nochmal etwas genauer auf das Problem eingehen. Ich habe meine Angabe für die "rate" ja außerhalb der Schleife, damit ich mich beim Messen nicht mit den Initialisieren der Hardware aufhalten muss. Sprich ich nehme immer mit 10 KHz auf. Das Format ist dann ein Array aus Waveforms. Wenn ich jetzt für eine "number of sample per channel" von 1000 nur 10 Werte speichern will kann ich ja nicht einach das Array der Waveform reduzieren, da ich damit ja meine Kanäle reduzueren würde. Ich müsste also erst mein Array aufspalten aud die Arrays der Y-Werte der einzelnen Kanäle und diese dann reduzieren. Ich habe so etwas ähnliches schon für die Kalibrierung gemacht. Aber wirklich shcön ist das nicht. Genauer gefragt : Wie macht man sowas in proffesionell und schnell... Ich habe zur Verdeutlichung mal ein bild meiner Kalibrieirung angehängt.

Gruß Lex

Das Diagram sieht ja schrecklich aus. Wenn Du denn schon sowas machen musst dann doch bitte einfach in einer Case Struktur innerhalb einer For Schleife. Den Case Selector an den Index der For Loop anschliessen und dann kannst Du auch einigermassen vernünftig die entsprechende Skalierung in die richtigen Cases machen, ohne eine Spagetthiorgie zu veranstalten. Das ist ja sonst nicht zum unterhalten wenn da mal ein Kanal hinzukommt, verschiebt oder wegfällt.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.03.2009, 11:26
Beitrag #13

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Task Out verbinden ?
Gute Idee!
Du meintest sowas... ?

Gruß Lex


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

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Task Out verbinden ?
' schrieb:Gute Idee!
Du meintest sowas... ?

Gruß Lex

Das sieht deutlich lesbarer aus.

"Ü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
02.03.2009, 11:46
Beitrag #15

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


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Task Out verbinden ?
Die "28" kannst du dir schenken...

"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
02.03.2009, 12:02 (Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2009 12:03 von rolfk.)
Beitrag #16

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Task Out verbinden ?
' schrieb:Gute Idee!
Du meintest sowas... ?

Gruß Lex

Das sieht schon viel besser aus. Wie Achim geschrieben hat die Konstanate 28 ist unnötig oder eventuel gar störend. LabVIEW macht bei Arrays an Loop Bounderies Autoindexing und bei For Loops bestimmt ein Autoindexing Array als Eingang auch die maximale Anzahl der Iterationen der Loop. Bei mehrerenen Arrays und/oder einem verbundenen N Terminal nimmt LabVIEW den kleinsten aller Werte davon als effektive Anzahl Iterationen.

Selber würde ich auch den Increment by 1 des Indexes weglassen und natürlich hast Du einen Default Case wo alle Kanäle durchgehen, die nicht skaliert werden müssen?

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.03.2009, 15:15 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2009 15:15 von Lex.)
Beitrag #17

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Task Out verbinden ?
Hi,

danke erstmal für Eure Antworten. Ich konnte dadurch viel verbessern und lernen.

Jetzt bin ich auf ein weiteres Problem gestoßen. Um Speicherplatz in weniger brisanten Messphasen zu sparen habe ich folgendes SubVi erstellt. Funktioniert auch so ganz gut. Das was mich stört, ist dass, wenn ich die Datei später in eine Text umschreibe füllt er die gelöschten Zeilen mit Leerzeilen auf. Zum Verständniss auch nochmal das Umschrieben der Datei.

Vielen Dank schonmal.
Gruß Axel

PS: Keine Angst das ExpressVI habe ich nur eingebaut um das Ergebniss der Forschleifen zu kontrollieren.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2009, 11:36 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2009 11:37 von Lex.)
Beitrag #18

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Task Out verbinden ?
Hallo,

ich bin auf eine weitere Frage gestoßen bei der ich gerne Eure Meinung einholen würde.
Ich habe mal alle nötigen VIs angehängt. Bisher kann ich alle analogen und digitalen Kanäle auslesen, als binary speichern und nach beenden der Messung umschreiben. Folgendes muss ich jetzt noch einbauen, aber ich weiß nicht wie ich das am besten mache.

Das VI soll kontinuierlich laufen und Messdaten aufzeichnen. Dann Drücke ich irgendwann den Trigger. Wenn der Trigger gedrückt worden ist, sollen nach einer vorgegebenen Sequenz mehrere Dinge passieren. Dazu habe ich das Bild mal angehängt welches dieses beschreibt.

- Der Ausgangswert des AO soll für eine gegebene Zeit verändert werden.
- Nach einer gegebenen zeit sollen zwei Kameras getriggert werden. Ledes Bild soll einzeln gestarten werden da unsere Kameras mit unterscheidlicher Rate laufen würden wenn wir nur einen Starttrigger verwenen wurden.
- Ein Laser soll für eine gewisse Zeit eingeschaltet werden.

Ich habe überlegt einen Case zu verwenden. Aber wenn ich den Case in meine "Hauptschleife" einbaue und dann eine Sequenz oder ähnliches verwende, würde die "Hauptschleife" ja so lange warten. Aber ich möchte, dass die "Hauptschleife" davon umberührt bleibt, welche Ausgabewerte ich für wie lange ausgebe.

Vielleicht kann man ja zwei parallele Schleifen nehmen. Aber was dafür die beste Lösung ist, weiß ich nicht. Über Ratschläge würde ich mich freuen...

Viele Gruß
Axel

Lv86_img


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  Kalibrierung_neu.vi (Größe: 131,2 KB / Downloads: 115)

Sonstige .vi  format.vi (Größe: 418,03 KB / Downloads: 119)

Sonstige .vi  Daten_reduzieren.vi (Größe: 14,31 KB / Downloads: 127)

Sonstige .vi  Datei_ausgabe_neu.vi (Größe: 17,81 KB / Downloads: 107)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Simulierte Ausgangskarte mit simulierter Eingangskarte verbinden Timo86 5 4.396 16.08.2013 10:05
Letzter Beitrag: Y-P
  Create 2 Task, Fehler nach Start Task Martin Heller 1 4.537 09.09.2011 14:26
Letzter Beitrag: illuminus
  Digital Output mit Boolean verbinden Sprosse 14 12.061 23.02.2010 10:41
Letzter Beitrag: BsaiboT

Gehe zu: