LabVIEWForum.de
2 PicoScopes zeitgleich benutzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Hardware (/Forum-Hardware)
+--- Thema: 2 PicoScopes zeitgleich benutzen (/Thread-2-PicoScopes-zeitgleich-benutzen)



2 PicoScopes zeitgleich benutzen - tobi.rohde - 17.09.2014 13:40

Hey,

ich habe zwei PicoScopes 3425 und möchte diese benutzen, um verschiedene Spannungen auszulesen. Jedoch müssten beide PicoScopes zeitgleich aufnehmen, dass heißt beide Scopes sollen wenn ein bestimmtes Triggersignal kommt gleichzeit aufzeichnen. Ich habe ein VI dazu geschrieben (Anhang), jedoch wird hier erst das eine Scope scharf gestellt und erst wenn dieses ein Signal bekommen hat, wird das andere Scharf gestellt und wartet auf ein weiteres zweites Signal.

Ich hoffe mir kann jemand weiterhelfenBlush.


RE: 2 PicoScopes zeitgleich benutzen - Nordvestlys - 17.09.2014 17:56

Moin,

leider ist das VI nicht gerade übersichtlich. Dein Monitor scheint deutlich größer zu sein als meiner. Dauerndes scrollen ist lästig und die vielen lokalen Variablen und Sequenzen machen die Sache nicht besser. Es ist schlecht zu erkennen, was eigentlich wovon abhängt.
Daher nur ein sehr allgemeiner Tipp: Je nach Hardware und Treiber ist es möglich die komplette Programmierung parallel ablaufen zu lassen, indem Du das ganze Blockdiagramm (oder zumindest die entscheidenden Stellen) für jedes Oszilloskop getrennt implementierst.

Vorher würde ich aber erstmal kräftig aufräumen. Dann erkennt man vielleicht auch den Fehler der die problematische Abhängigkeit erzeugt.


Edit: Oooops - das ist ja bereits alles doppelt - ich hatte zunächst nicht ausreichend gescrollt ..... soviel zum Thema Übersichtlichkeit .... ;-)

Also würde ich jetzt drei Sachen machen:

- aufräumen
- nach Abhängigkeiten im VI suchen
- Doku lesen, ob es Probleme/Tricks beim mehrfachen Aufruf der Treiber/DLLs gibt.


RE: 2 PicoScopes zeitgleich benutzen - GerdW - 17.09.2014 20:14

Hallo tobi,

da kann ich Mario nur zustimmen, wenn dein VI im Navigationsfenster so aussieht:
[attachment=50777]
Die roten Pfeile markieren Objekte, die sich "jwd" befinden…
Und der weiß hinterlegte Bereich kennzeichnet den Ausschnitt, der auf meinem FullHD-Bildschirm gerade zu sehen ist!

Lies dir mal den StyleGuide in der LabVIEW-Hilfe durch!

Jetzt noch ein paar Tipps quasi am lebenden Objekt:
[attachment=50778]
- die innerste Case-Struktur ist unnötig, da hier nur das Ergebnis der boolschen Operation davor der lokalen Variablen zugewiesen wird (in beiden Cases!): eine Case-Struktur weniger, eine lokale Variable weniger…
- wenn du das schon vorhandene Schieberegister auch benutzen würdest, bräuchtest du in der Schleife keinerlei lokale Variablen "Anzahl Prellsprünge 2" mehr!
- die Vergleichsoperationen können vor der Schleife erledigt werden, ebenso die UND-Verknüpfung beider Vergleiche
- alle lokalen Variablen "Prellsprünge 2" gehören ebenfalls durch ein Schieberegister ersetzt!
- es gibt eine "+1"-Funktion!
Sowas kann dann dabei herauskommen:
[attachment=50780]


RE: 2 PicoScopes zeitgleich benutzen - jg - 17.09.2014 21:24

Ich wiederhole jetzt nicht die ganzen Kritikpunkte meiner Vorschreiber (ich stimme ihnen voll und ganz zu)...

Vermutung/Rückfrage: Sollen die beiden parallelen Sequenzen deine beiden Picos steuern und auslesen? Dir ist schon klar, dass du Null komma Null Synchronisation zwischen den beiden (wahrscheinlich einfach kopierten) Teilen hast. Soll heißen, es kann nicht vorhergesagt werden, wann was abgearbeitet wird und wann somit die Picos wirklich scharf geschaltet werden.
Falls dieser Vorgang durch das VI "setup_data_collection.vi" konfiguriert wird, dann könnte das schon der Knackpunkt sein.
Nur so eine Idee: Wenn dieses VI einerseits das Triggersignal konfiguriert, aber auch erst dann beendet wird, wenn ein Signal in den Speicher deines Pico gelegt wurde und dann auch noch "nicht reentrant" ist, dann KANN es so nicht funktionieren, denn: ein "nicht reentrant" VI kann immer nur 1x ausgeführt werden, niemals parallel. Und somit kannst du auch nicht 2x parallel "triggern und warten".

Dann bleibt natürlich auch noch die Frage, ob das die darunterliegende PICO-DLL überhaupt hergibt.

Gruß, Jens


RE: 2 PicoScopes zeitgleich benutzen - tobi.rohde - 18.09.2014 09:19

hey,
tut mir leid wegen dem unübersichtlichen VI. Das war nur aus dem eigentlichen Programm heraus kopiert.
Habe das VI nochmal von Grund auf neu aufgebaut und habe gemerkt, dass das VI "setup_data_collection.vi" von beiden Instanzen gleichzeitig aufgerufen wird, was natürlich nicht geht. Somit habe ich das VI einfach kopiert und umbenannt und es dem zweiten PicoScope zugeordnet und jetzt funktioniert es auch.
Danke Jens du hast mich darauf gebracht, und natürlich auch danke den anderen für eure Mühe Smile

Die Lösung ist im Anhang.


RE: 2 PicoScopes zeitgleich benutzen - jg - 18.09.2014 09:28

Na das sieht doch schon übersichtlicher aus.

(u.a.) Noch 2 Kritikpunkte, s. hier:
[attachment=50784]
1) NIE das Label eines Controls entfernen! Wenn du es im FP nicht brauchst, dann dort unsichtbar machen.
2) Diese Abfrage-Loops ohne While-Loop jagen dir die CPU-Last eines Cores auf 100%. In eines solchen Fall IMMER ein Wait von mind. 1 ms - typischerweise 50 ms einfügen.

Gruß, Jens


RE: 2 PicoScopes zeitgleich benutzen - tobi.rohde - 18.09.2014 09:38

Ok vielen Dank werd ich beachten. Jetzt weis ich auch wieso das Programm noch ziemlich häufig abstürzt.


RE: 2 PicoScopes zeitgleich benutzen - rolfk - 22.09.2014 08:12

(18.09.2014 09:38 )tobi.rohde schrieb:  Ok vielen Dank werd ich beachten. Jetzt weis ich auch wieso das Programm noch ziemlich häufig abstürzt.

Bei einer ungebremsten Loop stürzt LabVIEW normalerweise nicht ab sondern es wird nur SEHR träge und verbrät Dir einen vollen CPU Core mit nichts tun.
Bei geregelten Abstürzen würde ich eher externe DLL Treiber verdächtigen und dann wäre die Pico Library selber der naheliegenste Verdächtige.