Oszilloskop am PC - · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24...

24
Ausarbeitung LabVIEW Visualisierung eines Oszilloskops am PC über RS232 und Ethernet

Transcript of Oszilloskop am PC - · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24...

Page 1: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Ausarbeitung LabVIEW

Visualisierung eines Oszilloskops am PC

über

RS232 und Ethernet

Page 2: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 2 von 24

1 Vorwort ......................................................................................................... 3 2 Bedienungsanleitung .................................................................................... 5

2.1 Systemvoraussetzungen ........................................................................ 5 2.2 Starten des Programms......................................................................... 6 2.3 Einlesen der Daten............................................................................... 10 2.4 Parameter setzen.................................................................................. 11

3 Programmierung des Programms ............................................................ 12

3.1 Organigramm....................................................................................... 12 3.2 Ablaufplan............................................................................................ 13

4 Diagrammbeschreibung............................................................................. 14

4.1 Start Tektronix .................................................................................... 14 4.2 Cover..................................................................................................... 14 4.3 Die Oberfläche ..................................................................................... 14 4.4 Tcp Initialisierung ............................................................................... 18 4.5 param.................................................................................................... 19 4.6 y-Werte ................................................................................................. 20 4.7 RS232 .................................................................................................... 21

5 Anhang......................................................................................................... 24

5.1 Beschreibung der Befehle ................................................................... 24 5.2 LabVIEW eigene Dokumentation der Oberfläche........................... 24

Page 3: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24

1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes Oszilloskop mit Hilfe der Programmiersprache LabVIEW zu visualisieren. Das dabei verwendete Oszilloskop besitzt eine serielle Schnittstelle RS232 sowie einen Ethernetanschluss. Der Gedanke war, die Daten, die das Oszilloskop liefert, über eine bestimmte Entfernung auf einem Rechner darzustellen. Mit der erstellten Software können die Graphen beider Kanäle CH1 und CH2 sowie die Daten aus dem Speicher REF1 dargestellt werden. Die Software bietet außerdem noch die Möglichkeit, die dazugehörenden Einstellungen am Oszilloskop vom Rechner aus zu verändern. Bevor mit dem Programmieren der Software begonnen werden konnte, mussten wir zunächst herausfinden, wie man mit dem Oszilloskop kommunizieren kann. Die dabei verwendeten Befehle und deren Antwortstrings sind im Kapitel 4 erläutert. Obwohl das Oszilloskop einen Ethernetanschluss besitzt, ist eine Kommunikation mit dem TCP/IP Protokoll nicht direkt möglich. Die Firma Tektronix stellt aber eine Software bereit, welche die Verbindung über Ethernet ermöglicht. Das Programm „Tekvisa“ muss dabei auf dem Zielrechner installiert sein. Die Software wird über den VISA Befehlssatz gesteuert, und das Oszilloskop bekommt eine GPIB Adresse, über die es von der Software adressiert wird. Mit den VISA Befehlssatz von LabVIEW steuert man diese Software, welche die Befehle in ein Tektronix eigenes Protokoll umwandelt und an die angegebene GPIB Adresse sendet. Über die serielle Schnittstelle ist die Kommunikation etwas einfacher. Dort werden die Befehle direkt über die Schnittstelle an das Oszilloskop verschickt. Der dabei verwendete Befehlssatz zur Kommunikation ist der gleiche, nur das er, wie es bei der RS232 üblich ist, als ACSII Code gesendet wird. Bei unseren Tests hat sich herausgestellt, dass die Kommunikation mittels Ethernet nur über das IP Protokoll läuft ohne TCP. Das TCP Protokoll stellt aber sicher, das alle Pakete in der richtigen Reihenfolge empfangen und eventuell verloren gegangene erneut angefordert werden. Das IP Protokoll hingegen sendet einfach den Datensatz in kleinen Paketen an die Zieladresse. Je nach Netzwerkverbindung kann es dabei schon mal vorkommen, dass ein Paket verloren geht oder in einer anderen Reihenfolge ankommen. Normalerweise würde das TCP/IP Protokoll diese Fehler beseitigen, was das Tektronix eigene Protokoll aber nicht kann. Aus diesem Grund kann es schon mal vorkommen, dass ein Datenpakt verloren oder sie falsch zusammengefügt werden, welches sich dann in einer nicht stetigen Kurve im Diagrammfenster bemerkbar macht. Dieser Effekt tritt bei der Kommunikation über die RS232 nicht auf, da das Oszilloskop unmittelbar mit dem Zielrechner verbunden ist und alle Daten direkt und auch in richtiger Reihenfolge versendet werden.

