LabVIEWForum.de - USB - Maximale Geschwindigkeit

LabVIEWForum.de

Normale Version: USB - Maximale Geschwindigkeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Jeden Tag komm ich ein Stück weiter aber auch diesmal sitze ich wieder fest.

Ich habe ein Messsystem das mit 50 kHz über USB senden kann. Mit der mitgelieferten Software geht dies auch. Versuche ich aber mit meinem LabVIEW Programm die Daten auszulesen bekomme ich nur ca 30 Werte pro Sekunde. (Messaufbau ist unten eingefügt)
Ich kann mir nicht vorstellen, dass dies alles ist was ich mit LabVIEW erreichen kann.

Ich hatte auch die Suchfunktion genutzt aber dort liesst man immer nur das es von der Hardware abhängig ist.

Also meine Hardware ist ein PIII 450.
Die USB Schnittstelle ist 1.1. Leider weiss ich nciht wo ich sehen kann ob sie low,full oder high speed hat.

Das gerät (einige werden es schon kennen) ist ein Keyence Sensor mit zugehörigem Regler.

http://www.keyence.de/products/vision/lase..._features_4.php

Hat vielleicht jemand einen Tipp wie ich die Geschwindigkeit der Abtastung über den USB Port deutlich beschleunigen kann, oder ist dies mit dem Protokoll des Ports überhaupt möglich?`

Vielen Dank schonmal im vorraus
Einen Tip habe ich soweit leider nicht aber zwei Fragen :
Wurde bei der Hardware noch ein Treiber für LabVIEW mit beigelegt?
Und wenn das zutrifft Frage 2:
Kann es sein das der in C oder C++ geschrieben ist? Das auf dem Bild sieht aus wie eine Schnittstelle zwischen C und LabVIEW....

Gruß
Thomas
' schrieb:Einen Tip habe ich soweit leider nicht aber zwei Fragen :
Wurde bei der Hardware noch ein Treiber für LabVIEW mit beigelegt?
Und wenn das zutrifft Frage 2:
Kann es sein das der in C oder C++ geschrieben ist? Das auf dem Bild sieht aus wie eine Schnittstelle zwischen C und LabVIEW....

Gruß
Thomas

Ich habe von Keyence eine DLL Datei zugeschickt bekommen. Über diese kann man den Sensor auslesen. Ich vermute mittlerweile das der Regler einen Internen Speicher hat in dem er eine gewisse Anzahl an Daten speichert und diese dann im Packet rüber schickt.
' schrieb:Also meine Hardware ist ein PIII 450.
PIII 450 MHz? Und LV7.1? Wenn's wenigstens ein P4 wäre. Aber so. Ich rate ab.
Also ich würde eher vermuten das der Schlüssel zur schnelleren Datenübermittlung in der DLL steckt und es da vielleicht einen Befehl gibt den man ausführen kann um dem ganzen Beine zu machen.

Das mit der Performance PIII-450Mhz ist natürlich nicht sehr optimal Blush
aba was macht man nicht alles wenns mal wieder nich anders geht Tongue
hi wiggi,

du scheinst ja wirklich tag für tag weiter zu kommen ! das freut mich !
welche dll hat dir keyence denn zugeschickt ? konntest du sie problemlos als externe bibliothek in LV einbinden ? oder bekamst du auch erst diesen fehler (thread) ?

die dll, die ich auch habe, kennst du ja bereits !

melde dich bitte bei mir, wenn du ein weiteres VI fertig hast ! ich werde heute und morgen zeit haben, um mich noch ein bisschen damit zu berschäftigen !

mfg
blubb0r
' schrieb:hi wiggi,

du scheinst ja wirklich tag für tag weiter zu kommen ! das freut mich !
welche dll hat dir keyence denn zugeschickt ? konntest du sie problemlos als externe bibliothek in LV einbinden ? oder bekamst du auch erst diesen fehler (thread) ?

die dll, die ich auch habe, kennst du ja bereits !

melde dich bitte bei mir, wenn du ein weiteres VI fertig hast ! ich werde heute und morgen zeit haben, um mich noch ein bisschen damit zu berschäftigen !

mfg
blubb0r


hi Blubb0r

Ich schreibe das mal direkt hier rein und nicht als PN (Wer weiss wer das noch einmal gebrauchen kannSmile)

Die DLL Datei einzubinden war das kleinste Problem. Am besten kannst du die Befehle erst einmal probieren, die nur Schreibzugriff benötigen. Das einzige das du bei Lesezugriffen beachten musst ist dass die Werte alle Pointer sind.

Die Werte stimmen zwar noch nicht aber das liegt vermutlich an einem Skalierungswert . Das große Hauptproblem ist zZ das die Daten so langsam ausgegeben werden. Für 1000 Werte brauche ich 70 sekunden. Das ist wohl nicht im Sinne des Erfinders.

Da der Sensor mit 20µs Arbeiten kann wäre von seiner Seite aus eine Übertragung von 1/20*10^-6=50 000 Werten pro Sekunde möglich.
Ich würde normalerweise sagen das das nicht wirklich realistisch für USB ist...
allerdings schafft es die von Keyence mitgelieferte Software ja auch.
Kleine Zwischeninfo:

Bin nun auf VB umgestiegen..
bekomme die Werte nun korrekt geliefert..
Leider aber immernoch viel viel zu langsam..

Habe auch nen anderen Rechner mit usb 2.0 versucht..

Das war es leider auch nicht
Referenz-URLs