NI6501 zu langsam - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: NI6501 zu langsam (/Thread-NI6501-zu-langsam) |
NI6501 zu langsam - StefanS - 17.11.2009 12:20 Hallo, nachdem ich ein Programm zur Datenerfassung und Auswertung nun auf ein ordentliches Niveau gebracht habe (und es tatsächlich auch sauber läuft ...) bin ich noch dabei ein paar Sachen zu verbessern. Mit einer NI-6501 schalte ich diverse Relais und messe dann einen Widerstand über GPIB (Agilent 34401) aus. Wenn der Benutzer ein mal "Start" drückt, laufen 24 Messungen hintereinander ab. Das Ganze muß dann einige Male gemacht werden, so daß ich die Zeit für die 24 Messungen etwas reduzieren möchte. Bei der GPIB-Abfrage war das kein Problem - hier kann ich den Kanal vorher öffnen, 24-mal messen und dann schließen. Bei dem USB-Device, welches ich über mDAQ auslese habe ich aber (bisher) nur dieses Polymorphe VI und da habe ich keine Option zum Öffnen bzw. Schließen des Kanals. Gibt es eine Möglichkeit, die Schaltzeit des NI-6501 zu beschleunigen? Viele Grüße, Stefan [attachment=22552] [attachment=22553] NI6501 zu langsam - jg - 17.11.2009 13:09 Rückfrage: Was hättest du denn gerne für Schaltzeiten? Die 6501 kann nur Software-Timing, mehr als (theoretische) 1kHz sind da nicht drin. Ansonsten, schau dir mal die Beispiele im NI-Examplefinder an, mit denen du im Programm die Tasks anlegst, anstatt auf vordefinierte aus dem MAX zuzugreifen. Du kannst auch jeden DI einzeln schalten, du musst nicht immer alle 3 Ports auf einmal setzen. Gruß, Jens NI6501 zu langsam - StefanS - 17.11.2009 16:45 Hallo, als Schaltzeiten hätte ich gerne was unter 100 ms. Ich weiß nicht, wieviel Zeit die restliche Datenbearbeitung frisst (habe ich nicht nach Zeit programmiert und ich habe auch keine Erfahrung, wie schnell oder langsam so'n G-Code ist). Tja, Beispiele habe ich leider keine gefunden ... bei mir wird da leider nichts angezeigt, weder wenn ich 6501 als Suchbegriff eingebe, noch wenn ich die Suche auf das eine Gerät beschränke. Ich schau' mal auf der NI-Seite, ob da noch was ist. Viele Grüße, Stefan NI6501 zu langsam - jg - 17.11.2009 17:11 Such mal hier: [attachment=22570] 100ms, ok, das ist Software-Timing, das sollte hinhauen. Gruß, Jens NI6501 zu langsam - StefanS - 18.11.2009 09:22 Erst mal Danke für das Beispiel - ich finde häufig nicht die richtigen Beispiele; wahrscheinlich sollte ich mal mit englischen Begriffen suchen... Das Beispiel [attachment=22584] ist aber doch genau die selbe Aufrufprozedur wie in meinem Programm ... oder bedeutet das, daß wenn ich den Task nicht vorher initialisiere, das selbstständig im Hintergrund abläuft? Ich probiere das mal aus - wird aber aufgrund der etwas verschachtelten Struktur 'n paar Stündchen dauern bis ich darüber berichten kann. Viele Grüße, Stefan NI6501 zu langsam - StefanS - 18.11.2009 13:07 Alles klar - ich habe mich geirrt - sorry Ich habe jetzt meine Initialisierung extern vor die Schleife gestellt und frage das 6501 nur noch direkt ab - also quasi so, wie ich das auch vorher mit der Agilent 43301 gemacht habe: [attachment=22590] Was hat's gebracht: nix - gar nix. Dann habe ich nochmals ein wenig am Code rumgefummelt und ein paar Zeitmessungen gemacht: - Schleifendurchlauf ohne Ansprechen der Mess/Steuergeräte: 2 s - Schleifendurchlauf nur mit Ansprechen des USB 6501: ca. 3s - Schleifendurchlauf nur mit Ansprechen des GPIB-Gerätes (43301): 15s - Schleifendurchlauf mit beiden Geräten: 16 s Damit wird klar, dass das USB 6501 super schnell reagiert - und auch vorher schnell reagiert hat. Ich hatte vorher die Ansprechzeit der GPIB Verbindung deutlich erhöht, indem ich die Initialisierung aus den Schleifendurchläufen herausgenommen hatte und somit vermutet, dass die Restzeit auf das Konto des USB 6501 geht. Das war aber falsch. So - um jetzt die Schaltzeiten weiter zu verkürzen, müsste ich mich ganz tief (zumindest für meine Verhältnisse) in die Kommunikation mit dem 43301 einklinken: [attachment=22592] Ob ich da dann allerdings wirklich was einspare ist fraglich. Ich vermute mittlerweile, dass mein Messgerät halt so viel Zeit braucht (na ja, dafür ist die Messung aber auch geil genau bzw. reproduzierbar - ich mache da eine 4W Widerstandsmessung). Vielleicht weiß ja noch jemand, wie ich die Kommunikation ohne großen Aufwand etwas beschleunigen kann, ansonsten betrachte ich das Thema schon mal als gelöst ... Vielen Dank nochmals, Stefan NI6501 zu langsam - Y-P - 18.11.2009 13:09 Ich kommuniziere auch mit Agilent-Geräten, aber direkt über VISA mit SCPI-Befehlen. Da geht's wesentlich schneller. Um aber Dein Bsp. umzubauen musst Du einiges an Zeit investieren (wenn Du damit noch nie was gemacht hast). Gruß Markus NI6501 zu langsam - StefanS - 18.11.2009 14:08 ' schrieb:... direkt über VISA mit SCPI-Befehlen. Da geht's wesentlich schneller. Um aber Dein Bsp. umzubauen musst Du einiges an Zeit investieren (wenn Du damit noch nie was gemacht hast). Na ja, ich habe eben erst mal nachgeschaut, was SCPI-Befehle sind. Wahrscheinlich müßte ich gar nicht so viel umbauen, weil ich ja die Initialisierung schon getrennt habe von der eigentlichen Ausleseroutine. Den Inscheniöhr in mir juckt's zwar in den Fingern, aber mich da genauer in die Kommunikation einzuarbeiten wäre für das Einsparungspotential absoluter overkill! Viele Grüße, Stefan |