Page 4: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 4 von 24

Ein weiterer Schwachpunkt des Oszilloskops ist der interne Sendespeicher. Um eine Kurve vom Oszilloskop auf dem Rechner dazustellen, müssen verschieden Befehle sequenziell in der richtigen Reihenfolge an das Oszilloskop übertragen werden. Je nach Befehl werden die Daten dabei in einem internen Speicher abgelegt. Da aber erst der letzte eingehende Befehl die Datenübertragung an den Rechner aktiviert, muss dafür gesorgt werden, dass bei der Übertragung kein Fehler auftritt, da sonst alle folgenden Befehle falsch interpretiert oder gar nicht erst erkannt werden. Dieser Speicher macht auch Probleme wenn die Datenanforderung unterbrochen oder nicht vollständig ausgeführt wird. Dann stehen die noch verbleibenden Daten im Sendespeicher. Wird nun ein Befehl an das Oszilloskop übertragen, der einen Antwortstring fordert, so werden erst die noch im Sendespeicher stehenden Daten an den Rechner übermittelt und der Antwortstring wird hinten angehängt. Da aber jeder Antwortstring eine genau festgelegte Formatierung hat und damit auch seine Länge festgelegt ist kommt es bei der Auswertung zu erheblichen Fehlinterpretationen. Es hat sich auch bei den einzelnen Testläufen gezeigt, dass die Geschwindigkeit des Programms sehr stark vom verwendeten Rechner und seiner Prozessorleistung abhängt. Dabei kann es schon mal vorkommen, das bei einem schlcht durchdachtem Programm und zu schwachen Prozessor das Programm zu langsam wird und eine Taste durchaus ein zwei Sekunden lang betätigt werden muss, bis das Programm darauf reagiert.

Page 5: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 5 von 24

2 Bedienungsanleitung

2.1 Systemvoraussetzungen

Die Software ist mit der Evaluierungsversion 5.0 von LabVIEW erstellt worden. Diese Entwicklungsumgebung in der Version 5 oder besser muss auf dem Zielsystem installiert sein. Kommunikation über Serielle Schnittstelle Für die Kommunikation über die RS232 ist keine weite spezielle Software erforderlich. Als Hardware ist eine serielle Schnittstelle in PC und Oszilloskop erforderlich sowie ein Kabel, das extra dafür angefertigt werden musste. Pinbelegung des Kabels und Verwendete Adern

Die Einstellungen zur Software und die des Oszilloskops werden in den entsprechenden Kapiteln besprochen. Kommunikation über Ethernet Der Zielrechner muss mit einer Ethernet Netzwerkkarte ausgestattet sein. Diese muss im Betriebssystem korrekt installiert sein. Das Oszilloskop wird über ein RJ45 Patchkabel mit einem Hub oder Switsch verbunden, oder direkt mit einem Twistetpairkabel.

Hinweis: Das Ethernetmodul des Oszilloskops kann nur eine Geschwindigkeit von 10Mbit/s.

Page 6: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 6 von 24

Am Oszilloskop müssen die Etherneteinstellungen IP Adresse, Hostname, DNS ..., korrekt eingestellt werden. Informationen darüber finden Sie im Handbuch des Oszilloskops. Die einzutragenden Parameter sind beim Systemadministrator des jeweiligen Netzwerkes zu erfragen. Auf dem Zielrechner muss die mitgelieferte Software TekVISA installiert werden. Diese finden Sie auf der beigelegten CD Eine Beschreibung der Installation und der Einstellungen von TekVISA finden Sie im Handbuch des Oszilloskops.

2.2 Starten des Programms Auf der CD befindet sich eine Ordner Tektronix. Dort enthalten sind alle VI´s die für das Programm benötigt werden. Um es zu starten führen Sie die Datei

