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 

Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung



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!

18.02.2012, 14:02
Beitrag #31

SantaKrass Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2011

9.0
2011
DE


Deutschland
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
Guten Tag die Herren,

so ich bin bei meinem Projekt schon etwas weiter gekommen.... Smile nun folgendes:

ich habe ein grundlegendes Verständnisproblem bei der Kommunikation mit einem USB-RAW Gerät über NI VISA.
Ich habe nach einem Tutorial eine .inf Datei erstellt. Diese korrekt installiert und bekomme mein Gerät auch in einem LabView VI ausgewählt.

Nun das DMM schickt mir ASCII Codes. Diese möchte ich mit LabView einlesen und anschließend weiterverarbeiten. Nur wenn ich mit VISA READ arbeite bekomme ich generell eine Fehlermeldung und wie ich mit den USB VISA Elementen umgehe habe ich absolut keine Ahnung, hoffe mir kann da jemand der Guru´s weiterhelfen.


Angehängte Datei(en)
11.0 .vi  Test 2 !!!!.vi (Größe: 14,27 KB / Downloads: 234)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.02.2012, 18:15
Beitrag #32

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
Hallo Santa,

schauen wir uns mal dein VI an:
   
Was ist daran so alles falsch?

- Du nutzt eine While-Schleife mit autoindizierendem Eingang. Je nachdem, wieviele Devices bei dir über VISA verwaltet werden, ist also nach evtl. 200ms nichts sinnvolles mehr vom VI zu erwarten.
- Du öffnest in jeder Iteration einen VISA-Port, den du nirgends schließt.
- Du fragst direkt nach dem Port-Öffnen die Anazhl der gelesenen Bytes ab. Viel mehr als 1 oder 2 Bytes würde ich da nicht erwarten...
- Wozu fragst du die Byteanzahl ab, wenn du dann doch 11 Bytes lesen willst?
- Du wandelst den String explizit in ein Array - wozu?
- Wozu nutzt du eine Schleife, wenn dich (mangels Autoindizierung) nur der letzte gelesene Wert interessiert? (Mehr kommt in deinem "Array" auch nicht an...)
- Du lässt dir die Baudrate anzeigen - wozu? Das Gerät wird die nicht selbst setzen, dass musst du erledigen...
- Ein Klick auf den Aufräumknopf vor dem Posten hätte auch nicht geschadet...

Hast du dir mal einen der vielen Threads zum Thema "Serielle Schnittstellen" durchgelesen? Lucki hat da schon des öfteren gute Erläuterungen geschrieben...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.02.2012, 10:42
Beitrag #33

SantaKrass Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2011

9.0
2011
DE


Deutschland
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
(19.02.2012 18:15 )GerdW schrieb:  Hallo Santa,

schauen wir uns mal dein VI an:

Was ist daran so alles falsch?

- Du nutzt eine While-Schleife mit autoindizierendem Eingang. Je nachdem, wieviele Devices bei dir über VISA verwaltet werden, ist also nach evtl. 200ms nichts sinnvolles mehr vom VI zu erwarten.
- Du öffnest in jeder Iteration einen VISA-Port, den du nirgends schließt.
- Du fragst direkt nach dem Port-Öffnen die Anazhl der gelesenen Bytes ab. Viel mehr als 1 oder 2 Bytes würde ich da nicht erwarten...
- Wozu fragst du die Byteanzahl ab, wenn du dann doch 11 Bytes lesen willst?
- Du wandelst den String explizit in ein Array - wozu?
- Wozu nutzt du eine Schleife, wenn dich (mangels Autoindizierung) nur der letzte gelesene Wert interessiert? (Mehr kommt in deinem "Array" auch nicht an...)
- Du lässt dir die Baudrate anzeigen - wozu? Das Gerät wird die nicht selbst setzen, dass musst du erledigen...
- Ein Klick auf den Aufräumknopf vor dem Posten hätte auch nicht geschadet...

Hast du dir mal einen der vielen Threads zum Thema "Serielle Schnittstellen" durchgelesen? Lucki hat da schon des öfteren gute Erläuterungen geschrieben...

Guten Tag GerdW,

danke für deinen Post. Wie du siehst bin ich noch am lernen, wie die Programmierung über LabView geht.
Du hast recht, habe einen Port bei jeder Iteration geöffnet und nicht geschlossen, da der "Close" Befehl außerhalb der Schleife ist.
Ich habe mit einem Programm (Termite) herausgefunden, dass das DMM mir 11 Bytes pro Paket sendet. Diese wollte ich eigentlich in einem Array abspeichern und dann weiterverarbeiten. Deshalb sollte der String in ein Array umgewandelt werden. Ist meine Denkens weise so falsch ?
Die Baudrate war "Schwachsinn" an dieser Stelle, wollte schauen ob mir die das DMM auch übergibt.
Ich möchte derzeit nur, das ich den ASCII Code des DMM´s in Labview übertragen bekomme und abspeichern kann. Nur wird mein DMM in LabView als RAW Gerät angezeigt und ich weiß noch nicht so recht wie ich das Programmieren muss. Bzw. wie ich an diese Problematik herangehen muss.
Werde das nächste mal den Besen benutzen, hatte mit ihm nur schlechte Erfahrungen gemacht.....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.02.2012, 11:03
Beitrag #34

SantaKrass Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2011

9.0
2011
DE


Deutschland
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
Was ich vergessen habe, so wird meine Schnittstelle angegeben, vielleicht Hilft das : USB0::0x1A86::0xE008::NI-VISA-40002::RAW
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.03.2012, 12:17 (Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2012 12:25 von rolfk.)
Beitrag #35

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
(27.01.2012 10:46 )SantaKrass schrieb:  Hallo,

