LabVIEWForum.de
Daten auslesen vom DSP6001 Controller - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Daten auslesen vom DSP6001 Controller (/Thread-Daten-auslesen-vom-DSP6001-Controller)

Seiten: 1 2


RE: Daten auslesen vom DSP6001 Controller - vitjee - 03.02.2012 22:38

Hab mal mit Hilfe vom Example Finder ein Programm zusammengestellt. Gibt erstmal keine Fehler aus Big Grin. Doch kommt auch nichts an. Was mir auch nicht klar ist, wie ich die einzelnen Bits in LabVIEW richtig trenne.

Habe auch nochmal die RS-232 Buchse aufgemacht und geschaut welche Pins verbunden sind. RxD,DTR,GND. Müsste eigentlich für eine Übertragung reichen. Eins ist außerdem noch merkwürdig. Es gibt auch ein mitgeliefertes Programm zur Analyse der Charakteristiken. Doch dieser gibt mir immer den Fehler : Keine Antwort vom Sensor aus. Doch wenn ich den Dekoder abtrenne und das Kabel, welches direkt aus dem Sensor führt an ein mitgeliefertes Display anschließe werden die Daten angezeigt Huh.


RE: Daten auslesen vom DSP6001 Controller - GerdW - 04.02.2012 10:18

Hallo vitjee,

Zitat:ein Programm zusammengestellt. Gibt erstmal keine Fehler aus
Nun ja, besonders hübsch ist es ja auch nicht. Wozu das BytesAtPort, wenn du doch immer fest 16 Byte lesen willst? Konfiguriere einfach das TimeOut ordentlich und lese direkt (ohne BytesAtPort-Abfrage) die 16 Zeichen...
Außerdem: durch den festen Vergleich mit 16 und dem parallelen 500ms-Wait kann es vorkommen, dass der Vergleich nie erfüllt ist und du irgendwann einfach ein BufferOverflow bekommst (wenn innerhalb der 500ms Wartezeit mehr als 16 Zeichen ankommen, liefert der Vergleich immer FALSE, obwohl der Buffer womöglich schon 100e Zeichen enthält...)!

Zitat:Es gibt auch ein mitgeliefertes Programm zur Analyse der Charakteristiken. Doch dieser gibt mir immer den Fehler : Keine Antwort vom Sensor aus.
Bringe erstmal dieses Programm fehlerfrei zum Laufen, bevor du irgendwas mit LabVIEW ausprobierst!

Zitat:Doch wenn ich den Dekoder abtrenne und das Kabel, welches direkt aus dem Sensor führt an ein mitgeliefertes Display anschließe werden die Daten angezeigt
Also ist irgendwas am Kabel oder an der seriellen Schnittstelle deines PCs ungewöhnlich - was darfst du selbst herausfinden. Dann, wie schon erwähnt, erstmal das mitgelieferte Programm zum Laufen bringen und erst dann LabVIEW ins Spiel bringen...


RE: Daten auslesen vom DSP6001 Controller - vitjee - 04.02.2012 22:12

Hardware-technisch läuft jetzt alles . Bekomme jetzt mit der Software des Sensors die richtigen Daten angezeigt. Habe es auch im Example basic_serial_read_and_write ausprobiert. Siehe da Daten kommen an. Nur weiss ich jetzt nicht wie ich diese umwandeln muss. Habe es mir so gedacht, dass ich Daten einlesen und mit den Match-Pattern Funktionen die richtigen Datenstrings anzeigen und diese anschließend in ein Double konvertiere!? Ist der Ansatz so richtig ? Oder gibt es eine andere Möglichkeit?

Viele Grüße


RE: Daten auslesen vom DSP6001 Controller - vitjee - 05.02.2012 19:25

Habe jetzt mal die Daten aufgenommen, die in LabVIEW ankommen. Doch irgendwie kann ich damit nicht recht viel anfangen :/. Habe auch mal die Leitung mit einem RS-232 Sniffer abgehört und irgendwie standen da nur solche russischen zeichen Huh . Habe auch mal mit dem VISA Test Panel rumgespielt doch auch damit kann ich noch wenig anfangen .. Und es tritt immer ein Fehler auf den VISA mir ausgibt, dass ein Überlauf Fehler auftritt.. wie kann man den denn beheben? Im Anhang habe ich mal die Screenshots von den Daten gepackt. Ich hoffe ihr könnt mir helfen.

Viele Grüße


RE: Daten auslesen vom DSP6001 Controller - jg - 06.02.2012 23:38

Offtopic2
Nett, dass du im LabVIEWportal auf das Crossposting aufmerksam machst, wieso nicht auch hier?

http://labviewportal.eu/viewtopic.php?f=14&t=4451

Gruß, Jens


RE: Daten auslesen vom DSP6001 Controller - vitjee - 08.02.2012 18:34

Moin,

sry habe das hier irgendwie verplant zu posten. Zu meinem Problem: Habe mich heute mal wieder damit beschäftigt. Es erweckt für mich den Anschein, dass die hexadezimalen Zahlen in normale dezimale Zahlen umgewandelt werden. Doch leider kann ich diese nicht zu ordnen oder meine Versuche waren völlig daneben. Habe mal im Anhang die VI und den Screenshot meines Programmes gepostet.


RE: Daten auslesen vom DSP6001 Controller - GerdW - 08.02.2012 21:14

Hallo vitjee,

- welche Werte erwartest du aus dem Datenstrom?
- Bitte immer bei allen Stringkonstanten auf korrekte Darstellung achten! Du hast einen String empfangen, den du dir mit \-Codes anzeigen lässt, suchst dann aber darin nach einem String in "normaler" Darstellung, obwohl dort wohl eher die "Hex"-Darstellung angebracht wäre. Merke: Rechtsklick auf String(konstante) und Sichtbare Objekte->Anzeigemodus aktivieren!
- Einen Datenstrom mit binär kodierten Werten kannst du nicht so einfach mittels "Nach Wert durchsuchen" umwandeln. Bitte auch hier nicht die Anzeigemodi der Strings durcheinander bringen!

Vorschlag:
- Bei binär kodierten Werten immer "Hex"-Anzeige wählen.
- Evtl. wäre hier ein Typcast angebracht, siehe erste Frage...


RE: Daten auslesen vom DSP6001 Controller - vitjee - 09.02.2012 10:58

Also ich möchte ja die Drehzahl und das Drehmoment aus dem Datenstrom rausfinden. Jetzt wird das in dem Protokoll ganz komisch übertragen. Die Drehzahl wird mit einem Bit übertragen. So wie ich es aus der Anleitung des Protokolls verstehe. Für das Drehmoment gibt es ein Vorzeichenbit und danach folgen die Datenbits. Diese würde ich gerne haben, damit ich mir Drehzahl und Drehmoment anzeigen lassen kann. Im Anhang befindet sich eine übersetzte Datei des Protokolls auf etwas besserem Deutsch.