START TEKTRONIKS

aus. Es erscheit dann ein Begrüßungsfenster.

Page 7: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 7 von 24

Zum Hauptprogramm gelangen Sie indem mit Weiter bestätigt oder einfach einige Sekunden gewartet wird. Es erschein dann die Oberfläche des Programms, das Hauptmenu.

Die Oberfläche ist in 3 Teile eingeteilt. Oben links befindet sich das Diagrammfenster, indem der Graph dargestellt wird. Über und unter dem Diagrammfenster sind die Anzeigefelder für die aktuellen Einstellungen. Diese hier rot umrandeten Anzeigefelder werden bei jeder Aktualisierung erneut bestimmt und Datenrichtig zum Diagramm angezeigt. In der rechten Hälfte sind die Register zum einstellen der gewünschten Parameter und grün umrandete Schalter zum Bedienen des Geräts. Im unteren Teil befindet sich die Parametereinstellung für die Datenübertragung. Diese muss bei einem Start zunächst ausgeführt werden. Der Schiebeschalter bestimmt die Verbindungsart zwischen Oszilloskop und Rechner. Stellen sie den Schalter auf die gewünschte Datenübertragung und betätigen Sie anschließend die Taste Einstellungen. In Abhängigkeit der Schalterstellung öffnet sich dann ein Fenster, indem die entsprechenden Einstellungen zur Datenübertragung vorgenommen werden. Wichtig hierbei ist, dass der Schalter nicht während des laufenden Betriebs umgeschaltet wird. Sonst kann es passieren, dass Software und Hardware nicht mehr synchron laufen.

Page 8: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 8 von 24

Außerdem befinden sich noch im unteren Teil der Ausschalter, der das Programm beendet und eine Leuchtanzeige, die den Betriebszustand anzeigt. Ist diese grün, wartet das Programm auf eine Eingabe. Leuchtet sie rot ist das Programm am arbeiten oder überträgt gerade Daten zum Oszilloskop. In dieser Zeit sollte man keine weiteren Tasten betätigen um den störungsfreien Ablauf des Programms zu gewährleisten.

Einstellungen der Kommunikation über RS 232

Nach betätigen des Schalters Einstellungen im Hauptmenu, öffnet sich ein neues Fester. In diesem Menu „Initialisierung der RS232“ werden alle Einstellungen der Schnittstelle vorgenommen, die für eine sichere Kommunikation mit dem Oszilloskop erforderlich sind.

Dabei sollte beachtet werden, dass sowohl der PC als auch das Oszilloskop die gleichen Parameter verwenden. Nach dem einstellen der gewünschten Parameter muss die Schnittstelle initialisiert werden. Dies erfolgt über den Schalter Initialisieren. Das Verlassen des Menus ist jederzeit über den Schalter OK möglich. Der Zustand der Initialisierung wird durch eine LED gekennzeichnet, die, wenn alle Werte korrekt eingestellt und eine Verbindung zum Oszilloskop aufgebaut wurde, grün leuchtet. Kann die Schnittstelle nicht initialisiert werden oder IST die Kommunikation mit dem Oszilloskop fehlgeschlagen, leuchtet sie rot.

Page 9: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 9 von 24

Die folgende Tabelle enthält eine Auswahl der Parameter die eingestellt werden können, einer kurzen Beschreibung und die Standarteinstellung.

Parameter Standart Möglichkeiten Bedeutung

Anschlussnummer 0 0 = COM1 1 = COM2

Verwendung des jeweiligen seriellen Anschlusses

Datenbits 8 5 bis 8 Anzahl bei der Übertragung verwendeten Datenbits

Puffergröße 0 Nach Bedarf Größe des bei der Datenübertragung verwendeten Datenpuffer

Baudrate 9600 1200 bis 19200 Verwendete Geschwindigkeit mit der die Daten übertragen werden

Stoppbits 1 1;1,5;2 Anzahl der verwendeten Stoppbits

Parität no parität no parität odd parität

Gibt an, ob Parität verwendet werden soll oder nicht

Maximale Versuche 10 1 bis 100 Wie oft versucht werden soll die Schnittstelle zu initialisieren

Einstellungen der Kommunikation über TCP/IP

Wird die Verbindung TCP/IP über den Wahlschalter in der Oberfläche gewählt und anschließend die Taste Einstellungen betätigt, so wird folgendes Bild angezeigt.

1

2

3

Page 10: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 10 von 24

Auch hier wird wieder daran erinnert, dass der TekVISA Treiber installiert sein muss. Der Rechner sucht nun alle GPIB Adressen ab und zeigt diese im Indexfeld (1). Durch die Auf- und Abwärtstasten kann man sich alle gefundenen Geräte anzeigen lassen. Wählen Sie nun im Indexfeld das Oszilloskop aus. Um jetzt das korrekte Gerät auszuwählen muss der Gerätenummerschalter (2) so eingestellt werden, dass die Gerätenummer mit der Indexnummer übereinstimmt. Diese Nummer ist abhängig vom TekVISA Treiber. Wenn im Anzeigefeld 1 keine Geräte gefunden werden, dann ist entweder der TekVISA Treiber nicht installiert oder aktiviert oder der Verbindungsaufbau ist nicht korrekt. Schauen sie hierzu in den Kapitel Systemvoraussetzungen unter Installation TekVISA Treiber nach. Um zu Testen ob die gewählte Gerätenummer die richtige Adresse ist, besteht die Möglichkeit die Verbindung zu testen. Drücken Sie hierzu auf den Testknopf. Im Anzeigefeld 3 sollte nach einer Wartezeit ein Antwortstring von Oszilloskop erscheinen.

Der Eintrag hat folgenden Inhalt:

Tektronix,TDS 3012,0,CF:97.1CT FV:v2.20 TDS3EM:v1.00

Sie können nun sichergehen, dass die Verbindung zum Oszilloskop korrekt installiert ist. Beenden Sie nun den Dialog mit Weiter.

2.3 Einlesen der Daten

Es besteht die Möglichkeit die Daten von 3 verschiedenen Quellen des Oszilloskops einzulesen. Über das Register Signalquelle kann eingestellt werden, ob der Kanal CH1, der Kanal CH2, oder der interne Speicher REF1 als Datenquelle angesprochen werden soll. Wird anschließend der Knopf „Daten einlesen“ für gedrückt, so wird das momentane Abbild von der eingestellten Signalquelle an den Rechner übertragen. Dabei ist zu beachten, dass das Signal auch am Oszilloskop aktiviert (sichtbar, nicht ausgeblendet) ist. Die Taste „Daten einlesen“ eignet sich auch als Aktualisierungstaste, um die Daten auf den neusten Stand zu bringen. Der Signalverlauf wird im Diagrammfenster angezeigt. Oberhalb und unterhalb erscheinen die aktuellen Informationen über die Einstellungen „Volts pro Devision“ und die „Timebase“. Diese Angaben können sich mit den Einstellungen der Register V/div und s/div auf der rechten Seite unterscheiden. Diese Register dienen nur zum setzen von neuen Parametern und werden an das Oszilloskop gesendet und können nach einem Programmstart oder

Page 11: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 11 von 24

einem „Autoset“ vom tatsächlichen Wert abweichen. Zum dargestellten Bild gelten immer die Anzeigen über und unter dem Diagramm.

2.4 Parameter setzen Die Daten im Diagramm sind nicht immer perfekt dargestellt. Um die Darstellung zu ändern stehen dem Anwender 2 Möglichkeiten zur Verfügung. Um die Möglichkeit einer automatischen Einstellung vom Oszilloskop selbst zu nutzen, muss man den Knopf „Autoset“ drücken. Das Oszilloskop stellt sich dann für das anliegende Signal optimal ein, aber die Daten werden nicht automatisch an den Rechner übertragen. Eine Aktualisierung der Darstellung ist notwendig und dies geschieht mit einem Tastendruck auf „Daten einlesen“. Eine weitere Möglichkeit die Darstellung zu manipulieren ist, die Parameter von Hand einzustellen. Über die Einstellung der Register s/div und v/div können die Timebase und die Volts pro Devision verändert werden. Nach gewünschter Einstellung beider Register muss die Taste „Werte setzen“ gedrückt werden. Die Einstellungen werden dann vom Oszilloskop übernommen. Auch hier muss eine Aktualisierung der Daten mit „Daten einlesen“ erfolgen, um die Änderung auf dem Rechner sichtbar zu machen.

