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 

Dieses Thema hat akzeptierte Lösungen:

Datenerfassung (USB) über eine dll



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!

17.04.2015, 09:25 (Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2015 10:03 von Oliver22.)
Beitrag #1

Oliver22 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2015

2014
2015
DE



Datenerfassung (USB) über eine dll
Hi allerseits

ich bin ganz neu beim Thema LabView gelandet (habe mehr Erfahrung mit Programmiersprachen wie Java, Delphi usw.).
Im Moment bastele ich an 2 Projekten rum, beide sind von der Struktur her ähnlich.
Es handelt sich um USB Geräte, die über eine dll angesteuert werden sollen. Also habe ich mit USB selber nichts zu tun,
nur mit der dll-Ansteuerung.

Projekt 1: es handelt sich um die Geräte A und B (ich anonymisiere das jetzt mal), das funktioniert auch erstmal
Projekt 2: es handelt sich um ein Gerät C, da habe ich derzeit Probleme, Daten zu erfassen

Konkret sieht das so aus: zunächst muss die Messung an C gestartet werden (kann z.B. 10 sec dauern). Danach warte ich mit einem While-Loop,
bis C mir ein ready liefert. Dann versuche ich den Messwert abzuholen. Allerdings friert nun bei mir immer das ganze LabView ein
(also nicht nur die VI), ich kann nicht mal mehr den roten Stopbutton klicken (nur noch Taskmanager hilft).

Ok, also nun die konkreten Fragen: wie kann ich einen "wait" Block einbauen, der nur eine bestimmte Zeit wartet?
Ich habe in der Doku gesehen, es gibt so einen, der hat aber nur blaue Verbindungslinien, ich brauche aber eine andere Verbindungslinie von einem Block zum anderen.
Wie kann ich einen "while" Loop einbauen mit einer bestimmten Zeit?!

viele Grüße
Olli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.04.2015, 10:35 (Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2015 10:37 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung (USB) über eine dll

Akzeptierte Lösung

Hallo Oliver,

Zitat:wie kann ich einen "wait" Block einbauen, der nur eine bestimmte Zeit wartet?
Mit der Funktion "Wait (ms)"…

Zitat:ich brauche aber eine andere Verbindungslinie von einem Block zum anderen
Wozu brauchst du eine "Verbindungslinie" von einem Block zum anderen, wenn du nur einen Block zum Warten benötigst?

Zitat:Wie kann ich einen "while" Loop einbauen mit einer bestimmten Zeit?!
Wozu eine Schleife, um eine bestimmte Zeit zu warten?

Ansonsten:
Code:
FOR i = 0 TO N-1 ; N Sekunden Warten
  wait(1000ms)
NEXT i

Zitat:Dann versuche ich den Messwert abzuholen. Allerdings friert nun bei mir immer das ganze LabView ein
Ich glaube kaum, dass dies ein Problem mit der Wartezeit-Funktion ist. Vielmehr deutet das auf einen Absturz aufgrund Fehlern in der DLL oder beim Aufruf derselben hin…

Und solange du meinst, hier dein "Gerät C" anonymisieren zu müssen, werden wir da nicht weiterhelfen können!

Tipp: Wenn du neu bei LabVIEW bist, solltest du dir die Einsteigertutorials antun (siehe Links in meiner Signatur). Dann könntest du auch das richtige LabVIEW-Vokabular verwenden, "Verbindungslinien" sind z.B. Drähte. Und "blaue Linien" bezeichnen einen (bzw. verschiedene) Datentyp(en) - leider nennst du uns nicht den aktuell verwendeten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.04.2015, 14:25
Beitrag #3

Oliver22 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2015

2014
2015
DE



RE: Datenerfassung (USB) über eine dll
Hi Gerd

danke für die Antwort. Ich habe inzwischen einen Warteblock gefunden. Der funktioniert nun auch.
Also das "Einfrieren" ist nun nicht mehr vorhanden, und der Messwert kommt auch korrekt an nach der Wartezeit.

Ok, also der Draht, den ich brauchte, war einer, der zu einem Block namens "Knoten zum Aufruf externer Bibliotheken" führt.
Das Gerät an sich funktioniert schon, wir haben ein (C++) Programm, das auch den Wert abrufen kann, allerdings brauchen
wir dasselbe nun in LabView.

vielen Dank nochmals, das LabView Vokabular muss ich noch lernen
Olli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: