TOELLNER LabVIEW-Treiber V5.0 LITE der Netzgeräte-Modellreihen TOE8840 und TOE8850 für LabVIEW V5.0.x =================================================================== 1. Allgemeines """""""""""""" Die in den LabVIEW-Treibern vorhandenen TOELLNER-VIs (VI = Virtuelles Instrument) basieren in ihrer Funktion auf der Befehlsstruktur, die in der Betriebsanleitung für die DC-Netzgeräte der Modellreihen TOE8840 undTOE8850 detailliert beschrieben ist. Bei den nachfolgend beschriebenen Treibern wird z.T. stellvertretend für die Bezeichnungen TOE8841, TOE8842, TOE8851 und TOE8852 die Umschreibung TOE88xx benutzt. Der LabVIEW-Treiber TOE88xx stellt die Softwareschnittstelle zwischen Computer, LabVIEW und dem Netzgerät über den GPIB-Bus gemäß IEEE488.1 oder die RS232- Schnittstelle dar. Der Treiber ist analog zu den von National Instruments (NI) aufgestellten Regeln aufgebaut. Zur Bedienung der Netzgeräte der Modellreihen TOE8840 und TOE8850 muß zunächst die Schnittstellen-Karte oder die serielle Schnittstelle des Computers richtig konfiguriert werden. Anschließend können Routinen aus dem Treiber in eine neue Applikation eingebunden werden oder das Beispiel TOE88xx LITE Vx.xx (TOE88xx steht für den Netzgerätetyp und Vx.xx für die Versions-Nr., z.B. TOE8852 LITE V4.01) kann ausgeführt werden. 1.1 Einleitung -------------- In dieser Anleitung werden exemplarisch die LabVIEW TOE8852-VIs beschrieben. Die Unterschiede zu den Geräte-VIs TOE8841, TOE8842 und TOE8851 werden in den Erklärungen der betreffenden VIs gesondert beschrieben. Die zum LabVIEW-Lieferumfang gehörenden allgemeinen VIs werden in dieser Anleitung nicht berücksichtigt. Für die korrekte Funktionsweise der Treiber muß LabVIEW in den Grundeinstellungen auf den Dezimalpunkt eingestellt werden. Hierzu ist der unter "Front Panel" vorhandene Menüpunkt "Use localized decimal point" auszuschalten. Anschließend muß LabVIEW beendet und neu gestartet werden, damit diese Änderung wirksam wird. Bei eingeschalteter LabVIEW-Hilfe werden die Variablen der einzelnen VIs angezeigt. Wenn einer dieser Anschlüsse nicht belegt wird, werden die Default-Einstellungen des VIs übernommen. 1.2 Konfiguration der GPIB-Schnittstellenkarte ---------------------------------------------- Wird das Netzgerät über den GPIB-Bus betrieben, muß zunächst die Konfiguration der NI-Schnittstellenkarte mit dem Zusatzprogramm "WIBConf" oder "Win Interactive Control" von LabVIEW vorgenommen werden. Nachfolgend ist ein Beispiel für eine korrekte Einstellung anhand der NI-Schnittstellenkarte PC II/IIA aufgelistet: Controller-Einstellung Primary GPIB Address 0 Secondary GPIB Address NONE Timeout setting 3sec Terminate Read on EOS Yes Set EOI with EOS on Writes Yes Type of compare on EOS 7-Bit EOS byte 0Ah Send EOI at end of Write Yes System Controller Yes Assert REN when SC Yes Enable Auto Serial Polling Yes Enable CIC Protocol No Bus Timing 2µsec Parallel Poll Duration Default Use this GPIB interface Yes Board Type PC IIA Base I/O Address 02E1h DMA Channel 1 Interrupt Level 7 Für das angeschlossene Netzgerät sollte unter der entsprechenden Device-Adresse (Default-Wert für die Netzgeräte ist Adresse 9) folgende Einstellung gewählt werden: Device-Einstellung Primary GPIB Address 9 Secondary GPIB Address NONE Timeout setting 3sec Serial Poll Timeout 3sec Terminate Read on EOS Yes Set EOI with EOS on Writes Yes Type of compare on EOS 7-Bit EOS byte 0Ah Send EOI at end of Write Yes Enable Repeat Addressing Yes 2. Virtuelle Instrumente (VIs) """""""""""""""""""""""""""""" 2.1 Aufbau der VIs im Treiber ----------------------------- Alle VIs sind analog aufgebaut. Die VIs haben Eingangs- und Ausgangsvariablen. Dabei sind die wichtigsten Größen die "Error- Variable" und die "Instrument Handle-Variable". Beide Variablen werden durch jedes VI durchgeschleift. Die "Error-Variable" dient der Übergabe von Fehlern. Am Ende der Applikation können diese Fehler zur Fehlersuche herangezogen werden. Die "Instrument Handle- Variable" wird beim Durchlaufen des TOE88xx Open.vi von LabVIEW mit einer Nummer belegt. Mit Hilfe dieser Nummer kann LabVIEW in den einzelnen VIs das angesprochene Gerät eindeutig identifizieren. Mit der "Instrument Handle-Variablen" wird z.B. auch auf die zu einem Gerät gehörenden "Globalen Variablen" zurückgegriffen. Die "Globalen Variablen" befinden sich in einem Cluster. Die Initialisierung des Netzgerätes geschieht mit dem TOE88xx Open.vi. Dieses VI darf nur einmal während der gesamten Programmausführung, und zwar am Anfang, zum Ansprechen des Netzgerätes benutzt werden. 2.2 Alle VIs auf einen Blick ---------------------------- Open-, Close- und Error Handler-VIs Um den Zugriff zum Netzgerät über die GPIB- oder RS232-Schnittstelle zu erhalten, muß zu Beginn einer Applikation das TOE88xx Open.vi aufgerufen werden. Zur Beendigung des Programms muß das TOE88xx Close.vi aufgerufen werden, damit das Netzgerät wieder für den Local- Betrieb freigegeben werden kann. Das TOE88xx Get Device.vi gehört zum TOE88xx Open.vi und liest alle Minimal- und Maximalwerte von Spannung und Strom sowie alle weiteren relevanten Parameter eines Netzgerätes mit den IEEE488.2-Standardbefehlen "*idn?" und "*lrn?" ein. Diese Werte werden als "Globale Variablen" in das TOE8840/50 Global Data.vi übernommen, d.h. die Eckdaten eines Gerätes werden automatisch erkannt und müssen nicht eingegeben werden. Im Netzgerät ist ein Speicher für Fehlermeldungen reserviert. Das Error-VI TOE Error Handler.vi kann diese Fehlermeldungen auslesen und in einer Dialogbox darstellen. Einstellen des Netzgerätes Die Einstellungen von Spannung und Strom am Netzgerät werden mit den VIs TOE Voltage.vi und TOE Current.vi durchgeführt. ACHTUNG: Die eingestellten Spannungs- und Stromwerte werden erst durch das Umschalten des Netzgerätes in den Execute-Zustand mit Hilfe des VIs TOE STB/EXE.vi an die Ausgangsklemmen geleitet. System-VIs Die VIs TOE Self Test.vi, TOE Reset.vi, und TOE Clear Status.vi werden beim Programmstart innerhalb des TOE88xx Open.vi ausgeführt. Mit diesen VIs wird das Netzgerät in einen definierten Anfangszustand versetzt. 3. TOE8840/8850 Netzgeräte-VIs """"""""""""""""""""""""""""""" 3.1 Grundsätzliches zu den Netzgeräte-VIs ----------------------------------------- Die VIs verfügen in der Regel über Eingangs- und Ausgangsvariablen. Alle nicht angeschlossenen Variablen führen entweder zu der in Klammern angegebenen Aktion, z.B. "reset (t: yes)" führt die Rücksetzfunktion aus, oder die im VI eingestellten Default-Werte werden berücksichtigt. 3.2 Alle Netzgeräte-VIs im Detail --------------------------------- Globale Variablen: TOE8840/50 Global Data.vi Das TOE8840/50 Global Data.vi wird im Open-VI TOE88xx Open.vi erstmalig initialisiert. Anschließend können in allen anderen VIs die "Globalen Variablen" des TOE8840/50 Global Data.vi gelesen, verarbeitet und für nachfolgende VIs neu geschrieben werden. Durch die "Globalen Variablen" ist es möglich, die Netzgeräteausführung zu erkennen und für alle VIs zur Verfügung zu stellen. Anwendung öffnen: TOE88xx Open.vi Am Anfang jeder Applikation muß das TOE88xx Open.vi zur Initialisierung des Netzgerätes ausgeführt werden. Hier wird u.a. die Schnittstelle GPIB oder RS232 ausgewählt und initialisiert. Tritt in diesem VI ein Fehler auf, wird er über den "error out"- String an die folgenden VIs übergeben. Desweiteren kann beim Initialisieren des Netzgerätes mit dem TOE Self Test.vi der Selbsttest und mit dem TOE Reset.vi die Rücksetzfunktion ausgeführt werden. Das TOE88xx Open.vi hat eine besonders herauszuhebende Eigenschaft. Während der Initialisierung ermittelt das VI mit Hilfe des TOE88xx Get Device.vi die Netzgeräteausführung, z.B. TOE8851, 16V, 20A. Anhand der eingelesenen Daten werden die Geräteparameter in das TOE8840/50 Global Data.vi geschrieben und stehen in der Folge allen anderen VIs zur Verfügung. Mit diesen globalen Daten werden u.a. die maximale Spannung und der maximale Strom an den Drehreglern in LabVIEW eingestellt. ACHTUNG: Das TOE88xx Open.vi schaltet das Netzgerät automatisch auf die SCPI-Sprache um. Netzgeräteausführung einlesen: TOE88xx Get Device.vi Das TOE88xx Get Device.vi ermittelt die Netzgeräteausführung, z.B. TOE8851, 16V, 20A. Anhand der eingelesenen Daten werden die Geräteparameter in das TOE8840/50 Global Data.vi geschrieben. Diese globalen Daten stehen in der Folge allen anderen VIs zur Verfügung. Das Open-VI TOE88xx Open.vi greift während der Initialisierung des Netzgerätes auf das TOE88xx Get Device.vi zurück. Anwendung schließen: TOE88xx Close.vi Zum Beenden des Treibers muß das TOE88xx Close.vi aufgerufen werden, damit das Netzgerät wieder für den Local-Betrieb freigegeben werden kann. Spannung einstellen: TOE Voltage.vi Die Spannungseinstellung erfolgt mit dem TOE Voltage.vi. Mit der Eingangsvariablen "VOLTAGE" wird der Spannungswert eingestellt. Zusätzlich muß bei den Doppelnetzgeräten die Eingangsvariable "channel" mit dem Wert "1" (Default-Wert) oder "2" zur Auswahl des Ausgangskanals belegt werden. Der jeweils maximal zulässige Spannungswert kann aus dem TOE8840/50 Global Data.vi entnommen werden. Strom einstellen: TOE Current.vi Die Stromeinstellung erfolgt mit dem TOE Current.vi. Mit der Eingangsvariablen "CURRENT" wird der Stromwert eingestellt. Zusätzlich muß bei den Doppelnetzgeräten die Eingangsvariable "channel" mit dem Wert "1" (Default-Wert) oder "2" zur Auswahl des Ausgangskanals belegt werden. Der jeweils maximal zulässige Stromwert kann aus dem TOE8840/50 Global Data.vi entnommen werden. Ausgang aktivieren: TOE STB/EXE.vi Mit dem TOE STB/EXE.vi kann der Ausgang des Netzgerätes Standby oder Execute geschaltet werden. Zum Umschalten des Netzgeräteausgangs in den Execute-Betrieb wird der Eingangsvariablen "STB/EXE" ein "true" übergeben. Spannung und Strom messen: TOE Measure.vi Zum Messen der an den Anschlußklemmen anliegenden Ausgangsspannung oder des momentan fließenden Ausgangsstroms wird das TOE Measure.vi verwendet. Die ermittelten Meßwerte können dann ausgegeben oder weiterverarbeitet werden. Netzgerätezustand einlesen: TOE88xx Get Value.vi Mit dem TOE88xx Get Value.vi wird der aktuelle Gerätezustand abgefragt. Die einzelnen Geräteparameter stehen als Ausgangsvariablen für andere VIs zur Verfügung. Netzgerät zurücksetzen: TOE Reset.vi Das TOE Reset.vi führt den IEEE488.2-Standardbefehl "*rst" aus, mit dem das Netzgerät in einen definierten Anfangszustand versetzt wird (siehe Betriebsanleitung). Das TOE88xx Open.vi ruft beim Initialisieren das TOE Reset.vi auf, wenn der Eingangsvariablen "reset" des Open-VIs ein "true" übergeben wird. Selbsttest ausführen: TOE Self Test.vi Das TOE Self Test.vi führt den IEEE488.2-Standardbefehl "*tst?" aus, mit dem ein Selbsttest des Netzgerätes durchgeführt wird (siehe Betriebsanleitung). Die Fehlercodierung des Selbsttests kann in das Simple Error Handler.vi geschrieben werden, wenn der Eingangsvariablen "show dialog box" ein "true" (Default-Wert) übergeben wird. Das TOE88xx Open.vi ruft beim Initialisieren das TOE Self Test.vi auf, wenn der Eingangsvariablen "self test" des Open-VIs ein "true" übergeben wird. Netzgeräte-Status zurücksetzen: TOE Clear Status.vi Das TOE Clear Status.vi führt den IEEE488.2-Standardbefehl "*cls" aus, der eine Reihe on Löschvorgängen in den Statusregistern bewirkt (siehe Betriebsanleitung). Das TOE88xx Open.vi ruft beim Initialisieren ebenfalls das TOE Clear Status.vi auf. Warten auf Message Available Bit (MAV): TOE Wait for MAV.vi Das TOE Wait for MAV.vi wird dazu verwendet, Antworten vom Netzgerät im GPIB-Busbetrieb zu erwarten. Sobald das Netzgerät seine Antwort im Ausgabepuffer bereit hat, wird im Status Byte-Register das MAV- Bit gesetzt. Error Handler: TOE Error Handler.vi Das TOE Error Handler.vi liest den im Netzgerät reservierten Speicher für Fehlermeldungen aus. Dabei können vor dem Aufruf dieses VI's mehrere Fehler aufgetreten sein. Um alle Fehler anzeigen zu können, muß der Eingangsvariablen "until error queue empty" ein "true" (Default-Wert) übergeben werden. Die Fehler können in das Simple Error Handler.vi geschrieben werden, wenn der Eingangsvariablen "show dialog box" ein "true" (Default-Wert) übergeben wird. Die Ausgangsvariable "error out" liefert im Fehlerfall ein "true" und den zuletzt aufgetretenen Fehler, wenn die Eingangsvariable "produce error out" "true" ist. Ist die "produce error out"-Variable "false" (Default-Wert) oder unbeschaltet, liefert "error out" keinen Fehler. 4. Programmierung mit LabVIEW-Treibern """""""""""""""""""""""""""""""""""""" 4.1 Initialisierung ------------------- Zu Beginn eines jeden Programmdurchlaufs muß das TOE88xx Open.vi aufgerufen werden. Dort wird mit dem "Interface"-Schalter entweder die GPIB- oder RS232-Schnittstelle eingestellt, die vom Netzgerät benutzt werden soll. 4.2 Einstellen der GPIB-Schnittstelle ------------------------------------- Beim Betrieb des Netzgerätes mit der GPIB-Schnittstelle muß dem Open- VI TOE88xx Open.vi mit Hilfe der Eingangsvariablen "GPIB Device" die Geräteadresse 0 bis 30 übergeben werden. 4.3 Einstellen der RS232-Schnittstelle --------------------------------------- Beim Betrieb des Netzgerätes mit der RS232-Schnittstelle müssen dem Open-VI TOE88xx Open.vi mit Hilfe der Eingangsvariablen "RS232 Settings" die Parameter "serial port", "baud rate", "data bits", "stop bits" und "parity" übergeben werden. Diese Parameter müssen mit den eingestellten Parametern am Netzgerät übereinstimmen. ACHTUNG: Die Protokollart am Netzgerät muß auf Softwareprotokoll eingestellt sein.