Page 12: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 12 von 24

3 Programmierung des Programms 3.1 Organigramm

Start

Hauptmenu

Durch betätigen des Schalters Weiter

ProgrammablaufRS232

Programmablauf TCP/IP

Einstellung der Datenübertragung

Anzeigen des Begrüßungsmenus

EXIT

Page 13: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 13 von 24

3.2 Ablaufplan Dargestellt ist der Ablauf am Beispiel der Datenübertragung über die RS232.

Start

Hauptmenu

Programmablauf

RS232

Programmablauf

TCP/IP

Begrüßungsmenu

EXIT

Werte setzen

Autoset

Daten lesen

Einstellungen

Tabellen lesen

Initialisieren

Verbindungstest

Daten senden

Parameter setzen

Daten senden

Daten lesen

Daten auswerten

Daten senden

Page 14: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 14 von 24

4 Diagrammbeschreibung Im Folgenden sollen die verwendeten VI´s erklärt und die näher auf die Programmierung eingegangen werden.

4.1 Start Tektronix Dieses VI ist das wohl kleinste und hat eigentlich keine Funktion, die Einfluss auf das Programm nimmt. Es dient nur dazu das Begrüßungsmenu und die Oberfläche zustarten. Zur Programmierung des VI´s ist nicht viel zu sagen. Es besteht aus einer Sequenz in der nacheinander das VI vom Begrüßungsmenu und der Oberfläche aufgerufen wird.

4.2 Cover Dieses VI wird von Start Textronix aufgerufen und zeigt das Begrüßungsmenu an. Beendet wird es nach 25 Sekunden oder durch betätigen der Taste Weiter. Dieses wird durch eine While Schleife realisiert wie im Bild zu sehen ist.

4.3 Die Oberfläche Die Oberfläche ist das umfangsreichste VI. In ihr werden alle für das Programm benötigten Befehle verwaltet und alle weiteren dazu benötigten VI´s aufgerufen. Dieses VI ist in einer Schleife programmiert, die immer den Wert Wahr hat. Dies hat zur Folge, dass das Programm nur über den Schalter Exit oder über das X am oberen rechten Bildrand beendet werden kann. Die Arrays links, in denen alle konstant bleibenden Werte abgelegt sind, ist außerhalb der Schleife programmiert. Das hat den Vorteil, dass die Arrays nicht bei jedem Schleifendurchlauf neu angelegt werden müssen und erhöht auch die Geschwindigkeit des Programms erheblich. Die Werte aus den Arrays werden aber pro Schleifendurchlauf einmal abgefragt.

Page 15: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 15 von 24

Da der Aufwand und vor allem der Umfang des Programms am Anfang noch nicht abzusehen war und auch nicht die Leistungsfähigkeit von LabVIEW wurde das Programm am Anfang ohne die erste Sequenz Programmiert. Wie sich aber herausgestellt hat, benötigt das Programm in der Entwicklungsumgebung sehr viel Rechenleistung, so das es notwendig wurde diese Anweisung hinzu zu fügen. Sie dient nur dem Zweck, den Programmablauf zu beschleunigen. Ohne diese Sequenz war die benötigte Rechenleistung so groß, dass selbst ein gut ausgestatteter PC zu langsam ist, um schnell genug auf die Eingaben zu reagieren. Daher wird das Programm im ersten Teil der Sequenz in einer Schleife festgehalten und wartet dort auf die Eingabe.

Sobald eine Taste betätigt wird, wird die Schleife verlassen und zum zweiten Teil der Sequenz gewechselt, wo das Eigentliche Programm steht. Dort findet man neben den Eingabevariablen, die zum ändern der Werte am Oszilloskop gebraucht werden, auch die Variable des Schalters

• DFÜ

Diese Variable ist für die Übertragungsart zuständig und schaltet die Case Anweisung um. Sie wird durch den Schiebeschalter RS232/TCP/IP gesteuert. Für die RS232 Steuerung gilt der Inhalt der wahren Case Anweisung.