kennt jemand eine Software, die mir ein HID-Gerät zu einem USB- oder Serial-Gerät konvertiert?
Also sozusagen ein HID TO USB Driver etc..... bzw kann ich Softwaretechnisch mein HID Gerät mit einer Software "umprogrammieren" sodass ich es in LabView integrieren kann?

MFG

So etwas gibt es meines Wissens nicht und dürfte beinahe unmöglich sein zu machen. Stell es Dir so vor:

USB Raw ist die unterste Ebene. Hier gibt es Endpoints und Controlchannels über die man Bytes verschicken und lesen kann. Was diese Bytes bedeuten ist nicht festgelegt sondern Bestandteil der höher liegenden USB Protokolle.

USB COMM ist eine Device Klasse die ein serielles Gerät implememtiert und gewisse Endpoint Addressen und Controlcodes definiert um so Dinge wie Handshaking und bidirektionele Datenübertragung mit einem Datenkanal machen zu können. Windows (und alle anderen modernen Betriebssysteme) hat einen Treiber der so eine Device Klasse in einen virtuellen COM Port umsetzt.

USB HID ist eine ziemlich einfache Device Klasse. Die ist ein wenig mehr restriktiv als USB Raw, aber was die Bytes genau bedeuten ist da noch nicht festgelegt. Das bestimmt die Unterklasse Maus, Keyboard, Joystick, etc genauer, aber jeder Hersteller ist frei um dabei Erweiterungen anzubringen, wobei er dann natürlich spezifische Treiber für die verschiedenen Betriebssysteme liefern muss um diese extra Features (extra Buttons, Multimedia Keys, etc) zu unterstützen. Die Verwendung von HID für ein Messgerät ist gelinde gesagt komisch, aber eigentlich schon als dumm anzusehen, sofern es nicht ein Gerät ist das ähnliche Funktionen wie ein Keyboard oder eine Maus haben kann.

Da die Control und Datenbytes bei HID an sich ja nicht standardisiert sind (oder soll Dein Gerät sich als Maus anmelden und einen Mausklick schicken wenn es 0V misst?) kann man auch keinen generieken Converter von HID nach COMM machen. Man kann aber einen Treiber schreiben der sich das HID Interface dieser Klasse von Windows reservieren lässt und dann das geratespezifische Protokoll umsetzt nach einem API. Solche Treiber sind am einfachsten in C(++) zu machen und dann als DLL in LabVIEW zu importieren. NI VISA unterstützt direkten Zugang zu HID Devices nicht, aber man kann sich im Prinzip mit USB Raw Zugang dazu verschaffen muss dann aber das HID Protokoll und darauf aufbauend das gerätespezifische Protokoll ganz in LabVIEW selbst programmieren. Für HID ginge das zwar theoretisch noch da dieser Standard offen ist und vom USB Konsortium bezogen werden kann, aber ohne eine genaue Beschreibung der Addressen und Datenbytes die Dein Gerät im HID Deviceprofil benützt ist das sinnlose Liebesmühe.

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
13.03.2012, 12:35 (Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2012 12:42 von rolfk.)
Beitrag #36

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Erstellen einer Benutzeroberfläche für ein DMM der Marke Uni T UT804 inkl Steuerung
(19.02.2012 18:15 )GerdW schrieb:  Hallo Santa,

schauen wir uns mal dein VI an:

Was ist daran so alles falsch?

- Du fragst direkt nach dem Port-Öffnen die Anazhl der gelesenen Bytes ab. Viel mehr als 1 oder 2 Bytes würde ich da nicht erwarten...

Für ein USB Raw Device sollte da immer 0 rauskommen. Bytes At Serial Port ist ein interfacespezifisches Property das nur für, man höre und staune, Serielle Schnittstellen verfügbar ist. Dasselbe gilt für Baudrate. Eigentlich sollte das sogar schon beides einen Fehler geben.

Zudem wird das HID Device wahrscheinlich nicht einfach Daten rausschmeissen sondern sollte wohl durch irgend ein Kommando auf irgendeine Addresse im HID Interface dazu aufgefordert werden. Und die Daten dürften dann auf einer anderen Adresse im HID Interface geliefert werden. Aber was da durch VISA rein kommt ist noch nicht HID sondern halt nur USB Raw, also muss da noch einiges and Arbeit gemacht worden um an die HID Interface Informationen zu kommen.

Alles in allem lässt sich nur wieder wiederholen: Ein beinahe sinnloses Projekt, ausser man hat selber schon ziemlich viel Erfahrung mit der Programmierung eines USB Devices (also nicht in LabVIEW sondern die Firmware davon!!).

Aber was ist denn die VISA Resource die Du verwendest? Ich denke mal, dass das möglicherweise doch einfach eine serielle Schnittstelle ist und Du schon länger einsichtig geworden bist und von USB Raw abgesehen hast, auch wenn Du das im Beitrag #31 nicht so schreibst.

Sehe in Beitrag #34 dass Du doch USB Raw zu machen scheinst. Damit bleibt alles oben gesagte voll gültig.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehler beim Erstellen einer Datei, durch VISA ausgelöst? Klausenwirt 5 6.157 14.03.2014 10:39
Letzter Beitrag: Klausenwirt
  Steuerung einer Spannungsgenerator mitLabVIEW Dina 6 7.734 15.01.2010 12:46
Letzter Beitrag: IchSelbst

Gehe zu: