Forum: PC-Programmierung Speicherdatei vom Oszi auslesen


von Marcela N. (mnikoli)


Lesenswert?

Hallo zusammen,

ich bin nach der Suche nach einer Möglichkeit auf die Speicherdatei 
eines Oszis zuzugreifen. Oszi  hat USB und LAN Anschluss. Wenn der Oszi 
einen Signalverlauf aufzeichnet muss dieser doch denn irgendwo 
zwischenspeichern, oder? also eine "recorded-Datei" oder so.. denn ich 
möchte, dass mir der Oszi den Signalverlauf auf meinem Notebook 
weiterleitet. Quasi in Echtzeit die Signalwerte auf mein Notebook 
ausgibt. Es gibt da so ein extra Programm, jedoch möchte ich dieses 
nicht nutzen, sondern irgendwie auf diese Datei im Oszi zugreifen und 
direkt holen, ohne ne extra Software.

Ich möchte also kein Single-Signal übertragen, denn das geht, sondern 
laufend Signalwerte schicken.

Gruß an alle, die den Beitrag lesen

von Wolfgang M. (womai)


Lesenswert?

Ein "kleines" Detail fehlt - welches Oszilloskop ist das ueberhaupt? 
Ohne diese Information kann man gar nichts sagen. In jedem Fall - schau 
im Handbuch nach, das sollte eine Schnittstellenbeschreibung beinhalten, 
d.h. welche Befehle man dem Oszi schicken kann und welche Daten 
zurueckkommen.

Auf jeden Fall heisst "laufend Werte schicken" dass Du Dir eben selber 
ein Programm schreiben musst, das regelmaessig (z.B. immer wenn das Oszi 
- auf Anfrage vom Computer - meldet  dass ein neuer Datensatz 
aufgezeichnet wurde) die Daten ausliest und anzeigt. Im wesentlichen 
alsoidasselbe, was die von Dir erwaehnte mitgelieferte Software macht.

"Streaming" (d.h. Daten in Echtzeit uebertragen) geht ziemlich sicher 
nicht - erstens ist der Prozessor im Oszi nicht schnell genug, zweitens 
- ueberleg Dir mal die noetigen Datenraten: z.B. 1 GSample/sec auf zwei 
Kanaelen, je 8 bit --> 2 GB/sec, verglichen selbst mit USB 2.0 (480 
Mbit/sec = 60 Mb/sec, ganz abgesehen davon, dass das die Maximalrate ist 
und es keine Garantie gibt, dass Du diese Rate auch erreicht - wenn z.B. 
zur gleichen Zeit noch andere Geraete den USB-Bus benuzten). Was Du 
kriegen kannst sind also einzelne, zwischengespeicherte Datensaetze.

Wolfgang

von Marcela (Gast)


Lesenswert?

Hallo Wolfgang, danke für die Antwort.
Es ist ein Tektronix 4104 (Bandbreite 1GHz) mit USB und Ethernet. Ich 
würde gerne die Ethernetverbindung nutzen.

Ich kenne mich leider mit Oszis nicht so gut aus. Möchte aber versuchen, 
mich so gut wie möglich damit auseinander zu setzen. Natürlich fehlen 
mir da gewisse Kenntnisse um ein solch komplexes Programm selbst zu 
schreiben. Aber ich bin bereit mich einzulernen. Mit welcher Anwendung 
würdest du empfehlen so ein eigenes Programm zu schreiben, damit ich 
diese Software vom Hersteller nicht nutzen muss? Denn mein Ziel ist, 
diese empfangenen Werte auf meinem Notebook automatisiert zu bekommen 
und mit anderen Werten zu vergleichen. Möglichst alles in C 
programmiert. Hälst du das für möglich?

Gibt es denn überhaupt eine solche Datei im Oszi, wie ich zuvor erwähnt 
habe, wo zwischengespeicherte Werte abgelegt werden, die ich dann über C 
anzapfen könnte?

Über Tipps bin ich wirklich dankbar.

Gruß Marcela

von Marcela N. (mnikoli)


Lesenswert?

sorry, habe vergessen mich vorhin einzuloggen. ;-)

Gruß Marcela

von Wolfgang M. (womai)


Lesenswert?

Na da hast Du aber ein feines Geraet auf Deinem Tisch stehen!

Was Du vorhast, ist technisch sbsolut moeglich.

"Datei" ist nicht gerade der richtige Ausdruck, aber wenn das Oszi ein 
Signal aufzeichnet, wird das in einem (sehr schnellen) internen RAM 
zwischengespeichert und steht dann fuer weitere Verarbeitung zur 
Verfuegung - Anzeige am Oszi-Display, automatische Messungen, Transfer 
zum PC usw.

Die Programmiersprache ist eher sekundaer. Die modernen Tek-Oszis 
verwenden Tek-VISA, das ist im wesentlichen eine Programmbibliothek die 
die Details der PC-Oszi-Kommunikation (USB, GPIB, LAN) vor dem Benutzer 
"versteckt". Excel/VBA, Visual Basic, Visual C++, Labview und viele 
andere Programmierumgebungen werden unterstuetzt.

Fuer eine erste schnelle Einfuehrung siehe das Handbuch Deines Oszi, 
online z.B. hier, Seite 34ff:
http://www.tequipment.net/pdf/tektronix/DPO4000_UserManual.pdf

Du musst Dich mal mit Tek-VISA auseinandersetzen, der Rest ist dann eher 
einfach, weil VISA die Knochenarbeit uebernimmt, und die Kommunikation 
ist (aus der Sicht des Anwendungsprogrammierers) unabhaengig vom 
verwendeten Interface (GPIB, USB, LAN). Im wesentlichen sendest und 
empfaengst Du Textstrings. Lies mal genau das DOS4000 Programmer Manual 
(das ist separat vom User Manual!). Da steht alles Relevante drinnen.

Wolfgang

von Marcela N. (mnikoli)


Lesenswert?

Hallo Wolfgang, ich danke dir für deine Antwort. Genau nach diesem RAM 
Speicher habe ich gesucht.

Aber ich habe jetzt noch ne andere Möglichkeit gefunden, wie ich laufend 
Signaldaten auf meinen Rechner bekommen könnte.

Ich habe mal die kostenlose Software von Tektronix heruntergeladen, die 
es mir ermöglicht konstant (mit knapp unter 2s Verzögerung) laufend 
Signaldaten auf meinen PC zu schicken. Der Signalverlauf vom Oszi wird 
somit mit kurzer Verzögerung auf meinem Rechner identisch abgebildet.
Und dies über eine Ethernetverbindung.

Danach habe ich mir Wireshark installiert, das die Ethernetverbindung 
abhört und mir genau sagt, welche Pakete zwischen dem Oszi und meinem PC 
ausgetauscht werden.
Ich kann somit genau sehen, welche Datenpakete zwischen Oszi und PC 
ausgetauscht werden.
Dadurch besteht die Möglichkeit, dann mit einem Programm genau diese 
Datenpakete nachzubilden, und selber zu verschicken, so dass das Oszi 
auf meine Befehle hört. Ethernet packet builder oder so soll das 
programm heißen, womit ich datenpakete verschicken kann.

Kennt du oder auch jemand anderes einen guten Ethernet packet builder 
empfehlen?

Gruß Marcela

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Geht es wirklich um Ethernet-Pakete oder nicht vielleicht doch um 
TCP/IP-Pakete?

von Marcela N. (mnikoli)


Lesenswert?

mag sein, dass ich mich da nicht richtig ausgedrückt habe, bitte dann um 
vVrbesserung.

ich möchte über Ethernet folgende Pakete verschicken:

TCP, RPC, VXI-11..


ich war der Annahme, dass diese als Ethernet-Pakete zu bezeichnen sind?

von Marcela N. (mnikoli)


Lesenswert?

hallo nochmal ;-)

also eigentlich will ich über TCP (4. Schicht)verschicken. aber ich habe 
noch RPC und VXI-11, die ich irgendwie in TCP verpacken muss.

Habe einige Packet Builder gefunden, jedoch gehen diese nur bis zur TCP 
Schicht, und nicht drüber hinaus.

Denn RPC gehört zur 5. Schicht
Und VXI-11 gehört zur 6. Schicht

Meine eigentlichen Daten befinden sich im VXI-11 Paket. Muss ich somit 
RPC und VXI-11 selber schreiben?? Oder kennt jemand doch einen 
geeigneten Packet Builder? Kann aber auch sein, dass ich es einfach 
falsch angehe.. Um Hilfe wäre ich dankbar..

Gruß Marcela

von max (Gast)


Lesenswert?

Gerätetreiber (Das ist ein kleines Programm, das eine Ansteuerung des 
OSzis
enhält.)
Läuft unter LabVIEW normalerweise sofort.

http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/de/pg/1/sn/catnav:id,ssnav:sup/q/Tektronix%204104/

von Marcela N. (mnikoli)


Lesenswert?

HI max,

benötige ich dann für die ansteuerung das Program LabView? oder kann ich 
den oszi mit diesem treiber dann über TCP-Pakete steuern?
Sorry, bin noch Anfängerin.

Danke und Gruß

von Christian R. (supachris)


Lesenswert?

Normalerweise gibts zu solchen Oszilloskopen ein API, welches die 
Ansteurung aus beliebigen Programmierumgebungen erlaubt. Bei LeCroy 
läuft das beispielsweise über ActiveX Controls, die kann man fast in 
jeder Programmiersprache benutzen. Bei deinem Tek gibts doch sicher auch 
ein API, was sich in C++ oder C# Projekte oder sonstwas einbinden lässt. 
Reverse Engineering der TCP Pakete ist doch Quatsch, dein Vorhaben ist 
doch ein Standard-Fall, das machen tausende Anwender solcher Oszis so.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.