Page 16: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 16 von 24

Außerdem findet man noch 4 Variabeln, die zu den entsprechenden Schaltern gehören.

• Daten einlesen • Autoset • Einstellungen • Werte setzen

Sie schalten die jeweiligen Case Anweisungen frei, in denen die dazugehörigen Programmteile stehen um Daten vom Oszilloskop zu empfangen oder zu senden bzw. die jeweilige Schnittstelle zu initialisieren.

Die Case Anweisung Daten Formatieren ist für die Formatierung und Auswertung der Daten die vom Oszilloskop gesendet werden zuständig. Sie enthält eine Sequenz in der als erstes die Skalierung und Quelle ausgewertet werden. Im zweiten Teil werden dann die Pixelwerte vom Signal umgerechnet und für die Ausgabe Formatiert. Hauptprogrammteil

Das Hauptprogramm befindet sich in einer Case Anweisung, die durch die Variabel DFÜ (RS232-TCP/IP) für die jeweilige Übertragungsart freigeschaltet wird. In jedem dieser Blöcke (true und false) befinden sich 4 weitere Case Anweisungen, die durch den entsprechenden Tastendruck aktiviert werden.

Page 17: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 17 von 24

Ein Tastendruck auf Einstellungen aktiviert die Case Anweisung für das Initialisieren der seriellen Schnittstelle oder für die Initialisierung der TCP/IP Verbindung, jeweils immer in Abhängigkeit der boolschen Variable TCP/RS232. Betätigt man die Taste Daten einlesen so wird eine Sequenz in der entsprechenden Case Anweisung gestartet. Mit einem Sendebefehl werden dort bestimmte Befehle in der richtigen Reihenfolge an das Oszilloskop übertragen. Die Bedeutung der Befehle wird im Anhnang erläutert. Anschließend wird ein Befehl zum übertragen der Parameter übersandt. Dieser Befehl löst einen Antwortstring aus der dann in der Anweisung Daten Formatieren weiterverarbeitet wird. Der Antwortstring wird zunächst in einem SubVI „param“ in die Angaben v/div, s/div, die eingestellte Kopplung (AC,DC,GND) und die Quelle von der gelesen wurde aufgeschlüsselt. Die Werte v/div und s/div werden

noch zur Aufbereitung der Diagrammdaten in einem SubVI (y-werte) verwendet. Die aufgeschlüsselten Angaben werden dann auf der Oberfläche ober- und unterhalb des Diagrammfensters angezeigt. Nach dieser Parameteranforderung ist die nächste Sequenz das anfordern der Kurvendaten. Nach dem Wegschicken des Befehls, der die Daten anfordert, sendet das Oszilloskop die Pixelwerte des Singnals die in einen String Daten1 bzw. Daten2 gespeichert werden. Dieser String geht auch an ein SubVI (y-werte) und wird dort mit den schon aufgeschlüsselten Parametern zu einer darstellbaren Kurve aufbereitet.

Page 18: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 18 von 24

Die Case Anweisung, welche durch den Tastendruck Werte setzen ausgelöst wird sendet zunächst einen zusammengesetzten String zum einstellen der X – Parameter und anschließend einen String zum einstellen der Y – Parameter. Ein Tastendruck auf Autoset sendet den String zum automatischen einstellen des Osziloskops. Die Befehlszusammensetzung für RS232 und TCP/IP ist unterschiedlich und sind deshalb innerhalb der Case Anweisungen für Seriell und Ethernet.

4.4 Tcp Initialisierung

Diese VI dient zur Initialisierung und Testen der TCP/IP Einstellungen. Wie schon im Vorwort beschrieben wurde, kommunizieren Rechner und das Oszilloskop in Ethernetbetrieb über einen eigenen TekVISA Treiber. Dieser erlaubt dem Programmierer die Ansteuerung des Oszilloskops über den VISA Befehlssatz von LabVIEW. Das InitialisierungsVI ist in einer „while schleife“ programmiert welche solange arbeitet, bis die Taste Weiter betätigt wird. Bei diesem Tastendruck wird auch das Frontpanel wieder geschlossen. LabVIEW stellt ein VI bereit, das alle angeschlossenen GPIB Geräte auffindet. Die gefundene Liste wird in ein Array geschrieben, welches durch den Wahlschalter Gerätenummer initialisiert wird. Der String der durch das initialisierte Array als Antwortstring herauskommt, stellt die Adresse dar, mit der alle weiteren Sende und Empfangs VI angesteuert werden. Somit wäre die Aufgabe der Initialisierung der TCP/IP Verbindung beendet. Möchte man noch sichergehen, dass auch das richtige Gerät adressiert ist, so betätigt man die Taste Test und es wird in einer Case Anweisung eine Anforderung der Identifikation gesendet. Das Oszilloskop

Page 19: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 19 von 24

identifiziert sich mit einem Antwortstring, der in einer Anzeige dargestellt wird.

4.5 param

Dieser SUBVI dient der Aufschlüsselung der Parameter, die vom Oszilloskop gesendet werden. Dabei sendet das Oszilloskop nach einer anfrage der Parameter einen Antwortstring, der wie folgt zusammengesetzt ist.

:WFMPRE:WFID „CH1, DC Coupling,1.0E-1 v/div, 4.0E-4 s/div, 1000 points, Sample mode”

Page 20: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 20 von 24

Das Parameter VI ließt diesen Antwortstring ein, und unterteilt diesen in Sinnabschnitte und schreibt diese in ein Array. Dies geschieht in einer For Schleife die ein Schieberegister besitzt. Das aus der For Schleife herauskommende Datenarray wird dem Inhalt entsprechend initialisiert und mit Hilfe von Teilstrings und Stringumwandlungen in geeignete Formate konvertiert.

4.6 y-Werte

Wie auch die Parameter die das Oszilloskop schickt müssen auch die Werte des Signals erst einmal aufgewertet werden. Anzunehmen währe, dass vom Oszilloskop Wertepaare geschickt werden, um das Signal darzustellen. Diese ist aber nicht der Fall. Es liefert fortlaufend 10.000 Werte von 0 bis 65.536 die den Digitalen Wert der Y-Werte darstellen. Um aber das Signal darstellen zu können, werden Wertepaare benötigt die in X Richtung die Richtige Zeit haben und in Y Richtung die exakte Spannung darstellen. Diese Umrechnung wird im SUBVI y-Wert bewerkstelligt. Es besteht aus einer While Schleife mit einem Schieberegister, das mit dem Datenstring von 10.000 Werten initialisiert

wird. In der Schleife wird pro durchlauf ein Wert aus dem String geschnitten und in den entsprechenden Spannungswert umgerechnet. Außerdem werden noch pro durchlauf die X-Werte berechnet, die jeweils aus dem vielfachen des Schleifenzählers und der Zeitkonstanten berechnet werden. Erst wenn das Schieberegister leer ist wird die Schleife verlassen und die X und Y Werte als Array weitergegeben, die dann außerhalb der Schleife in ein 2 dimensionales Array geschrieben werden.

Page 21: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 21 von 24

4.7 RS232 Das initialisieren der RS232 Schnittstelle ist eigentlich in LabVIEW integriert, wurde aber als SUBVI erweitert um nicht nur mit den Standarteinstellung zu arbeiten. Außerdem bereitet das initialisieren der RS232 des Computers keine Probleme, sondern eher der Aufbau einer Kommunikation mit einem anderen Gerät. Aus diesem Grund wurden alle benötigten VI´s erweitert und als SUBVI´s in das Programm eingebunden. RS232 Initialisieren Das VI wartet erst einmal in einer Schleife bis eine der Tasten OK oder Initialisieren betätigt wird. Ist dies der Fall wird entweder die Case Anweisung freigegeben oder das VI verlassen. Wenn alle Parameter in der Oberfläche eingegeben sind und die Taste Initialisieren gedrückt

wird, wird in einer Sequenz als erstes die RS232 Schnittstelle des PC mit den eingestellten Parametern initialisiert. Da dies in der Regel keine Probleme mach, egal was eingestellt wird, wird im zweiten Teil der Sequenz noch die Kommunikation mit dem Oszilloskop geprüft. Erst wenn auch die Kommunikation mit dem Oszilloskop aufgebaut wurde und kein Fehler aufgetreten ist, wird die Variable der Initialisierung freigegeben (=1 gesetzt).

Page 22: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 22 von 24

RS232 Empfangen Nach dem Initialisieren der RS232 ist die Kommunikation zu Oszilloskop aufgebaut und es können nun Daten gesendet und gelesen werden. Dieses ist allerdings nicht so trivial wie man sich das vorstellt. Wird dem Oszilloskop ein Befehl gesendet der eine Antwort zur Folge hat, wird diese erst einmal in den Puffer des Oszilloskops geschrieben bevor sie gesendet wird. Dabei gibt es zwei Möglichkeiten. Entweder die Antwort passt in den Puffer oder nicht. Ist sie größer, wird der volle Puffer gesendet und anschließend mit den verbleibenden Daten gefüllt und verschickt. Dies kann sich auch mehrere male wiederholen, so oft bis alle Daten gesendet sind. Dieser Umstand macht sich aber zum Problem, da während der Zeit in dem der Puffer gefüllt wird, der Datenstrom für kurze Zeit unterbrochen ist. In genau dieser Zeit kann es vorkommen, dass der Empfänger die Kommunikation unterbricht und somit der Datenaustausch unterbrochen wird. Leider ist es dem Empfänger nicht möglich (bei unserem Oszilloskop), im Voraus festzustellen wie viele Datenpakete er bekommt. Daher ist das Empfangs VI so programmiert, dass es so lange ließt bis eine gewisse Zeit nichts mehr ankommt und das auslesen der RS232 ist auf 1 Byte

beschränkt. Um einen Programmabsturz zu verhindern sind alle VI´s in einer Case Anweisung Programmiert, die erst freigeschaltet werden, wenn die Initialisierung erfolgreich war. Das Lesen ist in einer While Schleife programmiert, die mit einem Schieberegister versehen ist, was die Aufgabe hat mehrere Datenpakete aneinander zu hängen. Verlassen wird die Schleife erst, wenn eine bestimmte Zeit kein Zeichen mehr empfangen wurde, was im zweiten

Page 23: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 23 von 24

Teil der Sequenz steht. Im ersten Teil der Sequenz werden die Daten bzw. Bytes von der RS232 Schnittstelle gelesen. Dabei wird erst überprüft, ob was im Datenpuffer steht. Ist dieser mit einer bestimmten Anzahl von Zeichen gefüllt, wird eine For Schleife mit genau dieser Anzahl initialisiert. Danach wird die Schleife, die ebenfalls ein Schieberegister besitz, abgearbeitet und pro durchlauf ein Byte gelesen und an den String des Schieberegisters angehängt. Sind alle Daten gelesen, werden diese an das Hauptprogramm übergeben. RS232 Senden Anders als beim Empfangen ist die Datenmenge völlig egal und muss nicht beachtet oder besonders Programmiert werden. Das verschicken der Daten übernimmt das jeweilige Betriebssystem und kann auch nicht vom Benutzer oder Programmierer (zu mindest nicht bei LabVIEW) beeinflusst werden. Das senden der Daten ist auch hier in einer Case Anweisung geschrieben welche auch erst freigegeben wird, wenn die Initialisierung erfolgreich war. Das währe hier zwar nicht erforderlich, beschleunigt aber das Programm, falls es versucht Daten zu versenden, wenn keine Kommunikation vorhanden ist.

Ein Absturz oder stehen bleiben kann hier nicht so einfach erfolgen, wie es beim Lesen der RS232 möglich ist. Das Senden der Daten erfolgt über einen vorhandenen VI, dem lediglich die Portnummer und der zu sendende String übergeben wird.

Page 24: Oszilloskop am PC -  · PDF fileVisualisierung eines Oszilloskops Seite : mit LabVIEW 3 von 24 1 Vorwort Die von uns gestellte Aufgabe war, ein in der Hochschule vorhandenes

Visualisierung eines Oszilloskops Seite : mit LabVIEW 24 von 24

5 Anhang

5.1 Beschreibung der Befehle

5.2 LabVIEW eigene Dokumentation der Oberfläche