28.10.2014 Aufrufe

Praxissemesterbericht - The MMT Observatory

Praxissemesterbericht - The MMT Observatory

Praxissemesterbericht - The MMT Observatory

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Praxissemesterbericht</strong><br />

für das 2.Praxissemester des<br />

Diplomstudiengangs Mechatronik<br />

der Hochschule Karlsruhe<br />

In Zusammenarbeit mit dem Institut<br />

Instituto de Astrofísica de Andalucía<br />

Departamento UDIT<br />

Granada, España<br />

Verfasser: Inés Seiler<br />

Matrikelnummer: 19332<br />

Praktikumzeitraum: WS07/08, 03.09.07 – 31.01.08<br />

Betreuer: José Luis Ramos, Luis Costillo<br />

Datum: 31.01.08<br />

( José Luis Ramos )


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Vorwort<br />

Im Rahmen des Diplom-Studienganges Mechatronik der<br />

Hochschule Karlsruhe ist es vorgesehen ein (zweites)<br />

Praxissemester im Hauptstudium zu absolvieren. Für die rechtmäßige<br />

Anerkennung wird im Anschluss dieser Tätigkeit ein Bericht<br />

angefertigt und ein kurzer Vortrag im darauf folgenden Semester an<br />

der Hochschule gehalten.<br />

Mein Praxissemester im Ausland und zwar am Institut für<br />

Astrophysik in Andalusien (IAA) in Spanien zu absolvieren, erschien<br />

mir in zweifacher Hinsicht vorteilhaft. Zum Einen erhoffte ich mir<br />

kulturelle und sprachliche Herausforderungen und Erweiterung meiner<br />

Kenntnisse, zum Anderen Erfahrungen in einem für mich neuen<br />

Bereich der Technik und der naturwissenschaftlichen Disziplin der<br />

Astrophysik. Meine Erwartungen wurden nicht enttäuscht.<br />

Danksagung<br />

Ich danke vor allem dem Chef der Abteilung Luis Costillo<br />

(Doctor en Electrónica) und meinem Betreuer José Luis Ramos (Físico<br />

Electrónico) des IAA für die hervorragende Betreuung meiner<br />

Tätigkeiten während meines gesamten Aufenthalts. Sie ermöglichten<br />

es mir eigenständig zu arbeiten und unterstützten mich jederzeit<br />

soweit erforderlich. Die Einführung in die Abteilung UDIT und deren<br />

Tätigkeiten, verbunden mit der Rücksichtnahme auf anfängliche,<br />

sprachlich bedingte Kommunikationsprobleme waren eine wertvolle<br />

Hilfe.<br />

Mein besonderer Dank gilt ebenso den übrigen Mitarbeitern der<br />

Abteilung, für ihr freundliches Entgegenkommen und ihre<br />

Unterstützung bei der Arbeit, sowie bei privaten Angelegenheiten,<br />

beispielsweise bei der Wohnungssuche. Die Arbeitsatmosphäre war<br />

besonders freundlich und angenehm, und ich bin froh, dass ich in<br />

dieser Abteilung mein Praxissemester absolvieren konnte.<br />

Den Professoren Prof. Dr.-Ing. Edwin Hettesheimer und Prof.<br />

Dipl. Wirtsch.-Ing. Fritz. J. Neff der Hochschule Karlsruhe möchte ich<br />

für ihre Beratung und Unterstützung danken.<br />

Ein insgesamt außerordentlich positives Erlebnis! Vielen Dank<br />

an alle Beteiligten!<br />

Inés Seiler<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> I


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Erklärung<br />

Zur Erstellung dieses Dokumentes wurden folgende Hilfsmittel<br />

verwendet.<br />

Software:<br />

• Microsoft ® Office Word 2003<br />

• Modbus Poll Ver. 4.3.2. (Trial Edition)<br />

• National Instruments LabView v7.1 und v8.5<br />

Literatur und Dokumente:<br />

• siehe Literaturverzeichnis<br />

Ich erkläre darüber hinaus keine weiteren Hilfsmittel verwendet zu<br />

haben. Der vorgelegte <strong>Praxissemesterbericht</strong> wurde von mir ohne<br />

fremde Hilfe verfasst. Fremde Inhalte sind entsprechend<br />

gekennzeichnet, Quellen und (sofern bekannt) Autoren werden<br />

vollständig aufgeführt. Hervorhebungen im Text (Fettdruck) dienen<br />

hauptsächlich der verbesserten Lesbarkeit.<br />

Granada den 31. Januar 2008<br />

( Inés Seiler )<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> II


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Inhaltsverzeichnis<br />

Danksagung............................................................................... I<br />

1.0 Instituto de Astrofísica de Andalucía ........................................1<br />

1.1 Die Umgebung ...................................................................1<br />

1.2 Das Institut .......................................................................1<br />

2.0 Übersicht der Tätigkeiten .......................................................4<br />

3.0 Das Observatorium OSN ........................................................5<br />

3.1 Einleitung: Die Teleskope und das aktuelle System.................5<br />

3.2 Das neue System ...............................................................7<br />

3.3 Die Steuerung der Alpha-Achse ............................................9<br />

3.4 Das Model „Modelo de Eje“ ................................................10<br />

4.0 Quadrature Encoder ERN 1070 (3600) ...................................12<br />

4.1 Einleitung ........................................................................12<br />

4.2 Das Auslesen ...................................................................13<br />

4.2.1 Die Hardware .............................................................13<br />

4.2.2 Die Software ..............................................................14<br />

4.2.3 Auslesen des Z-Signals................................................16<br />

4.3 Verwendung der Programme..............................................16<br />

5.0 Serielle 232-485 Kommunikation mit dem MODBUS-Protokoll ...17<br />

5.1 Einleitung ........................................................................17<br />

5.1.1 Aufgabenstellung ........................................................17<br />

5.2 Allgemeines und Konfigurationen........................................17<br />

5.2.1 Die Hardware .............................................................17<br />

5.2.2 Das MODBUS Protokoll ................................................18<br />

5.2.3 Modbus Nachrichten ....................................................18<br />

5.2.4 Konfiguration des N2300..............................................20<br />

5.3 RS-485 zu RS-485 Übertragung .........................................20<br />

5.3.1 Konfiguration der RS485-PCI-Karte ...............................20<br />

5.3.2 Einstellung der Software „Modbus Poll“ ..........................20<br />

5.4 RS-232 zu RS-485 Übertragung .........................................21<br />

5.4.1 Konfiguration des Patton RS-232-485 Konverters, Model<br />

2085 .................................................................................21<br />

5.4.2 Einstellung der Software „Modbus Poll“ ..........................22<br />

6.0 Steuerung der Kuppel des Teleskops .....................................23<br />

6.1 Übersicht.........................................................................23<br />

6.1.1 Aufgabenstellung ........................................................23<br />

6.3 Die Programmstruktur ......................................................25<br />

6.3.1 VI-Hierarchie..............................................................26<br />

6.3 Grundlagen......................................................................27<br />

6.3.1 CAN-Bus Basics ..........................................................27<br />

6.3.2 Verwendung des CAN-Busses .......................................28<br />

6.3.3 Übersicht der Kommandos ...........................................31<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> III


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

6.4 Programa Principal............................................................33<br />

6.4.1 Abschnitt 1: Abfrage des User-Interfaces .......................33<br />

6.4.2 Abschnitt 2: CAN-Nachrichten als RS232 weiterleiten ......35<br />

6.4.3 Abschnitt 3: RS232-Nachrichten als CAN weiterleiten ......36<br />

6.4.4 Abschnitt 4: Weitere Tasten und Funktionen ..................37<br />

6.5 Ergebnisse.......................................................................37<br />

7.0 Absolutwert-Encoder RCN 829 ..............................................38<br />

7.1 Einleitung ........................................................................38<br />

7.1.1 Vorgehensweise der Entwicklung ..................................39<br />

7.2 Grundlagen und Hardware .................................................39<br />

7.2.1 Übersicht des Aufbaus .................................................39<br />

7.2.2 Der Encoder ...............................................................40<br />

7.2.3 Das FPGA...................................................................40<br />

7.2.4 Kommunikation über die parallele Schnittstelle ...............41<br />

7.3 Das Spannungspegel-Problem............................................41<br />

7.3.1 Lösung: Buffer Triestado Externo ..................................42<br />

7.4 Die Software....................................................................45<br />

7.4.1 Kommunikationsbausteine ...........................................45<br />

7.4.2 EnDat2.2: zu lesende/schreibende Register....................46<br />

7.4.3 Hauptprogramm .........................................................47<br />

7.5 Ergebnisse.......................................................................49<br />

7.6 Weiteres Vorgehen ...........................................................50<br />

8.0 Fazit ..................................................................................51<br />

9.0 Anhang ..............................................................................52<br />

9.1 Abkürzungsverzeichnis & Glossar........................................52<br />

9.2 Abbildungsverzeichnis .......................................................52<br />

9.3 Tabellenverzeichnis...........................................................54<br />

9.4 Quell- und Literaturverzeichnis...........................................55<br />

9.4.1 Bildquellen .................................................................55<br />

9.4.2 Softwarequellen..........................................................56<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> IV


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

1.0 Instituto de Astrofísica de Andalucía<br />

1.1 Die Umgebung<br />

Das Instituto de Astrofísica de Andalucía (IAA) liegt im Süden<br />

Spaniens in der autonomen Region Andalusien. Die Region ist<br />

weiterhin in 8 Provinzen unterteilt, darunter die Provinz Granada, in<br />

welcher sich in der gleichnamigen Hauptstadt das Institut nahe des<br />

Zentrums befindet.<br />

Bild 1: Granada in Spanien<br />

Die Stadt Granada ist<br />

aufgrund einiger<br />

Sehenswürdigkeiten<br />

ein beliebter<br />

Touristenort. Bekannt<br />

ist vor allem die aus<br />

maurischen Zeiten<br />

stammende Festung<br />

Alhambra, welche aus<br />

einer Ansammlung<br />

von Palästen aus dem<br />

13. und 14.<br />

Jahrhundert besteht.<br />

Die Stadt liegt zudem nahe der Sierra Nevada, welches das<br />

größte Gebirge der iberischen Halbinsel ist - 1996 fand hier die alpine<br />

Skiweltmeisterschaft statt. Neben dem Skigebiet ist dort ebenso das<br />

Observatorio Sierra Nevada (OSN) vorhanden, welches vom IAA<br />

geführt und betrieben wird.<br />

1.2 Das Institut<br />

Das Consejo Superior de Investigaciones<br />

Científicas (CSIC) ist die Spanien weit größte staatliche<br />

Forschungseinrichtung die in 8 technischnaturwissenschaftlichen<br />

Bereichen agiert. 148<br />

Einrichtungen der CSIC beschäftigen sich mit<br />

Universitäten und anderen Instituten. Eines hiervon ist<br />

das IAA, dessen Aufgabe darin besteht sich mit der<br />

Feldforschung im Bereich Astrophysik sowie der<br />

Entwicklung der Instrumentierung von Teleskopen und<br />

Raumflugkörpern auseinander zusetzen. Ziel ist es,<br />

Bild 2: CSIC<br />

Logo<br />

naturwissenschaftliche Informationen über das Universum zu<br />

sammeln – vom kleinsten Partikel, über das Sonnensystem hinaus bis<br />

hin zu einer Skala, die das vollständige Universum abdeckt.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 1


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 3: Organigramm des IAA<br />

Dem Organigramm (Bild 3) ist zu entnehmen, dass sich der<br />

Hauptsitz (Sede Central) aus den Bereichen Forschung<br />

(Investigación) und Dienstleistung (Servicio) zusammensetzt.<br />

Insgesamt werden ungefähr 180 Personen an dem Institut<br />

beschäftigt. Die Dienstleistungen werden weiterhin unterteilt in<br />

allgemeine Dienstleistungen (wie beispielsweise die Bibliothek vor<br />

Ort), das Rechenzentrum (Centro de Cálculo) sowie die<br />

Entwicklungsabteilung (Unidad de Desarrollo Instrumental y<br />

Tecnológico - UDIT). In Letzterem werden Mitarbeiter beschäftigt die<br />

in den technischen Bereichen Optik, Elektronik, Mechanik und<br />

Informatik ausgebildet wurden, welche Passenderweise mit dem<br />

Inhalt des Mechatronik Diplom-Studiengangs der HS-Karlsruhe<br />

übereinstimmen. (Scherzhafterweise wurde vorgeschlagen, dass die<br />

Mitarbeiter dieser Abteilung in Urlaub gehen könnten, während ich als<br />

Mechatronikerin für alle gleichzeitig die Stellung halten könne.)<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 2


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Die Abteilung UDIT spaltet sich weiterhin auf in die Bereiche<br />

instrumentos para observación astrofísica en tierra e instrumentos<br />

para observación astrofísica en el espacio (Instrumente für<br />

Astrophysische Beobachtungen „auf der Erde“ und „im Weltraum“).<br />

Für die Entwicklung des Ersteren, d.h. für die Teleskope, ist Luis<br />

Pedro Costillo Iciarra verantwortlich. Zusammen mit meinem<br />

Betreuer, José Luis Ramos Más, beschäftigt er sich mit der damit in<br />

Verbindung stehenden Elektronik.<br />

Vor Ort besteht das Institut aus zwei Gebäuden (in naher<br />

Zukunft soll ein Drittes in Betrieb genommen werden), wobei eines<br />

davon ausschließlich die UDIT-Abteilung beinhaltet, während die<br />

restlichen Abteilungen im Hauptgebäude untergebracht sind.<br />

Bild 4: Observatorio Sierra Nevada (OSN)<br />

Bild 5: Logo OSN<br />

Sehr wichtig und nicht zu vergessen sind natürlich die beiden<br />

Observatorien Observatorio Sierra Nevada (OSN) und Observatorio<br />

Calar Alto. Letzteres befindet sich in dem Gebirge Sierra de los<br />

Filabres, nördlich von Almeria. Es wird vom IAA zusammen mit dem<br />

Max-Plack-Institut für Astronomie (MPIA, Heidelberg) betrieben.<br />

Insgesamt sind dort 4 Teleskope vorhanden, allerdings steht eines<br />

davon unter der Leitung des Observatorium Madrid. Das OSN<br />

hingegen verfügt über 2 optische Nasmyth-Teleskope von den Größen<br />

150cm („T150“) und 90cm („T90“), sowie ein IR Ritchey-Chrétien-<br />

Teleskop der Größe 60cm. Es liegt 2800m über dem Meeresspiegel.<br />

Bild 6: Prinzip des Nasmyth-<br />

Teleskops<br />

Bild 7: Prinzip des Ritchey-Chrétien-<br />

Teleskops<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 3


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

2.0 Übersicht der Tätigkeiten<br />

Folgende Tabelle enthält einen groben chronologischen Abriss<br />

der von mir im Zeitraum 03.09.2007 – 31.01.2008 durchgeführten<br />

Tätigkeiten. Einzelne kleinere Aufgaben sind in der Tabelle nicht<br />

enthalten. Im Anschluss an einige Tätigkeiten war es erforderlich die<br />

Ergebnisse in einer Dokumentation festzuhalten.<br />

Tätigkeiten<br />

- Kennen lernen des Instituts, Einarbeitung in die<br />

<strong>The</strong>matik<br />

- Einarbeitung in das Programm LabView mit<br />

Erstellung verschiedener Programme zu<br />

Lernzwecken.<br />

- Erstellen eines LabView Programms zum Auslesen<br />

eines Quadratur Encoders (ERN 1070).<br />

- Kennen lernen der Kommunikation mittels CAN-<br />

Bus anhand einer Testflachbaugruppe.<br />

- Gedanken zur Auswahl der Servomotoren für das<br />

Teleskop.<br />

- Kommunikation mit RS232 und RS485 zwischen<br />

einem PC und einem Temperaturregler.<br />

- LabView Programm zur Steuerung der Kuppel des<br />

Teleskops: Implementierung der Kommunikation<br />

über CAN-Bus bzw. RS-232.<br />

- LabView Programmierung zur Kommunikation<br />

zwischen einem PC über ein NI DAQ-Pad und dem<br />

EnDat2.2 Masterbaustein der Firma MAZeT. Ziel:<br />

Auslesen eines Absolutwert-Encoders.<br />

Tabelle 1: Chronologischer Tätigkeitsabriss<br />

Die nachfolgenden Kapitel werden nur die wichtigsten<br />

Tätigkeiten abhandeln, da es im Rahmen diesen Berichts nicht<br />

möglich ist auf alle Einzelheiten einzugehen. Die Reihenfolge der<br />

Kapitel ist chronologisch.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 4


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

3.0 Das Observatorium OSN<br />

3.1 Einleitung: Die Teleskope und das aktuelle System<br />

Die beiden Teleskope T150 und T90 des Observatoriums OSN<br />

sind abgesehen von der Größe weitgehend baugleich. Unterschiede<br />

sind lediglich in Details, wie beispielsweise der Anzahl der Lager zu<br />

finden. Sie befinden sich innerhalb eines gemeinsamen Gebäudes<br />

(siehe Bild 4), sind aber baulich vom Gebäude getrennt um zu<br />

vermeiden, dass Schwingungen auf die Teleskope übertragen werden.<br />

Bild 8: Das T150 innerhalb der Kuppel. Die Hauptachse ist parallel zum<br />

Äquator ausgerichtet (equatorial mount).<br />

Die Steuerung und Elektronik der Teleskope sind nahezu<br />

identisch, jedoch etwas veraltet. Momentan ist ein zentrales, für<br />

damals übliches, VME-Modul aus dem Jahre 1995 für jedes Teleskop<br />

installiert. Es gibt jedoch diverse Probleme. Beispielsweise werden<br />

Daten und Energie über ein Bündel Kabel am unteren Ende der<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 5


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Teleskope übertragen. Werden die Teleskope auf gewünschte<br />

Koordinaten gefahren, verursacht die Bewegung jedes Mal eine<br />

enorme mechanische Belastung der Kabel. Außerdem führen<br />

Wartungen oder Fehlerbehebungen der Elektronik sowie die harten<br />

Wetterbedingungen oft zu weiteren Defekten, was regelmäßige<br />

akribische Fehlersuchen nach fehlerhaften Kontakten notwendig<br />

macht. Wartungen werden somit teilweise sehr zeitaufwändig.<br />

Bild 9: Das aktuelle System<br />

Es erschien somit sinnvoll das System mit durch ein Neueres<br />

und Effizienteres zu ersetzen. Dies ermöglicht es auch, im Rahmen<br />

der Überarbeitung, neuere Technologien einzusetzen, welche zu<br />

erhöhter Genauigkeit und Präzision beitragen.<br />

Da parallel zu den technischen Weiterentwicklungen die<br />

Teleskope jedoch auch für Forschungszwecke genutzt werden, ist es<br />

nicht möglich die Systeme, wenn erforderlich, für einige Zeit einfach<br />

abzuschalten um Änderungen vorzunehmen. Der normale Betrieb der<br />

Teleskope wird nur einmal pro Monat für eine Woche unterbrochen<br />

um Reparaturen und dergleichen vorzunehmen. Außerdem kann nicht<br />

vor Ort mit der Trial-and-Error-Methode vorgegangen werden, da bei<br />

fehlerhaftem Verhalten eventuell sehr teuere Schäden entstehen<br />

könnten.<br />

Es kommen organisatorische und geographische Restriktionen<br />

hinzu, da die Entwicklungsabteilung sich in der Stadt, die Teleskope<br />

jedoch auf dem Berg befinden. Die Anfahrt erfordert ungefähr eine<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 6


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Stunde Fahrzeit sowie ein 4-Rad-betriebenes Fahrzeug um die letzten<br />

Höhenmeter einer Schotterpiste mitten im Skigebiet zu überwinden.<br />

Bei Schnee im Winter ist die Station nur mit Schnee-mobilen<br />

(Motorschlitten) zu erreichen und je nach Wetterlage von der<br />

Außenwelt sogar für einige Zeit physikalisch abgeschnitten. Das<br />

Observatorium verfügt daher über eine im Winter reichlich mit<br />

Lebensmitteln ausgestattete Vorratskammer.<br />

Es ist also notwendig anhand eines Models, welches dem<br />

Original sehr genau und maßstäblich entsprechen muss, das neue<br />

System ausgiebig zu entwickeln und zu testen um Fehler zu quasi<br />

hundert Prozent zu beseitigen bevor es im OSN eingesetzt wird. Da<br />

die Teleskope baugleich sind, reicht es für beide nur ein Model zu<br />

nutzen. Da die Präzisionsanforderungen an das T150 höher sind als<br />

an das T90 wird das neues System für das T150 entwickelt. Später<br />

soll dies dann lediglich für das kleinere Teleskop dupliziert werden.<br />

3.2 Das neue System<br />

Jedes der beiden Teleskope soll mit einem dezentralen System<br />

gesteuert werden. Die einzelnen Knoten werden mit einem seriellen,<br />

linearen Bus verbunden. Gleichzeitig sollen jedoch alle<br />

Systemressourcen überall und jederzeit einer zentralen Einheit über<br />

das Internet zur Verfügung stehen. Die verschiedenen Aufgaben<br />

wurden eingeteilt in die folgenden Knotenpunkte: Steuerung der<br />

Alpha-Achse, Steuerung der Delta-Achse, die Kuppel, die<br />

Fokussierung, und eine zentrale Einheit als Schnittstelle für einen<br />

PC.<br />

Die Knoten für Alpha, Delta und die Kuppel werden mit FPGA’s<br />

realisiert um ein effizientes Einlesen und Verarbeiten der Encoder<br />

(Winkelmessgeräte) und der Steuerungsalgorithmen zu<br />

gewährleisten, sowie um die Ausgänge für die Motoren und die<br />

Servo’s zu generieren. Der Fokus wird über einen Mirkokontroller<br />

verfügen und das System wird einfach zu erweitern sein, falls mehr<br />

Knoten erforderlich werden sollten.<br />

Für die Kommunikation wurde der CAN-Bus aufgrund seiner<br />

Zuverlässigkeit und der Möglichkeit des Broadcastings (ein Sender,<br />

mehrere Empfänger) ausgewählt, so dass alle wichtigen<br />

Informationen auf dem Bus stets vorhanden sind, und jeder Knoten<br />

(Empfänger) jederzeit Zugriff auf diese Informationen hat.<br />

Das aktuelle System (Bild 9) verfügt über:<br />

• die Steuerung der Alpha und Delta Bewegungen,<br />

• des sekundären und tertiären Spiegels,<br />

• sowie die Steuerung des primären Spiegels.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 7


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

• Außerdem gibt es noch Sicherheitssysteme für das Teleskop,<br />

• sowie solche die der Astrophysischen Beobachtungen dienen.<br />

Die Verteilung der Steuersysteme des neuen Systems (Bild 10)<br />

soll wie folgt aufgeteilt werden:<br />

Alpha-Achse:<br />

Delta-Achse:<br />

Die Kuppel:<br />

Die Ausrichtung und Führung müssen korrekt<br />

gesteuert werden. Absolute, relative und<br />

inkrementale Bewegungen müssen mit mindestens<br />

drei Geschwindigkeiten durchführbar sein. Ebenso<br />

muss die Winkelsicherheit gewährleistet sein<br />

(Vermeidung gefährlicher Winkel) und die<br />

Gegengewichte angepasst werden. Ein GPS-<br />

Empfänger ermöglicht den Betrieb im<br />

astronomischen Koordinaten-System.<br />

Absolute, relative und inkrementale Bewegungen<br />

mit drei verschiedenen Geschwindigkeiten und der<br />

Genauigkeit von einer Bogensekunde müssen<br />

möglich sein.<br />

Steuerung der positiven und negativen Asimuth-<br />

Bewegungen.<br />

Sekundärspiegel: Auslesen der Positionen und Limits, sowie<br />

Fokusbewegungen. Ein Hexapod der den Spiegel<br />

stützt muss ebenso gesteuert werden.<br />

Tertiärspiegel:<br />

Muss zwischen dem Ost- und West-Nasmyth-Fokus<br />

schalten können.<br />

Primäre Abdeckungen: Die Abdeckung des Primärspiegels muss<br />

geöffnet und geschlossen werden, und die Position<br />

ermittelt werden.<br />

Computer Instrument: Jedes Instrument des Teleskops braucht<br />

einen Computer für die Steuerung. Dieser ist mit<br />

dem globalen Kontrollsystem verbunden und steuert<br />

das Instrument mit entsprechenden Standardkommandos.<br />

Aus Bild 10 ist ersichtlich, dass alle Module von dem zentralen<br />

Modul kontrolliert werden. Die Kuppel, die Alpha- und Delta-Achsen<br />

können manuell oder automatisch gesteuert werden. Mit dem Modul<br />

„Others“ wird der Zugriff auf die Spiegel und den Fokus<br />

gewährleistet.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 8


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 10: Struktur des neuen dezentralen Systems<br />

Das Zentralmodul ist über Ethernet mit einem PC (Instruments<br />

Computer) verbunden und kann daher auch fernbedient (remotely<br />

controlled) werden. Der Benutzer kann also in drei verschiedenen<br />

Modi das Teleskop betreiben: manuell, automatisch und durch remote<br />

control über das Internet.<br />

3.3 Die Steuerung der Alpha-Achse<br />

Die Alpha- und die Delta-Achsen sind ähnlich in ihrem<br />

physikalischen Aufbau. Jede Achse verfügt über zwei Motoren (Motor<br />

und Gegenmotor) und eine Notbremse. Im ersten PID-Regelkreis<br />

wird ein relativer Encoder (Winkelmessgerät) direkt mit dem Motor<br />

verwendet. Die Achsenstellung wird mit einem 10-Bit absolutem<br />

Encoder ausgelesen, bei einer Genauigkeit von 21 Bogenminuten,<br />

wobei die Bogensekundengenauigkeit von einem relativen<br />

Inductosyn ® Encoder geliefert wird. Ein HCTL-Controller steuert die<br />

Bewegungen. Die siderische Bewegung wird mit einem Quarz<br />

entsprechender Frequenz gemessen.<br />

Neben weiteren Veränderungen sollen im neuen System die<br />

Motoren durch Neuere, und das Kodierungs-System durch einen 29-<br />

Bit absoluten Encoder ersetzt werden.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 9


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Dies ist eines der komplexesten Module des Systems, da viele<br />

Stellgrößen berücksichtigt werden müssen und ein bestimmtes Maß<br />

an Präzision gewährleistet sein muss. Zudem sollen beide Achsen<br />

(Alpha und Delta) durch ein einziges Modul gesteuert werden. Es<br />

sollen daher COTS (Commercial Off <strong>The</strong> Shelf) Produkte verwendet<br />

werden um den Aufbau und die Umsetzung zu vereinfachen und vor<br />

allen Dingen um die erforderliche Entwicklungszeit gering zu halten.<br />

Bild 11: Altes System der Achsen<br />

Bild 12: Neues System der<br />

Achsen<br />

Aus diesem Grund wurde entschieden das Reconfigurable<br />

Compact Embedded System (cRIO) von National Instruments (NI)<br />

zu verwenden. Mit dessen 200 MHz Prozessor sind zuverlässige Real-<br />

Time Applikationen möglich, und 3M Gates stehen für die<br />

Handhabung der I/O’s zur Verfügung. Die FPGA’s können mit der<br />

höheren Programmiersprache LabView programmiert werden. Dieses<br />

Modul wird direkt an dem Teleskop angebracht da die kompakte<br />

Größe und der geringe Stromverbrauch dies zulassen. Somit wird die<br />

Anzahl der Kabel erheblich reduziert.<br />

3.4 Das Model „Modelo de Eje“<br />

Das Ziel ist es ein Modell bzw. eine Arbeitsvorlage zu<br />

entwickeln, welche sich in mechanischer und elektronischer Weise<br />

sowie bei der Datenverarbeitung den echten Teleskopen gleicht. Ein<br />

mechanisches Modell der Alpha-Achse besteht bereits, an welchem<br />

damals (1988) erste Versuche mit dem Mikrokontroller (HCTL 1000)<br />

zur Steuerung der Motoren durchgeführt wurden. Nach diesen ersten<br />

Proben am Modell wurden die Teleskope direkt weiterentwickelt.<br />

Folgende Punkte sollen dabei beachtet werden.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 10


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

• Das bereits bestehende mechanische Modell soll verwendet<br />

und weiterentwickelt werden.<br />

• Anders als zuvor, soll das neue Modell immer auf dem<br />

aktuellen Stand des Teleskops gehalten werden. Zukünftige<br />

Verbesserungen sollen zuerst am Modell vorgenommen werden,<br />

um die Arbeitszeit am Teleskop zu minimieren.<br />

• Das zukünftige Modell soll nicht nur die Bewegungen des<br />

Teleskops simulieren, sondern das vollständige System<br />

abbilden.<br />

Alpha-Achse des<br />

Modells<br />

Bild 13: Mechanisches Modell des Teleskops<br />

Positionen des<br />

Motors und<br />

Gegenmotors<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 11


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

4.1 Einleitung<br />

4.0 Quadrature Encoder ERN 1070 (3600)<br />

Ein relativer Quadrature Encoder wird im Zusammenhang mit<br />

dem ersten PID-Regelkreis der Motoren der Alpha-Achse verwendet<br />

um eine Rückmeldung der angefahrenen Position zu erhalten. Hierfür<br />

soll der ERN 1070 mit 36000 Perioden pro Umdrehung von<br />

Heidenhain verwendet werden.<br />

Ein Quadrature Encoder (Bild 14)<br />

verfügt über 3 Signale, die Informationen<br />

zur gemessenen Position liefern. Diese<br />

Signale werden intern optisch erzeugt.<br />

Signal B (oder U a2 ) ist immer um 90º<br />

phasenversetzt zu Signal A (U a1 ). Bei einer<br />

Drehung im Uhrzeigersinn folgt B dem<br />

Signal A (Bild 15); gegen den Uhrzeigersinn<br />

ist B dem Signal A um 90º voraus. Aus<br />

diesem Phasenversatz lässt sich somit die<br />

Drehrichtung bestimmen.<br />

Bild 14: ERN 1070<br />

Diese Ausführung des Encoders liefert insgesamt 4x36000 =<br />

144000 Flanken, da eine Umdrehung aus 36000 Perioden pro Signal<br />

besteht und jede Periode über eine Auf- und eine Abflanke verfügt.<br />

Somit ist eine Genauigkeit von 0,0025º = 9 Bogensekunden möglich<br />

sofern alle 4 Flanken pro Periode ausgelesen werden.<br />

Als dritte und zusätzliche Information ist das Signal Z (U a0 )<br />

vorhanden, welches nur einmal pro Umdrehung immer an der<br />

gleichen Position einen Impuls erzeugt.<br />

Bild 15: Signale eines relativen Quadrature Encoders (Uhrzeigersinn)<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 12


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Je nachdem ob man<br />

eine (X1), zwei (X2) oder<br />

vier (X4) Flanken ausliest<br />

erhält man verschiedene<br />

Positionsgenauigkeiten (Bild<br />

16). Da für das Teleskop<br />

die<br />

höchstmögliche<br />

Genauigkeit erforderlich ist,<br />

wird die X4 Variante<br />

gewählt.<br />

4.2 Das Auslesen<br />

Zum Auslesen des<br />

Encoders soll sowohl Hardware<br />

als auch Software des Bild 16: X1, X2 und X4 Encoder<br />

Herstellers National<br />

Instruments verwendet werden, da eine Auswahl dieser Produkte<br />

bereits im Institut vorhanden sind. Als Software wird das Programm<br />

LabView verwendet. Für die Auswahl der Hardware muss zunächst ein<br />

geeigneter Zähler gefunden werden. Zwei verbreitete Zähler von NI<br />

sind der DAQ-STC und der NI-TIO.<br />

4.2.1 Die Hardware<br />

Da zunächst nur ein DAQ-6016 Board zur Verfügung stand<br />

wurde somit der STC-Zähler verwendet. Dieser unterstützt jedoch<br />

nicht direkt Quadrature Encoding. Für jede einzelne Flankenart die zu<br />

zählen ist, wird je ein Counter erforderlich. Das 6016 Board verfügt<br />

jedoch nur über 2 Counter, somit ist nur X1 oder X2 möglich. Das<br />

Auslesen des Z-Signals ist außerdem nicht gleichzeitig möglich und<br />

die Programmierung erwies sich insgesamt als etwas umständlich. Da<br />

dies ohnehin keine geeignete Lösung war und die erforderliche<br />

Genauigkeit nicht erreicht werden konnte, wird an dieser Stelle nicht<br />

weiter auf die erfolgte Ausarbeitung eingegangen.<br />

Nachdem ersichtlich wurde, dass ein NI-TIO Zähler für eine X4-<br />

Messung notwendig und unumgänglich ist, war es mir möglich eine<br />

entsprechende NI-Karte im Institut aufzutreiben: eine PCI-6601<br />

Karte. Dieser Zählertyp unterstützt sowohl X1-X4 Encoding, als auch<br />

das Z-Signal. Hierfür ist nur ein einziger Zähler erforderlich und die<br />

Art des Encodings wird per Software ausgewählt. Ein Zähler verfügt<br />

über mehrere Eingangspins. Sie werden wie folgt verbunden:<br />

• Signal A mit Eingang „Source“. Dies ist die eigentlich Quelle für<br />

den Zähler. Je nach Einstellung wird bei entsprechender Flanke<br />

(auf, ab, oder beide) der Zählerwert um den Wert „1“<br />

verändert.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 13


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

• Signal B mit „Aux“ (oder „up/down“). Dieser Pin legt die<br />

Zählrichtung fest, also ob der Zählwert erhöht oder herabgesetzt<br />

wird. Wird beispielsweise bei einer Abflanke von A ein<br />

High von B gelesen wird hochgezählt, bei einem Low wird<br />

heruntergezählt (oder umgekehrt, je nach Softwareeinstellung).<br />

• Das zusätzliche Signal Z wird mit dem „Gate“ des Zählers<br />

verbunden und führt bei Detektion einer Flanke zu einem Reset<br />

auf 0 des Zählers.<br />

4.2.2 Die Software<br />

Bild 17: Foto der Hardware<br />

Das GUI der Software ist in Bild 18 zu sehen. Bevor das<br />

Programm gestartet wird muss zuerst das Gerät und der<br />

entsprechende Zähler des Geräts aus der Drop-Down-Liste<br />

ausgewählt werden. Erzeugt man nun Signale indem man den<br />

Encoder dreht wird die Bewegung numerisch und grafisch angezeigt.<br />

Bild 18: GUI des LabView Programms für ERN 1070<br />

Abbildung 19 zeigt den dazugehörigen Quellcode. Die roten<br />

Markierungen gehören nicht zum Code, sondern zeigen die Struktur<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 14


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

auf: Initialisierung, Routine des Datenauslesens und die Beendigung<br />

des Programms.<br />

Initialisierung: Zuerst werden die Einstellungen für die<br />

Hardware festgelegt. Es wird der Zähler ausgewählt (Counter), der<br />

Startwinkel (Data) geladen, das Hardware-Offset zur Nullmarke<br />

geladen (Z Index Value), die Dekodierungsart festgelegt (X4), das<br />

Z-Signal verwendet (Enable = true), die Z-Index Phase festgelegt (A<br />

High B High, siehe Bild 15), und die Anzahl der Pulse pro<br />

Umdrehung (pro Kanal) auf 36000 gesetzt. Danach wird der Prozess<br />

zum Hardwareauslesen gestartet (DAQmx Start Task).<br />

Initialization<br />

Read Data<br />

End Task<br />

Bild 19: LabView Blockdiagram für ERN 1070<br />

Daten Auslesen: Der eigentliche Kern des Programm läuft in<br />

einer While-Schleife ab. Diese wird beendet sobald ein<br />

Hardwarefehler auftritt oder der STOP-Knopf gedrückt wird. Mit<br />

einem DAQmx Read Piktogramm wird bei jeder Ausführung der<br />

Schleife der aktuelle Zählerstand ausgelesen. Dieser wird bereits in<br />

der Einheit „Grad“ geliefert, so dass keine weitere Umrechnung des<br />

Zählerwertes notwendig ist. Das Ergebnis wird direkt angezeigt<br />

(Data). Die Daten sind auch drehrichtungsabhängig, so dass sich eine<br />

Datenbandbreite von -360º bis +360º ergibt. Jede detektierte Flanke<br />

verändert den Zählerstand um ±0,0025º.<br />

Beenden: Der gestartete Hardwareprozess wird vor Schließung<br />

des Programms beendet (DAQmx Clear Task) und mit einer<br />

Fehlerbehandlungsroutine versehen.<br />

Mit diesem Programm ist es jedoch nur möglich die aktuelle<br />

Winkelposition zu ermitteln. Der Verlauf wird dabei jedoch nicht<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 15


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

überwacht, bzw. die Anzahl von Umdrehungen wird nicht gezählt. Um<br />

dies zu realisieren wird ein weiterer Zähler verwendet in Verbindung<br />

mit dem Z-Signal.<br />

4.2.3 Auslesen des Z-Signals<br />

Zusätzlich zu den bereits verwendeten Signalen A, B und Z sind<br />

auch die invertierten Signale /A, /B und /Z vorhanden. Z steht nicht<br />

mehr zur Verfügung, also wird Kanal /Z mit dem Eingang „Source“<br />

eines zweiten Zählers verbunden. Das Programm ähnelt dem Vorigen.<br />

Zur Initialisierung der Hardware wird festgelegt, dass fallende<br />

Flanken gezählt werden sollen (siehe Bild 15, Invertierung des<br />

Signals U a0 ). „Count up“ legt fest, dass grundsätzlich hochgezählt<br />

wird, unabhängig von der Drehrichtung – dies muss später per<br />

Software ausgewertet werden, welche dieses Programm als<br />

Unterfunktion verwendet. „Initial Count“ wird auf einen Wert (in<br />

diesem Beispiel 0) gesetzt, welcher den Anfangszählwert festlegt.<br />

Initialization<br />

Read Data<br />

End Task<br />

Bild 20: LabVIEW Blockdiagram zum Auslesen des /Z-Kanals<br />

4.3 Verwendung der Programme<br />

Ziel der Arbeit war es herauszufinden wie es möglich ist den<br />

Encoder ERN1070 mit der erforderlichen Präzision auszulesen. Die<br />

beiden VI’s (Virtual Instrument = Programmdatei von LabVIEW)<br />

können nun als Sub-VI’s in andere LabVIEW Programme eingebunden<br />

werden. Diese erscheinen als Piktogramme mit Ein- und Ausgängen.<br />

Eingänge sind diverse Einstellungen wie z.B. die Zählerauswahl, die<br />

Ausgänge sind die Zählerstände sowie Fehlermeldungen.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 16


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

5.0 Serielle 232-485 Kommunikation mit dem<br />

MODBUS-Protokoll<br />

5.1 Einleitung<br />

Neben Aufgaben, die direkt mit dem Projekt des Teleskops in<br />

Verbindung stehen, fielen auch kleinere Aufgaben an welche nur<br />

indirekt mit den Teleskopen zu tun haben. Als Beispiel einer dieser<br />

Aufgaben wird in diesem Abschnitt auf die Kommunikation zwischen<br />

einem PC und einem Temperaturregler eingegangen. Temperaturregler<br />

werden in den Laboren des IAA eingesetzt um bei Versuchen<br />

die Temperaturschwankungen zu minimieren.<br />

5.1.1 Aufgabenstellung<br />

Das Ziel dieser Aufgabe ist es eine Kommunikationsmöglichkeit<br />

herzustellen zwischen einem Temperaturregler des Modells WEST<br />

N2300-1222 mit einer seriellen RS-485 (halb duplex) Schnittstelle<br />

und einem PC. Der PC verfügt über zwei verschiedene verwendbare<br />

Schnittstellen (Tabelle 2). Es soll das Protokoll MODBUS für die<br />

Kommunikation verwendet werden. Anschließend werden die<br />

Lösungsmöglichkeiten in einem Bericht dokumentiert.<br />

Schnittstellen:<br />

Beschreibung<br />

PC - N2300<br />

RS485 - RS485 PCI-RS485 Karte notwendig<br />

RS232 - RS485 RS232-RS485 Umwandler notwendig<br />

Tabelle 2: Übersicht serieller Kommunikationsmöglichkeiten<br />

5.2 Allgemeines und Konfigurationen<br />

5.2.1 Die Hardware<br />

Die verwendete Hardware besteht aus der Karte UC-313<br />

Universal Dual Velocity RS422/485 von der Firma Brainboxes Ltd.<br />

(PCI-Karte mit zwei RS485 COM Ports), dem Umwandler RS232 to<br />

RS485 Converter Model 2085 der Firma Patton Electronics, und dem<br />

Temperaturregler WEST N2300-Y1222 von West Instruments.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 17


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 21: UC-313 Bild 22: RS485 Converter Bild 23: WEST N2300<br />

5.2.2 Das MODBUS Protokoll<br />

Für die Kommunikation verwendet der Temperaturregler das<br />

Protokoll Modbus. Dieses Protokoll kann mit jeder seriellen<br />

Verbindung genutzt werden, ob RS232 oder RS485. Allgemein gibt<br />

es zwei verschiedene Nachrichtenformate: ASCII und RTU. Der<br />

Temperaturregler verwendet das Modbus/RTU Format mit einer<br />

RS485 Schnittstelle.<br />

Bild 24: Eigenschaften von Modbus ASCII & RTU<br />

Es werden die Einstellungen nach Bild 24 mit „no parity“ und<br />

zwei Stop-Bits verwendet. Im Anschluss zu jeder Nachricht wird ein<br />

CRC-Check versandt um die Daten zu verifizieren.<br />

Im Rahmen dieser Arbeit wurde die kostenlose Trial-Version des<br />

Programms „Modbus Poll Ver. 4.3.2“ als Kommunikationssoftware<br />

des PCs verwendet.<br />

5.2.3 Modbus Nachrichten<br />

Die Struktur von Modbus-Nachrichten ist sowohl für das ASCII<br />

als auch das RTU-Format gleich (Bild 25). Die darin enthaltenen<br />

Funktionscodes sind standardisiert (Bild 26).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 18


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 25: Modbus Nachrichtenstruktur<br />

Bild 26: Modbus Function<br />

Codes<br />

Eine Nachricht kann beispielsweise so aussehen (hexdezimal):<br />

Nachricht vom PC:<br />

Antwort des Sensors:<br />

01 03 00 7A 00 01 A5 D3<br />

01 03 02 08 FC BF C5<br />

Tabelle 3: Modbus Nachrichtenbeispiel<br />

Wie aus Bild 27 ersichtlich lässt sich mit dem Parameter 122 die<br />

Gerätenummer des Sensors abfragen. Als Antwort erhält man 2300<br />

(dezimal) bzw. 08FC (hexadezimal).<br />

Erläuterung der Nachrichten<br />

PC-Anfrage<br />

Sensorantwort<br />

01 Modbus Adresse des N2300 01 Modbus Adresse des N2300<br />

03 Modbus Funktionscode 03 Modbus Funktionscode<br />

00,7A Adresse des ersten Wortes 02 Anzahl der Bytes der Daten<br />

(high,low byte) = “122”<br />

(dezimal)<br />

00,01 Anzahl der Worte (high, low 08,FC Antwortdaten (“2300”)<br />

byte)<br />

A5,D3 CRC BF,C5 CRC<br />

Tabelle 4: Erläuterung Modbus Nachrichtenbeispiel<br />

Bild 27: Kommando-Codes des N2300<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 19


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

5.2.4 Konfiguration des N2300<br />

Der Regler wird in den Softwareeinstellungen so konfiguriert,<br />

dass die Kommunikation über die RS485-Schnittstelle möglich ist bei<br />

einer Baudrate von 9600. Als Gerätenummer erhält der Regler die<br />

Nummer „1“.<br />

5.3 RS-485 zu RS-485 Übertragung<br />

5.3.1 Konfiguration der RS485-PCI-Karte<br />

Der Temperaturregler unterstützt ausschließlich halb duplexe<br />

Übertragungen. Die PCI-Karte muss also entsprechend konfiguriert<br />

werden. Auf der Karte werden zwei Jumper gesetzt, welche die Tx+<br />

mit Rx+ und Tx- mit Rx- Signale, entsprechend Bild 28, miteinander<br />

verbinden.<br />

Die Karte wird über einer der beiden COM-Anschlüsse der Karte<br />

mittels eines D9 pin-to-pin Kabels mit dem Regler verbunden (Tab.<br />

5). Dieser Port wird in den Hardware-Settings entsprechend auf Half-<br />

Duplex konfiguriert.<br />

Bild 28: Full- vs. Half-Duplex Communication<br />

D9<br />

Pins<br />

N2300<br />

Pins<br />

5 6 - GND<br />

1 11 - B<br />

2 12 - A<br />

Tabelle 5: Pin<br />

Verbindungen<br />

RS485-RS485<br />

5.3.2 Einstellung der Software „Modbus Poll“<br />

Die Software-Einstellungen zur Kommunikation müssen mit<br />

denen des Reglers übereinstimmen (Bild<br />

29). Anschließend kann mit dem „Test<br />

Center“ des Programms eine<br />

Verbindung hergestellt werden. Eine<br />

erfolgreiche Kommunikation zeigt Bild<br />

30.<br />

Bild 29: Connection Setup<br />

Bild 30: Beispiel der Kommunikation<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 20


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

5.4 RS-232 zu RS-485 Übertragung<br />

5.4.1 Konfiguration des Patton RS-232-485 Konverters, Model 2085<br />

Um mittels des Standard COM Port1 (RS232) eines PCs mit<br />

dem Temperaturregler N2300 zu kommunizieren wird ein RS 232-485<br />

Umsetzer benötigt, in diesem Fall den Patton 2085. Innerhalb des<br />

Gehäuses wird der Converter mittels einer Reihe von Schaltern<br />

entsprechend der Tabelle (Bild 31) konfiguriert. Die Art der<br />

Verbindung ist Point-To-Point (PC – Regler) und halb duplex (2<br />

„wires“ statt 4). Der DCE/DTE-Schalter wird auf DCE gestellt (Bild<br />

33).<br />

Bild 31: Converter DIP-Switch Settings<br />

Bild 32: Anschlüsse N2300<br />

Bild 32 zeigt die Anschlüsse<br />

des Reglers für die DC Stromversorgung.<br />

Die RS485 Kommunikationsanschlüsse<br />

(A & B) des<br />

Reglers werden mit den<br />

Anschlüssen des Konverters wie<br />

folgt verbunden:<br />

Bild 33: Unter-/Oberseite des<br />

Konverters<br />

Converter N2300<br />

XMT+ B (Pin 11)<br />

XMT- A (Pin 12)<br />

G Ground (Pin 6)<br />

Tabelle 6: Pin Verbindungen RS232-<br />

RS485<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 21


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

5.4.2 Einstellung der Software „Modbus Poll“<br />

Die Softwareeinstellungen für die RS232-RS485 Verbindung<br />

sind nahezu identisch mit den Einstellungen für die direkte RS485<br />

Kommunikation (Bild 29).<br />

Unterschiede bestehen nur<br />

in der Auswahl der zu<br />

verwendenden<br />

Schnittstelle (COM Port1)<br />

und in den „Advanced<br />

Settings“, in denen ein<br />

„RTS Toggle“ mit „8ms<br />

RTS disable delay“<br />

eingestellt wird.<br />

Die Antwort (Rx) des<br />

Bild 34: Kommunikationsbeispiel RS232-<br />

RS485<br />

Reglers unterscheidet sich bei einer Kommunikation insofern, als dass<br />

vor der Antwort zuerst die Anfrage (Tx) wiedergegeben wird (Bild<br />

34).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 22


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

6.1 Übersicht<br />

6.0 Steuerung der Kuppel des Teleskops<br />

Die Steuerung der Kuppel (Controlador de Cúpula) verfügt über<br />

zwei Kommunikationsschnittstellen. Über einen CAN-Bus wird eine<br />

Verbindung mit dem Computer „Ordenador de Control“ hergestellt.<br />

Dieser schickt Befehle und Anweisungen, woraufhin der „Controlador“<br />

die angeforderten Informationen zurück sendet. Diese<br />

Kommunikation wird über die RS-232 Schnittstelle dupliziert, d.h.<br />

empfangende Anweisungen und gesendete Daten werden an den<br />

Computer „Ordenador Técnico“ weitergeleitet. Zudem gibt es noch<br />

erweiterte Kommandos die bei der seriellen Kommunikation<br />

verwendet werden, wie beispielsweise das Auslesen des EEPROMs.<br />

Bild 35: Steuerung der Kuppel<br />

Die angestrebte<br />

Endlösung sieht vor,<br />

dass der Computer<br />

(„Ordenador“) TCS<br />

direkt mittels einem<br />

CAN-Bus mit dem<br />

Controlador kommuniziert.<br />

Vorerst wird<br />

jedoch eine provisorische<br />

Lösung nach<br />

Bild 35 eingeführt, da<br />

die Umstellung nur in<br />

kleinen Schritten<br />

erfolgen kann, ohne den<br />

normalen Betrieb des<br />

Teleskops dabei zu<br />

stören.<br />

Die „technische Schnittstelle“ zum „Ordenador Técnico“ wird<br />

ausschließlich für technische Angelegenheiten verwendet, d.h. in<br />

bestimmten Fällen wie Tests oder Ausfälle etc.<br />

Der provisorische „Ordenador de Control“ kann ebenso<br />

eigenständig (d.h. unabhängig vom TCS) die Kuppel steuern, und<br />

verfügt hierfür über einen Touch-Screen.<br />

6.1.1 Aufgabenstellung<br />

Die bereits bestehende Programmierung der Steuerung der<br />

Kuppel wurde mit der Software LabView realisiert. Dieses Programm<br />

soll nun für den Ordenador de Control angepasst werden, so dass die<br />

Kommunikationsschnittstellen CAN und RS232 zur Verfügung stehen.<br />

Folgende Anforderungen müssen dabei beachtet werden:<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 23


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

• Verwendung und Anpassung des bestehenden Programms:<br />

o Verwendung des CAN-Busses einführen (wurde vorher<br />

nicht verwendet).<br />

o Verwendung der RS-232 Schnittstelle.<br />

o Anpassung des GUI (neue Befehlsoptionen einführen,<br />

veraltete löschen).<br />

o Empfangene RS-232 Befehle in CAN-Nachricht<br />

übersetzen und weiterleiten.<br />

o Empfangene CAN-Nachrichten in RS-232 Nachrichten<br />

übersetzen und weiterleiten.<br />

o Empfang und Versandt von Nachrichten über GUI<br />

darstellen.<br />

o Versandt von Nachrichten über GUI ermöglichen.<br />

Anmerkung: erste Schritte zur Anpassung wurden bereits vor<br />

meiner Übernahme der Aufgabe durchgeführt, wie beispielsweise das<br />

Einlesen einer Befehlsliste (Text-Datei) sowie die Grafik für das<br />

manuelle Versenden einer CAN-Nachricht (Bild 36, Abschnitt „ENVÍO<br />

MANUAL“). Die CAN- sowie RS232-Kommunikationsschnittstellen an<br />

sich wurden jedoch noch nicht implementiert.<br />

Bild 36: Screenshot des bereits bestehenden LabView Programms<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 24


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

6.3 Die Programmstruktur<br />

Folgendes Bild zeigt die vereinfachte Struktur des PROGRAMA<br />

TÉCNICO CÚPULA T150.vi. Auf der obersten Ebene befindet sich eine<br />

“stacked sequence structure” bestehend aus den Sequenzen:<br />

Initialisierung der Variablen, Initialisierung der Geräte,<br />

Hauptprogramm, und das Schließen der Verbindungen zu den<br />

Kommunikationsschnittstellen.<br />

PROGRAMA TÉCNICO CÚPULA T150.vi<br />

Inicialización de variables<br />

Definición de variables<br />

Valores iniciales<br />

Inicialización de dispositivos<br />

Inicialización RS232C<br />

Inicialización BUS CAN<br />

Lee fichero de los comandos<br />

activa los canales del CAN<br />

Programa principal<br />

se ha pulsado una tecla ?<br />

tecla 1 tecla 2 tecla 3<br />

comando 1<br />

tecla n<br />

comando 2 comando 3 tecla ...<br />

comando n<br />

comando ...<br />

envia comando por CAN<br />

recibe del CAN lo enviado por el módulo de control: Actúa y lo envía por RS232 al TCS<br />

comando 1 comando 2<br />

actúa<br />

comando 3<br />

caso 1: actúa<br />

comando n<br />

caso 2: actúa caso 3: actúa comando ...<br />

caso n: actúa<br />

caso ...<br />

envía comando por RS232<br />

Recibe RS232C<br />

traduce RS232 -> CAN<br />

RS232 comando 1<br />

RS232 comando 2<br />

RS232 comando ...<br />

CAN comando 1<br />

CAN comando 2<br />

RS232 comando n<br />

CAN comando...<br />

CAN comando n<br />

envía comando por CAN<br />

otras teclas y funciónes<br />

se ha pulsado el botón "borrar" ?<br />

J<br />

N<br />

borra el mensaje de error<br />

repite continuamente hasta ha pulsado "FIN DEL PROGRAMA"<br />

Cierra conexiónes de CAN<br />

Bild 37: Vereinfachte Struktur des PROGRAMA TÉCNICO CÚPULA T150.vi<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 25


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Die einzelnen Programmteile beinhalten weitere „Programm-<br />

Strukturen“ d.h. Sequence- oder Case-Structures, wie in Bild 37<br />

angedeutet.<br />

1. Inicialización de variables: keine nennenswerten Änderungen<br />

wurden vorgenommen.<br />

2. Inicialización de dispositivos: die Initialisierung der<br />

Kommunikationsschnittstellen wurde ohne Änderungen übernommen.<br />

Das Einlesen der Kommando-Textdatei („lee fichero<br />

de comandos“) enthielt jedoch einen Fehler welcher behoben<br />

werden musste. Die Textdatei selbst wurde ebenso modifiziert<br />

(siehe unten).<br />

3. Programa principal: dieser Teil des Programms besteht aus<br />

einer 4-teiligen Sequenzstruktur, welche in einer While-Schleife<br />

endlos wiederholt wird. Zum Ausstieg aus der Schleife (und<br />

zum Beenden des gesamten Programms) muss der Knopf „FIN<br />

DEL PROGRAMA“ des User-Interface gedrückt werden.<br />

Der Abschnitt 6.4 geht näher auf diese Sequenz ein, da<br />

die meisten Änderungen in diesem Programmteil vorgenommen<br />

wurden.<br />

4. Cierra conexiónes: Dieser Abschnitt wurde neu eingeführt und<br />

wird vor Beendigung des Programms ausgeführt. Er sorgt für<br />

ein sachgerechtes Schließen der offenen Verbindungen.<br />

6.3.1 VI-Hierarchie<br />

Die LabView-Programmierung ermöglicht es Unterprogramme<br />

(Sub-VI’s) in einem Hauptprogramm (VI) einzubinden. Diese<br />

erscheinen als Piktogramme. Sind Eingänge vorhanden, müssen diese<br />

ggf. mit entsprechenden Daten gefüttert werden. Sofern Ausgänge<br />

vorhanden sind können die gelieferten Daten im Hauptprogramm<br />

weiter verwendet werden. Sub-VI’s können ebenso weitere Sub-VI’s<br />

enthalten. Um einen Überblick über die gesamte VI-Struktur zu<br />

behalten, kann man sich mit LabView eine VI-Hierarchie anzeigen<br />

lassen.<br />

Die gelb und orange dargestellten Sub-VI’s in Bild 38 werden<br />

alle für die Kommunikationsschnittstelle des CAN-Busses verwendet.<br />

Das Hauptprogramm ist durch die rote Umrandung gut zu erkennen.<br />

Die weißen Symbole dienen, mit Ausnahme des linken, welches zum<br />

Einlesen einer Text-Datei verwendet wird, der Kommunikation<br />

mittels der RS232-Schnittstelle.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 26


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 38: VI-Hierachie des PROGRAMA TÉCNICO CÚPULA T150.vi<br />

6.3 Grundlagen<br />

6.3.1 CAN-Bus Basics<br />

Der CAN-Bus wurde ursprünglich von BOSCH für den Einsatz in<br />

Kraftfahrzeugen entwickelt. Aufgrund der hohen Zuverlässigkeit wird<br />

er heutzutage jedoch auch in vielen anderen Bereichen eingesetzt.<br />

Die Idee eines CAN-Busses ist es, nicht Geräte mit Nummern<br />

(bzw. Codes oder Identifiern) auszustatten, sondern stattdessen<br />

Nachrichten zu „nummerieren“. Dies ermöglicht, dass alle an den<br />

Bus angebundenen Geräte selbst entscheiden können ob eine<br />

Nachricht für sie relevant ist oder nicht (Bild 39). Umgekehrt ist es<br />

jedoch nicht möglich ein bestimmtes Gerät direkt anzusprechen.<br />

Stattdessen sind alle auf dem Bus vorhandenen Informationen für<br />

jedes angeschlossen Gerät uneingeschränkt zugänglich.<br />

Prioritäten der Nachrichten werden durch deren ID festgelegt:<br />

je niedriger die ID desto höher die Priorität. Dies funktioniert so, dass<br />

logisch 0 als dominant und logisch 1 als rezessiv eingestuft wird.<br />

Versuchen nun mehrere Sender zur selben Zeit eine Nachricht zu<br />

schicken, so wird die niedrigere ID gewinnen, da die entsprechenden<br />

Bits auf logisch 0 gezogen werden auch wenn andere Sender an der<br />

selben Stelle eine logische 1 senden möchten.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 27


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 39: CAN-Bus Broadcasting<br />

CAN-Nachrichten gibt es im Standard-Format mit einem 11-Bit<br />

Identifier oder im erweiterten Format mit 29-Bit. Im Rahmen dieses<br />

Projektes wird das Standard Format verwendet (Bild 40). Der ID folgt<br />

das RTR-Bit (Remote Transmission Request) welches, sofern gesetzt,<br />

die Nachricht als Anforderungsrahmen ohne Datenbytes kennzeichnet.<br />

Danach folgt ein Feld mit weiteren Informationen, z.B. ob<br />

das Standard- oder das erweiterte Format verwendet wird und wie<br />

viele Datenbytes die Nachricht enthält (bei RTR=1 ist die Datenlänge<br />

immer 0 Bytes). Das Datenfeld enthält bis zu 8 Bytes, gefolgt von<br />

einem „CRC-Field“. Das Ack-Bit (Acknowledgement) dient der<br />

Bestätigung des korrekten Empfangens durch den oder die<br />

Empfänger.<br />

Bild 40: CAN-Nachrichten im Standard Format<br />

6.3.2 Verwendung des CAN-Busses<br />

Die LabView Software läuft auf einem PC, welcher über ein<br />

CAN-Bus Kabel mit einem weiteren PC zum testen der<br />

Kommunikation verbunden wurde. Dieser zweite PC steuert einen<br />

kleinen Motor, von welchem Informationen verwendet werden<br />

(Position, Verbrauch etc.). Dieses System simuliert die Steuerung der<br />

Kuppel des Teleskops und liefert authentische Daten.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 28


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bei erfolgreicher Programmierung<br />

ist es somit möglich,<br />

diesen Motor direkt per CAN-<br />

Bus anzusprechen und zu<br />

steuern. Beispielsweise kann<br />

der Befehl „Stop“ den Motor<br />

anhalten, oder ein Befehl<br />

zum Anfahren einer Position<br />

den Motor wieder in<br />

Bewegung setzen.<br />

Bild 41: vorne links: angesteuerter Motor<br />

Für die Kommunikationsschnittstelle<br />

wird eine PCI-Karte benötigt. Hierfür<br />

wurde die CAN-PCI/331 von esd<br />

electronic system design GmbH verwendet.<br />

Sie verfügt über zwei CAN-Schnittstellen<br />

von welcher eine verwendet wird.<br />

Bild 42: CAN-PCI/331<br />

Zum Vorabtest einer korrekten Hardware-Verbindung wird das<br />

Programm CANscope der selben Firma zur Kommunikation mit dem<br />

zweiten PC verwendet (Bild 43).<br />

Bild 43: Screenshot des Programms CANscope<br />

Des Weiteren wurden, im Rahmen<br />

einer anderen Aufgabe, bereits vorher<br />

Kommunikationstest mit einer Testflachbaugruppe<br />

durchgeführt, um die<br />

CAN-Schnittstelle zu erproben. Bild 44<br />

zeigt die Karte mit den Anschlüssen zur<br />

Spannungsversorgung rechts, links das<br />

CAN-Kabel welches mit dem PC<br />

verbunden wird, und oben eine Reihe<br />

von Schaltern mit welchen man den IC<br />

konfigurieren kann.<br />

Bild 44: Testflachbaugruppe<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 29


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Hardware der Firma National Instruments kann mittels der<br />

„Measurements & Automation“ Software sehr einfach in ein VI<br />

eingebunden werden. Da die eingesetzte PCI-Karte jedoch von einem<br />

anderen Hersteller ist, erscheint die Hardware nicht in diesem<br />

Programm und muss anderweitig angesprochen werden.<br />

Hierfür werden DLL’s des Herstellers verwendet, welche<br />

vorgefertigte Funktionen zum Ansprechen des CAN-Busses enthalten.<br />

Die einzelnen Funktionen der DLL werden mit den LabView Symbolen<br />

„Call Library Function Node“ aufgerufen (Bild 45). Mit dem<br />

„Configure...“ Menüpunkt kann die CAN.DLL und eine der darin<br />

enthaltenen Funktion (z.B. canOpen) für ein Symbol ausgewählt<br />

werden. Das Ergebnis ist in Abb. 45 und 47 zu sehen.<br />

Bild 45: Einige CAN-Funktionen<br />

Bild 46: CAN-Initialisierung<br />

Bild 46 zeigt die<br />

CAN-Initialisierungsroutine<br />

des Programms PROGRAMA<br />

TÉCNICO CÚPULA T150.vi.<br />

Es werden Sub-VI’s<br />

verwendet, wie z.B. das<br />

canOpen Symbol. Öffnet<br />

man den Inhalt dieses VI´s<br />

wird man den Quellcode<br />

aus Abb. 47 vorfinden.<br />

Hiermit wird, wie<br />

Bild 47: canOpen.vi<br />

oben beschrieben, auf die<br />

in einer DLL enthaltenen Funktion zugegriffen, und somit die CAN<br />

PCI-Karte angesprochen. Diese Funktionen können als Black-Boxen<br />

betrachtet werden, welche über Ein- und Ausgänge verfügen.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 30


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

6.3.3 Übersicht der Kommandos<br />

Nachfolgende Liste führt alle gültigen Kommandos auf. Sie ist<br />

in der Datei COMANDOS.txt enthalten, welche vom LabView Programm<br />

eingelesen wird.<br />

COMANDOS DE LA CUPULA<br />

44 número comandos<br />

0000 STOP - stop TODOS<br />

0040 STOC - stop CUPULA - STOP MOVIMIENTOS<br />

0041 AZABxxx - MOV. ABSOLUTO<br />

0042 AZR+xxx - MOV. RELATIVO<br />

0042 AZR-xxx - MOV. RELATIVO<br />

0043 PARK - APARCAR<br />

0044 AZC+ - MOVIMIENTO CONTINUO -<br />

0044 AZC- - MOVIMIENTO CONTINUO -<br />

0050 WREE - GRABAR EEPROM - COMANDOS<br />

0051 SEGA - SEGUIMIENTO AUTOMÁTICO -<br />

0052 FSEG - FIN DE SEGUIMIENTO AUTOMÁTICO<br />

0053 AOFF - FIN ENVÍO AUTOMÁTICO TRAMAS -<br />

0054 A_AZ - ENVÍO AUTOMÁTICO ACIMUT -<br />

0055 A_CO - ENVÍO AUTOMÁTICO CONSUMO -<br />

0056 A_ZE - ENVÍO AUTOMÁTICO PASO CERO -<br />

0060 ¿AZ? - RTR - ACIMUT ACTUAL - PETICIONES<br />

0061 ¿CO? - RTR - PIDE CONSUMO<br />

0062 VER? - RTR - PIDE VERSIÓN PROG<br />

0063 PAR? - RTR - ACIMUT DE APARCADO RAM<br />

0064 PAE? - RTR - ACIMUT DE APARCADO EEPROM<br />

0065 ZER? - RTR - ACIMUT DE PASO POR CERO RAM<br />

0065 ZEE? - RTR - ACIMUT DE PASO POR CERO EEPROM<br />

0067 ZMR? - RTR - MARGEN DE PASO POR CERO RAM<br />

0068 ZME? - RTR - MARGEN DE PASO POR CERO EEPROM<br />

0069 INR? - RTR - CONSTANTE DE INERCIA RAM<br />

006A INE? - RTR - CONSTANTE DE INERCIA EEPROM<br />

0060 ¡AZ!xxx - ACIMUT ACTUAL<br />

0061 ¡CO! - ENVÍA CONSUMO: Exx.xx<br />

0062 VER! - ENVÍA VERSIÓN PROG<br />

0063 PAR!xxx - ENVIA POSICIÓN APARCADO RAM<br />

0064 PAE!xxx - ENVIA POSICIÓN APARCADO EEPROM<br />

0065 ZER!xxx - ENVIA POSICIÓN PASO CERO RAM<br />

0066 ZEE!xxx - ENVIA POSICIÓN PASO CERO EEPROM<br />

0067 ZMR!xxx - ENVÍA MARGEN PASO CERO RAM<br />

0068 ZME!xxx - ENVÍA MARGEN PASO CERO EEPROM<br />

0069 INR!xxx - ENVÍA CONSTANTE DE INERCIA RAM<br />

006A INE!xxx - ENVÍA CONSTANTE DE INERCIA EEPROM<br />

0070 CPARxxx - APARCADO - ENVIO CONSTANTES<br />

0071 CZERxxx - PASO POR CERO -<br />

0072 CZEMxxx - MARGEN PASO CERO -<br />

0073 CINExxx - INERCIA -<br />

0080 FIN!xxx - FIN DEL MOVIMIENTO EJECUTADO<br />

0081 ¡ZE!xxx - HA PASADO POR CERO<br />

0090 ERR!xxx - ERROR<br />

Tabelle 7: Comandos de la cúpula (COMANDOS.txt)<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 31


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Da ein Mitarbeiter gleichzeitig an anderer Stelle des Projekts<br />

tätig war (siehe z.B. Bild 41), war es notwendig im Laufe der<br />

Programmierarbeit die Befehlsliste ständig zu erweitern und zu überarbeiten.<br />

Die erste Spalte entspricht den CAN-Codes (hexadezimal),<br />

wobei die ersten 4 Zeichen der zweiten Spalte die entsprechenden<br />

Kommandos der seriellen Schnittstelle wiedergibt. Angehängte „xxx“<br />

bedeuten dass dem Kommando ein Parameter folgt. Die dritte Spalte<br />

entspricht einem Kommentar. Von dem LabView Programm werden<br />

jedoch nur die ersten beiden Spalten (ohne „xxx“-Parameter) sowie<br />

die Anzahl der Kommandos (44) eingelesen.<br />

Auffällig ist, dass einige CAN-Kommandos (0060-006A) doppelt<br />

in der Liste auftauchen. Dies liegt daran, dass die entsprechenden<br />

seriellen Kommandos sich nur durch ein „!“ bzw. „?“ unterscheiden.<br />

Ein Ausrufezeichen bedeutet, dass Parameter übermittelt werden,<br />

wobei ein Fragezeichen eine Anfrage darstellt. Zur Unterscheidung<br />

wird bei den CAN-Kommandos bei Anfragen das RTR Bit bei der<br />

Übertragung gesetzt. Sobald dieses Bit gesetzt ist können per<br />

Definition keine Parameter übertragen werden (siehe oben).<br />

Bild 48: Routine zum Einlesen der COMANDOS.txt<br />

Bild 48 zeigt die vollständige Routine zum Einlesen der<br />

Textdatei. Die Liste der CAN-ID’s wird in der Array-Variablen „CAN<br />

Comandos“ gespeichert, die entsprechenden seriellen Befehle in<br />

„RS232 Comandos“. Da die beiden Arrays unterschiedliche<br />

Datenformate besitzen, ist es nicht möglich die Informationen als 2D-<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 32


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Array zu speichern. Die spätere Zuordnung von RS232 zu CAN-<br />

Komando ist nur durch die Reihenfolge der Elemente innerhalb der<br />

Arrays möglich, d.h. der Inhalt des Elements mit dem Index 0 des<br />

einen Arrays (STOP), entspricht dem Inhalt des Anderen (0000). Die<br />

eindeutige Zuordnung wird in den Programmteilen wichtig, in denen<br />

Nachrichten von einem Format ins Andere übersetzt werden sollen.<br />

6.4 Programa Principal<br />

Das Hauptprogramm besteht aus vier sequenziellen<br />

Abschnitten (in einem sogenannten „Booklet“), welche in einer<br />

Endlos-While-Schleife wiederholt werden, bis das Programm durch<br />

drücken der „FIN DEL PROGRAMA“-Taste auf der Benutzeroberfläche<br />

beendet wird. In den folgenden Beschreibungen wird nur auf<br />

Programmteile eingegangen, welche durch mich neu erstellt oder an<br />

denen Änderungen von mir vorgenommen wurden.<br />

6.4.1 Abschnitt 1: Abfrage des User-Interfaces<br />

Taste gedrückt? korrektes CAN-Kommando? Versand CAN-Nachricht<br />

Bild 49: Programa Principal: Abschnitt 1<br />

Es wird überprüft, ob eine Taste auf dem GUI vom Benutzer<br />

gedrückt wurde. Ist dies nicht der Fall, geht das Programm direkt<br />

zum nächsten Abschnitt weiter. Andernfalls wird zunächst der der<br />

Taste zugewiesene Hex-Code mit der CAN-Comandos Tabelle<br />

verglichen um die Gültigkeit des Befehls zu überprüfen. Ebenso ist es<br />

möglich manuell eine Nachricht über der GUI zu erstellen; dieser<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 33


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Code wird selbstverständlich<br />

ebenso überprüft.<br />

Weiter wird eine Case-<br />

Struktur aufgerufen um zu<br />

überprüfen welche Taste<br />

gedrückt und welche Funktionen<br />

ausgeführt werden<br />

sollen (Bild 51). Danach<br />

wird der Befehl als CAN-<br />

Nachricht über die Schnittstelle<br />

versandt.<br />

Das Drücken einer<br />

der ENVIAR Tasten oder die<br />

STOP CÚPULA Taste auf der<br />

Benutzeroberfläche ruft die<br />

in Bild 49 dargestellten<br />

Strukturen auf. Möchte der<br />

Bild 50: Benutzeroberfläche<br />

Benutzer beispielsweise<br />

Informationen der Kuppel erhalten, kann er diese über die CAN-<br />

Schnittstelle anfordern (PETICIÓN DE INFORMACIÓN) indem er den<br />

gewünschten Wert aus einer Drop-Down-Liste auswählt und den<br />

Befehl dann sendet (ENVIAR, Bild 50).<br />

Bild 51: Case-Struktur der Kommandos<br />

Die Case-Struktur (Bild 51) enthält eine für jedes CAN-<br />

Kommando individuelle Funktion die es entsprechend auszuführen<br />

gilt. Die Case-Nummern entsprechen den CAN-Befehlen. Fall 41 (in<br />

hex) beispielsweise entspricht dem Senden des Befehls 0041 (siehe<br />

auch Tabelle 7) an den Motor der Kuppel zum Anfahren einer<br />

bestimmten absoluten Azimut (Winkel-)Position. Die Position wird als<br />

Parameter in der Nachricht versandt und einer Variablen der<br />

Benutzeroberfläche entnommen (Bild 50: ABSOLUTO: 0 → ENVIAR).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 34


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Das Versenden des Befehls wird zur Bestätigung in einem<br />

Informationsfeld auf der Oberfläche angezeigt und durch das Sub-VI<br />

can Put Msg gesendet.<br />

6.4.2 Abschnitt 2: CAN-Nachrichten als RS232 weiterleiten<br />

Folgende Darstellung zeigt einen Ausschnitt des Quellcodes zum<br />

Umwandeln einer erhaltenen CAN-Nachricht in eine Serielle. Sofern<br />

keine CAN-Nachricht empfangen wurde, wird dieser Schritt übergangen<br />

und der nächste Abschnitt behandelt.<br />

Bild 52: Programa Principal: Ausschnitt von Abschnitt 2<br />

Wurde eine Nachricht erhalten, wird diese nach dem Einlesen<br />

(can Read Msg) auf ihre Gültigkeit überprüft und hierfür mit der<br />

Kommando-Liste verglichen. Bei erfolgreichem Vergleich, wird<br />

zunächst „gehandelt“ (-> actúa), d.h. die Informationen auf der<br />

Benutzeroberfläche dargestellt. Als zweiter Schritt einer Stacked-<br />

Sequence-Structure wird der Befehl in ein serielles Kommando<br />

umgesetzt und über die RS232-Schnittstelle gesendet (in Bild 52<br />

nicht zu sehen).<br />

Das Sub-VI canReadMsg.vi (Ausschnitt Bild 53) musste<br />

insofern modifiziert werden, als dass in der vorher bestehenden<br />

Version nur das erste Byte der eigentlich 11-Bit langen CAN-ID (d.h.<br />

Befehlsnummer) verwendet wurde. Dies limitiert die Anzahl der<br />

möglichen Befehle unnötig, und behindert u.U. eine spätere<br />

Weiterentwicklung des Systems. Die oben dargestellte Routine<br />

jedoch, liest die ersten 11-Bit der CAN-Nachricht aus und setzt sie in<br />

eine CAN-ID um. Des Weiteren wurde bisher das RTR-Bit nicht<br />

verwendet. Da dieses Bit jedoch für die Anforderung von<br />

Informationen notwendig ist, wurde ein Auslesen des Bits in dieser<br />

Version realisiert.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 35


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 53: canReadMsg.vi<br />

6.4.3 Abschnitt 3: RS232-Nachrichten als CAN weiterleiten<br />

Das Prinzip in diesem<br />

Abschnitt ist das gleiche wie im<br />

Vorherigen, nur umgekehrt. Hier<br />

werden RS-232 Nachrichten<br />

eingelesen, auf der Benutzeroberfläche<br />

dargestellt und anschließend<br />

über die CAN-<br />

Schnittstelle weitergeleitet.<br />

Wurden keine Nachrichten<br />

erhalten, wird der Abschnitt übersprungen.<br />

Vorher wurden die doppelt<br />

auftauchenden CAN-Kommandos<br />

bei der Umsetzung dadurch unterschieden,<br />

dass der Status des<br />

Bild 54: Programa Principal:<br />

Abschnitt 3<br />

RTR-Bit berücksichtigt wurde. Im Umgekehrten Fall nun, wird über<br />

die RS232-Comandos der entsprechende CAN-Befehl ermittelt. Die<br />

Befehle ¿AZ? Und ¡AZ! jedoch werden beide zu 0060 übersetzt. Zur<br />

Unterscheidung untersucht eine Routine, ob das letzte Zeichen ein „?“<br />

(RTR=1, keine Daten) oder ein „!“ (RTR=0, Parameter vorhanden)<br />

ist, und passt die CAN-Nachricht entsprechend an.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 36


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

6.4.4 Abschnitt 4: Weitere Tasten und Funktionen<br />

Dieser Abschnitt dient rein der<br />

Kosmetik der Benutzeroberfläche<br />

und erlaubt es beim Drücken einer<br />

LÖSCHEN-Taste, angezeigte Fehler<br />

wieder zurückzusetzen. Er wurde<br />

von mir jedoch weder erstellt noch<br />

bearbeitet.<br />

6.5 Ergebnisse<br />

Bild 55: Abschnitt 4<br />

Nachdem alle aufgetretenen Programmierfehler behoben waren,<br />

wurde am Ende der Ausarbeitung erfolgreich über den CAN-Bus als<br />

ORDENADOR DE CONTROL mit dem simulierten CONTROLADOR DE<br />

CÚPULA kommuniziert (siehe Bild 35). Gesendete Befehle wurden<br />

sofort umgesetzt und der Empfang der Daten verlief ebenso<br />

einwandfrei.<br />

Beispiel: wurde die Einstellung SEGUIMIENTO AUTOMATICO<br />

gesendet (aus der Drop-Down-Liste ENVÍO DE COMANDOS, CAN-ID:<br />

0051) und der Motor danach in Bewegung gesetzt (z.B. durch<br />

kontinuierliche Bewegung in positive Richtung, CAN-ID: 0044),<br />

sendete der Controlador automatisch und kontinuierlich die aktuellen<br />

Positionsdaten zurück. In dem Feld POSICIÓN ACTUAL xxx grad der<br />

Benutzeroberfläche konnte somit live beobachtet werden, auf welcher<br />

Position sich der Motor gerade befindet.<br />

Zum Test der RS-232C Verbindung wurde an den PC<br />

(ORDENADOR DE CONTROL) über die serielle Schnittstelle ein Laptop<br />

angeschlossen (als ORDENADOR TCS). Auf diesem lief eine ältere<br />

Version der selben Software, welche bereits über eine<br />

Implementierung der seriellen Schnittstelle verfügt und mit den<br />

verwendeten Kommandos (siehe Tab. 7) kompatibel ist. Das<br />

Programm PROGRAMA TÉCNICO CÚPULA T150.vi leitete erfolgreich<br />

alle empfangene Daten weiter. Folglich konnte der TCS (bzw. Laptop)<br />

den Motor der Kuppel steuern, z.B. stoppen. Ebenso war es möglich<br />

die Daten des Motors zu empfangen, d.h. z.B. die Positionsdaten mit<br />

dem TCS zu erfassen.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 37


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

7.1 Einleitung<br />

7.0 Absolutwert-Encoder RCN 829<br />

Zur Steuerung der Alpha-Achse des Teleskops sollen insgesamt<br />

zwei Encoder verwendet werden: ein Relativer in direkter<br />

Verbindung mit den Motoren (siehe Kapitel 4) und ein Absolutwert<br />

Encoder zum präzisen Auslesen der Winkelposition der Achse. Die<br />

beiden Encoder und weitere Komponenten sollen, wie in Abbildung 56<br />

dargestellt, an der Alpha-Achse angebracht werden (vgl. hierzu Bild<br />

13).<br />

Encoder Relativo Motor<br />

sobre Reductora (1:360)<br />

Encoder Absoluto (10bits)<br />

sobre Reductora (1:1)<br />

(no usado)<br />

Motor<br />

Freno<br />

Inductosin (no usado)<br />

Bild 56: Configuración para el estudio de posicionado ALFA<br />

Auffällig ist in der Darstellung, dass zwei Komponenten<br />

(markiert durch blaue Schrift), ein Absolutwert-Encoder und der<br />

Inductosyn, zwar an der Achse angebracht sind jedoch nicht<br />

verwendet werden („no usado“). Dies sind Überreste der alten (bzw.<br />

aktuellen) Konfiguration und sollen nun durch den Encoder RCN829<br />

des Herstellers Heidenhain ersetzt werden. Neu sind ebenso das<br />

FPGA und der cRIO, welche einen A/D-Buffer ersetzen. Mit Hilfe<br />

dieser Elektronik werden die Signale des RCN829 bearbeitet.<br />

Das bereits bestehende System bleibt deshalb vorerst parallel<br />

in Betrieb, um den laufenden Betrieb des Teleskops nicht zu stören.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 38


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

CompactRIO<br />

In Analógica<br />

24 Bits<br />

In Digital<br />

HighSpeed<br />

BusCAN<br />

Real Time<br />

Ethernet Programación<br />

Bus CAN Técnico<br />

Vcc CompactRIO<br />

PCB-FPGA<br />

Display LED<br />

Pos.ABS<br />

FPGA<br />

Transceiver<br />

EndDat2.0<br />

Buffer/Opto<br />

Buffer/Opto<br />

Manguera Asterix<br />

Inductosin<br />

Manguera Asterix<br />

Absoluto e Incremental<br />

Vcc<br />

Relativo<br />

Absoluto<br />

RCN 829<br />

ROD 230<br />

Bild 57: Verbindung zwischen dem RCN829, dem FPGA und cRIO<br />

Bild 57 zeigt eine schematische Übersicht der Verbindungen<br />

zwischen dem Absolutwert Encoders, dem FPGA, dem CompactRIO<br />

und den weiteren Anschlüssen.<br />

7.1.1 Vorgehensweise der Entwicklung<br />

1. Entwicklung der Systeme zum Auslesen der Encoder (→ dieses<br />

Kapitel; bzgl. des relativen Encoders siehe Kap. 4).<br />

2. Anbringung und Test am mechanischen Achsenmodel (s. Bild<br />

13). Hierbei auftauchende Schwierigkeiten sollen vor der<br />

eigentlichen Inbetriebnahme des Systems behoben werden.<br />

3. Implementierung des neuen Systems am Teleskop.<br />

7.2 Grundlagen und Hardware<br />

7.2.1 Übersicht des Aufbaus<br />

Der Encoder RCN829 wird mit einem Digilab D2-SB System<br />

Board verbunden, welches über das Xilinx XC2S200E FPGA verfügt.<br />

Die Kommunikation erfolgt über ein EnDat Interface. Das Board wird<br />

über eine parallele Schnittstelle mit einem PC verbunden (hierfür<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 39


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

wird ein NI DAQ-Pad 6016 verwendet) auf welchem ein<br />

Anwenderprogramm läuft („Application“ in Bild 58, Programmierung<br />

mit LabVIEW, sie Kap. 7.4).<br />

Bild 58: Systemkonfiguration des Encoders & Folgeelektronik<br />

7.2.2 Der Encoder<br />

Der Encoder sendet die<br />

Winkelpositionen gemäss EnDat 2.2<br />

und verfügt über 29 Bit (d.h.<br />

536870912 Positionen pro<br />

Umdrehung). Diese Informationen<br />

werden daraufhin von dem FPGA für<br />

den PC über die parallele Schnittstelle<br />

zur Verfügung gestellt.<br />

Bild 59: RCN829<br />

7.2.3 Das FPGA<br />

Bild 60: Block Diagramm des Softmakro<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 40


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Auf den FPGA wird das EnDat2.2 Softmakro der Firma MAZeT<br />

GmbH geladen. Der Masterbaustein dieser Firma wurde vom Encoder-<br />

Hersteller Heidenhain geprüft und für den Vertrieb freigegeben.<br />

7.2.4 Kommunikation über die parallele Schnittstelle<br />

Relevant für die Kommunikation mit<br />

dem DAQ-Pad sind die Adresse (6 Bit),<br />

der Datenbus (1 oder 2 Byte, je nach<br />

Einstellung) und die Linien Chip-Select<br />

(/CS), Write (/WR), Read (/RD) sowie<br />

/Ready, siehe Abbildung 62. Diese Linien<br />

werden während der Entwicklung mit<br />

einem Logic Analyzer der Firma Hewlett<br />

Bild 61: HP Logic Analyzer<br />

aus den 1980’ern<br />

Packard überprüft. Die Einstellung zum Datenbusmodus (Mode16)<br />

kann über einen Schalter auf dem Board, also per Hardware, gesetzt<br />

werden.<br />

Bild 62: Read & Write Cycle<br />

Abgesehen vom Datenbus, welcher bidirektional ist, haben die<br />

Signale eine vorgesehene Richtung, gemäss der nachfolgenden<br />

Tabelle.<br />

DAQ<br />

FPGA<br />

Data (8/16 Bit): Ports 0 & 1 D(0:15)<br />

Address (6 Bit): Pins 2.(0:5)<br />

A(0:5)<br />

/CS: Pin 3.0 /CS<br />

/RD: Pin 3.1 /RD<br />

/READY: Pin 3.4 /READY<br />

/WR: Pin 3.3 /WR<br />

Tabelle 8: Parallele Kommunikation<br />

7.3 Das Spannungspegel-Problem<br />

Die vier digitalen Ports (0 bis 3) des DAQ (s. Bild 63) können<br />

als Ein- oder Ausgänge konfiguriert werden, wobei auch einzelne Pins<br />

eines Portes individuell konfigurierbar sind. Ein Problem hierbei ist<br />

jedoch, dass das DAQ-Pad mit TTL (5V) Spannungsniveaus arbeitet,<br />

während das Digilab Board LVTTL-Pegel (3,3V) verwendet. An für<br />

sich sind die beiden Standards zwar kompatibel, da jedoch eine<br />

theoretische Gefahr besteht die Eingänge des Boards zu zerstören,<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 41


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

sollten die Verbindungen des parallelen Busses aufeinander eingestellt<br />

werden.<br />

Bild 63: DAQ-6016 Pin-Anschlüsse<br />

Bei unidirektionalen Verbindungen ist dies relativ einfach: bei<br />

Eingängen des DAQ-Pad können die Pins direkt miteinander<br />

verbunden werden, da eine logische LVTTL-Eins auch als logische Eins<br />

im TTL-Format interpretiert wird. In umgekehrter Richtung kann ein<br />

Widerstand oder ein IC zur Konvertierung zwischengeschaltet<br />

werden. Problematisch jedoch wird es bei dem Datenbus, da dieser<br />

bidirektional verläuft.<br />

7.3.1 Lösung: Buffer Triestado Externo<br />

Zur Problembehebung wurde entschieden, dass der 16 Bit<br />

Datenbus aufgeteilt werden soll in zweimal 8 Bit unidirektional. Auf<br />

der Seite des DAQ ist dies einfach: Port 0 wird als Ein- und Port 1 als<br />

Ausgang definiert. Das Digilab Board wird mit MODE16=0 auf einen<br />

8-Bit bidirektionalen Datenbus eingestellt. (Eine Aufteilung mit 8<br />

festen Ein- und 8 festen Ausgängen ist deshalb nicht möglich, da die<br />

interne Programmierung des FPGA als Blackbox zu betrachten ist und<br />

vom Anwender nicht geändert werden kann.) Die Umleitung dieses<br />

Busses auf Port 0 bzw. 1 des DAQ wird mit der Zwischenschaltung in<br />

Abb. 64 realisiert.<br />

Anmerkung: Der dargestellte Schaltplan enthält Fehler, welche<br />

jedoch auf dem Steckbrett korrigiert wurden. Der Plan wurde aus<br />

zeitlichen Gründen nicht aktualisiert, da diese Arbeit in den letzten<br />

Tagen meines Aufenthalts erfolgte.<br />

IC<br />

Beschreibung<br />

74HCT240 Octal buffer/line driver; 3-state; inverting<br />

74HCT10 Triple 3-input NAND gate<br />

74HCT04 Hex Inverter<br />

Tabelle 9: Übersicht verwendeter ICs<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 42


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 64: „Esquema: Conexión buffer triestado externo“<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 43


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Beschreibung: Die 8-Datenpins auf Seiten des FPGA werden direkt<br />

mit Port 0 des DAQ (Eingangsbus) verbunden. Die selben 8 Pins<br />

werden über einen 74HC240 Buffer (Inverter) auf Port 1 (DAQ<br />

Datenausgang) umgeleitet. Da die Stromversorgung des ICs durch<br />

das Digilab Board erfolgt, werden somit die Signale des DAQ auf den<br />

LVTTL-Pegel herabgesetzt (und zusätzlich invertiert). Der IC verfügt<br />

über zwei (gleichgeschaltete) Enable-Eingänge, welche so beschaltet<br />

sind, dass nur im Falle eines Schreibvorgangs die Signale<br />

durchgestellt werden. Der Default-Zustand setzt also einen<br />

Lesevorgang zur Sicherheit der FPGA-Pins voraus.<br />

Nach dem dargestellten Schaltplan werden die Enable-Pins<br />

direkt mit dem /WR verbunden. Dies war nur eine vorübergehende<br />

Lösung und wurde durch eine „sauberere“, wie folgt, ersetzt (siehe<br />

„Atención“ in Bild 64):<br />

Enable =0<br />

when ChipSelect=0 and Read=1 and Write=0,<br />

else Enable =1<br />

Für diese Schaltung werden die ICs 74HC10 (NAND) und 74HC04<br />

(Inverter) verwendet. (Anmerkung: Die Enable-Eingänge des<br />

74HC240 sind low-active, daher wird ein NAND statt AND verwendet.)<br />

Bild 65: Foto des Hardwareaufbaus<br />

Bild 65 dokumentiert den Hardwareaufbau. Auf der linken Seite<br />

ist das DAQPad zu sehen, welches mit einem Stromkabel versorgt<br />

wird und über einen USB-Anschluss mit einem PC (auf welchem die<br />

Software läuft, siehe Kap. 7.4) verbunden ist. In der Mitte ist das<br />

Steckbrett mit der Schaltung zu sehen, an welchem zwei Datenbusse<br />

des Logic Analyzers angeschlossen sind. Rechts das Digilab Board<br />

mit FPGA und Kabel zur Stromversorgung.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 44


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

7.4 Die Software<br />

Der Hardwareaufbau verlief parallel zur Softwareentwicklung,<br />

daher wurden einige Details im Nachhinein abgeändert.<br />

Beispielsweise wurde zunächst von einem 16 Bit Datenbus<br />

ausgegangen, der jedoch später auf zwei 8 Bit Busse aufgeteilt<br />

wurde. In den nachfolgenden Abschnitten wird der letzte Stand der<br />

Software beschrieben. Die Software wurde von Grund auf neu<br />

entwickelt; es gab keine bereits bestehenden Programmteile.<br />

Die Software ist nur als Zwischenschritt gedacht, um das Lesen<br />

des Encoders zu vereinfachen. Später, sobald die Kommunikation mit<br />

dem EnDat2.2 Standard bekannt ist und die Konfiguration des<br />

Encoders getestet wurde, wird für das Auslesen ein cRIO an Stelle<br />

des DAQ eingesetzt, wie in Abb. 57 dargestellt. Das Programm wird<br />

allerdings weiterhin, im Rahmen von Wartungsarbeiten, eingesetzt<br />

werden.<br />

7.4.1 Kommunikationsbausteine<br />

Um die Ports oder Pins des DAQ zugänglich zu machen und um<br />

sie zu konfigurieren werden sogenannte Tasks mit der Measurement<br />

& Automation Software von NI erstellt. Insgesamt werden 5 Tasks<br />

nach folgender Tabelle konfiguriert. Controls enthält die Linien /CS,<br />

/RD und /WR, alle Anderen sind selbsterklärend.<br />

DAQ-<br />

Konfigu-<br />

Port/Pin<br />

Task<br />

ration<br />

Data in P0 -<br />

Data out P1 -<br />

Addr P2.[0:5] -<br />

Controls P3.[0;1;3] invertiert<br />

Ready P3.4 invertiert<br />

Tabelle 10: Tasks<br />

Es wurden zwei VI’s<br />

erstellt, welche sich im Grunde im<br />

Aufbau gleichen. Eines liest Daten<br />

über die parallele Schnittstelle<br />

ein (liefert als Ausgang also die<br />

Daten), das Andere sendet sie<br />

(hat einen Dateneingang, s. Tab.<br />

11). Diese Bausteine sollen später<br />

in einem Hauptprogramm als<br />

SubVI’s verwendet werden.<br />

Eingänge<br />

Task: Data in/out<br />

Task: Address<br />

Task: Controls<br />

Task: Ready<br />

Data: Dirección<br />

(Data: Data write)<br />

Ausgänge<br />

Data: Error read/write<br />

Data: Error out<br />

(Data: Data read)<br />

Tabelle 11: Ein- & Ausgänge der SubVI's<br />

Bild 66: Front Panel des SubVI<br />

Parallel_Read_8bit.vi<br />

Die Programmierung ist unten zu sehen. Beim Aufrufen eines VI<br />

werden zuerst die Tasks gestartet, d.h. die Hardware konfiguriert<br />

und reserviert. Danach wird in einer Sequence-Structure<br />

nacheinander auf die einzelnen Ports bzw. Pins zugegriffen. Die<br />

Reihenfolge entspricht dem Diagramm aus Bild 62. Die dort<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 45


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

eingezeichneten Minimalzeitspannen (im Nanosekundenbereich)<br />

werden auf keinen Fall unterschritten, da das Programm auf dem PC<br />

verhältnismäßig langsam abläuft. Danach werden die Tasks beendet<br />

(die Hardware wird freigegeben) und die eventuell aufgetretenen<br />

Fehler werden zu einer Fehlermeldung gebündelt, welche als Error<br />

Out ausgegeben wird.<br />

Bild 67: Block Diagramm des SubVI Parallel_Read_8bit.vi<br />

Sequenz Read VI Write VI<br />

0.<br />

Address-Bus = Registeradresse (dirección)<br />

Databus = Data Write<br />

1.<br />

/CS setzen<br />

/RD = setzen<br />

/WR = setzen<br />

2.<br />

/ready = gesetzt? Wenn nein Fehler-LED setzen<br />

Data Read = Databus<br />

3. /CS = /RD = /WR = löschen<br />

Tabelle 12: Reihenfolge der Kommunikationssequenzen<br />

7.4.2 EnDat2.2: zu lesende/schreibende Register<br />

Für die Software stehen die Register nach Abb. 68 zum<br />

Lesen/Schreiben zur Verfügung (W/R=Write & read, RO=Read-only,<br />

WO=Write-only). Innerhalb der Register befinden sich verschiedene<br />

Daten und Konfigurationsvariablen. Das „Identification<br />

Register“ beispielsweise enthält Versions- und Protokollnummern<br />

und steht gemäss der Tabelle oben nur zum Lesen bereit. Beim<br />

Auslesen liefert es stets 0E22 E50F. Nachfolgend wird als Beispiel der<br />

Inhalt des Cofiguration Register 1 in Abb. 69 dargestellt.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 46


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 68: Register-Zugriff<br />

7.4.3 Hauptprogramm<br />

Bild 69: Configuration Register 1<br />

Die Benutzeroberfläche stellt in einer Registerkartei nur die<br />

wichtigsten Register zur Verfügung. Des Weiteren gibt es ein Register<br />

zum Einstellen der Hardware (DAQ) und eines welches ein manuelles<br />

Lesen oder Schreiben eines Bytes auf einer bestimmten Adresse<br />

ermöglicht.<br />

Je nach Zugriffsrechte (Bild 68) können Register gelesen oder<br />

beschrieben werden. Die Konfigurationsregister erlauben beides. Die<br />

Inhalte der Register werden gemäss der Dokumentation (Bild 69) in<br />

ihre Inhalte aufgeteilt (Bild 70).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 47


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 70: Auszüge des Front Panel des Programms<br />

Das Einlesen der Konfigurationsregister 1 und 2 erfolgt in vier<br />

Schritten:<br />

1. Überprüfen welche Taste gedrückt wurde. Wurde Retrieve<br />

Settings der Konfigurationsregister gewählt wird in der Case-<br />

Structure „Fall 5“ ausgeführt.<br />

2. Es wird das Byte der Hex-Adresse 14 mit dem<br />

Parallel_Read_8bit.vi eingelesen sowie die nachfolgenden 7<br />

Bytes. Diese 8 Bytes werden in einem Byte-Array<br />

zwischengespeichert.<br />

3. Das Array wird wieder in einzelne Bytes aufgeteilt und diese so<br />

zusammengefügt dass die Konfigurationsregister 1 und 2 dabei<br />

entstehen.<br />

4. Die Register werden in ihre einzelnen Inhalte zerlegt (Bild 69),<br />

in Variablen gespeichert und auf der Benutzeroberfläche<br />

angezeigt.<br />

Das speichern der Register erfolgt bei den Punkten 2-4 in<br />

umgekehrter Reihenfolge (Zusammensetzen der Inhalte zu Bytes,<br />

Bytes zusammenfügen zu Register, Byte-Array per<br />

Parallel_Write_8bit.vi senden).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 48


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

1.<br />

4.<br />

2.<br />

3.<br />

Bild 71: Block Diagramm des Programms<br />

7.5 Ergebnisse<br />

Die Programmierung der Kommunikationsbausteine erwies sich<br />

als erfolgreich. Zwischenzeitlich traten zwar Kommunikationsfehler<br />

auf, diese waren jedoch auf ein fehlerhaftes Verhalten (aufgrund<br />

fehlerhafter Programmierung) des FPGAs zurückzuführen und nicht<br />

auf die erstellte Anwendersoftware, welche mit dem PC ausgeführt<br />

wurde.<br />

Bild 72: Foto des Logic Analyzers. Fehlerhaftes Verhalten: Daten stehen<br />

nur kurzzeitig zur Verfügung<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 49


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Beispiel: Der am häufigsten aufgetretene Fehler beim Lesevorgang<br />

entstand dadurch, dass die Daten auf dem Bus von dem FPGA nur<br />

kurzzeitig, nicht bis zum Ende des Vorgangs, zur Verfügung gestellt<br />

wurden. Zum Zeitpunkt der Datenerfassung durch das DAQPad<br />

jedoch waren die Daten manchmal entweder noch nicht, oder nicht<br />

mehr auf dem Bus vorhanden. Bei einigen Lesevorgängen wurden die<br />

Daten trotz des Fehlers korrekt erfasst. In dem Beispiel aus Bild 72<br />

werden die Daten (Zeile D_READ) frühzeitig zurück gesetzt. Bei<br />

korrekter Übertragung erfolgt deren Rücksetzung erst nach<br />

Rücksetzung der CS, RD und READY Signale (vgl. Bild 62).<br />

Die Teilweise etwas unübersichtlichen Konvertierungsvorgänge<br />

im Hauptprogramm (z.B. um eingelesene Bytes in einzelne<br />

Informationsvariablen aufzuteilen) enthielten anfangs ein paar wenige<br />

Programmierfehler, welche jedoch nach einer Korrektur vollständig<br />

behoben wurden. Danach wurden sowohl Lese- als auch<br />

Schreibvorgänge getestet, mit erfolgreichen Ergebnissen.<br />

Aufgetretene Fehler waren, wie bereits beschrieben, auf das<br />

Verhalten des FPGAs zurück zu führen.<br />

Es lässt sich also zusammenfassen, dass – korrektes Verhalten<br />

des FPGAs vorausgesetzt – die Anwendersoftware erfolgreich<br />

eingesetzt werden kann um auf die Register des FPGAs bzw. die<br />

Daten des RCN-829 Encoders zuzugreifen.<br />

7.6 Weiteres Vorgehen<br />

Als Nächstes soll nun die Übertragung der Daten des Encoders<br />

an den FPGA über die EnDat-Schnittstelle umgesetzt werden. Ist<br />

diese erfolgreich in Betrieb genommen, so wird mit der oben<br />

beschriebenen Software die Konfiguration des Encoders eingestellt.<br />

Die optimalen Einstellungen, der Konfigurationsvorgang, sowie der<br />

Auslesevorgang der Positionsdaten des Encoders sollen auf diese Art<br />

und Weise ermittelt und kennen gelernt werden. Daraufhin wird eine<br />

entsprechende Prototyp-Flachbaugruppe entworfen, welche das<br />

Digilab Board ersetzt. Größe und Anzahl der Anschlüsse dieses<br />

Prototyps sollen minimiert werden, um auch die Anzahl möglicher<br />

Fehlerquellen gering zu halten.<br />

Sind all diese Schritte abgeschlossen kann der nächste<br />

Entwicklungsschritt erfolgen: die Anbringung am Achsenmodel<br />

(siehe Abschnitt „7.1.1 Vorgehensweise der Entwicklung“).<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 50


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

8.0 Fazit<br />

Im Rahmen meiner Tätigkeiten während des Praxissemesters<br />

wurde es mir ermöglicht meine, durch mein Studium erworbenen,<br />

Kenntnisse anzuwenden und zu erweitern. Im Wesentlichen kam<br />

mein Informatik- und Elektronikwissen zum Einsatz. Ich habe mich<br />

mit verschiedenen digitalen Kommunikationsmöglichkeiten befasst<br />

und deren jeweilige Vor- und Nachteile kennen gelernt. Ebenso<br />

beschäftigte ich mich mit dem Auslesen und dem Kommunizieren mit<br />

Sensoren. In diesem Zusammenhang waren meine Kenntnisse der<br />

technischen Optik sehr hilfreich, da optische Winkelmessgeräte zum<br />

Einsatz kamen. Ebenso ergaben sich viele Gelegenheiten die grafische<br />

Programmiersprache des Programms LabView von National<br />

Instruments kennen zu lernen.<br />

In einem mehr allgemeinerem Rahmen war es mir möglich<br />

etwas über den Aufbau und die Funktionsweise von Teleskopen zu<br />

lernen, sowie über die praktischen Schwierigkeiten die bei der<br />

Anwendung auftreten können.<br />

Die sprachlichen und kulturellen Erkenntnisse, die mit meinem<br />

Aufenthalt von 5 Monaten in Spanien verbunden waren, sind<br />

selbstverständlich nicht zu vergessen. Alles in Allem eine sehr<br />

wertvolle Erfahrung.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 51


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

9.0 Anhang<br />

9.1 Abkürzungsverzeichnis & Glossar<br />

ASIC Application Specific Integrated Circuit<br />

CAN Controller Area Network<br />

CISC Consejo Superior de Investigaciones Científicas<br />

CMOS Complementary Metal Oxide Semiconductor<br />

COTS Commercial Off <strong>The</strong> Shelf<br />

CRC Cyclic Redundancy Check<br />

cRIO Compact Reconfigurable Embedded System von NI<br />

DAQ-STC Data Aquisition - System Timing Controller (DAQ: PC-TIO-10<br />

User Manual)<br />

DLL Dynamic Linking Library<br />

EnDat2.2 Kommunikationsstandard der Firma Heidenhain<br />

FPGA Field Programmable Gate Array (programmierbarer IC)<br />

GUI Graphical User Interface<br />

HCTL ein CMOS IC der Firma Avago Technologies<br />

IAA Instituto Astrofísica de Andalucía<br />

IC<br />

Integrated Circuit (integrierter Schaltkreis)<br />

ID<br />

Nachrichten-Identifier (bzw. CAN-Code)<br />

Inductosyn® Transducer von Farrand Controls, Ruhle Companies Inc.<br />

IR<br />

Infrarot<br />

LVTTL Low-Voltage-TTL<br />

MPIA Max-Plack-Institut für Astronomie<br />

NI<br />

National Instruments<br />

NI-TIO „a National Instruments timing and triggering controller<br />

ASIC. <strong>The</strong> TIO includes four general purpose<br />

counter/timers … <strong>The</strong> TIO also provides advanced digital<br />

I/O capabilities for time-stamping multiple I/O lines and<br />

controlling digital output lines.” (DAQ: PC-TIO-10 User Manual)<br />

OSN Observatorio Sierra Nevada<br />

PID Proportional-Integral-Differential (Regelungstechnik)<br />

RTR Remote Transmission Request<br />

T150 Teleskop 150cm<br />

T90 Teleskop 90cm<br />

TTL Transistor-Transitor-Logik<br />

UDIT Unidad de Desarrollo Instrumental y Tecnológico<br />

VI<br />

Virtual Instrument, Programmdatei von LabVIEW<br />

9.2 Abbildungsverzeichnis<br />

Bild 1: Granada in Spanien ..........................................................1<br />

Bild 2: CSIC Logo .......................................................................1<br />

Bild 3: Organigramm des IAA .......................................................2<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 52


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 4: Observatorio Sierra Nevada (OSN)......................................3<br />

Bild 5: Logo OSN ........................................................................3<br />

Bild 6: Prinzip des Nasmyth-Teleskops ..........................................3<br />

Bild 7: Prinzip des Ritchey-Chrétien-Teleskops ...............................3<br />

Bild 8: Das T150 innerhalb der Kuppel. Die Hauptachse ist parallel<br />

zum Äquator ausgerichtet (equatorial mount). ..........................5<br />

Bild 9: Das aktuelle System .........................................................6<br />

Bild 10: Struktur des neuen dezentralen Systems ...........................9<br />

Bild 11: Altes System der Achsen ...............................................10<br />

Bild 12: Neues System der Achsen..............................................10<br />

Bild 13: Mechanisches Modell des Teleskops.................................11<br />

Bild 14: ERN 1070 ....................................................................12<br />

Bild 15: Signale eines relativen Quadrature Encoders (Uhrzeigersinn)<br />

........................................................................................12<br />

Bild 16: X1, X2 und X4 Encoder..................................................13<br />

Bild 17: Foto der Hardware ........................................................14<br />

Bild 18: GUI des LabView Programms für ERN 1070......................14<br />

Bild 19: LabView Blockdiagram für ERN 1070 ...............................15<br />

Bild 20: LabVIEW Blockdiagram zum Auslesen des /Z-Kanals .........16<br />

Bild 21: UC-313........................................................................18<br />

Bild 22: RS485 Converter ..........................................................18<br />

Bild 23: WEST N2300 ................................................................18<br />

Bild 24: Eigenschaften von Modbus ASCII & RTU ..........................18<br />

Bild 25: Modbus Nachrichtenstruktur...........................................19<br />

Bild 26: Modbus Function Codes .................................................19<br />

Bild 27: Kommando-Codes des N2300.........................................19<br />

Bild 28: Full- vs. Half-Duplex Communication...............................20<br />

Bild 29: Connection Setup .........................................................20<br />

Bild 30: Beispiel der Kommunikation ...........................................20<br />

Bild 31: Converter DIP-Switch Settings .......................................21<br />

Bild 32: Anschlüsse N2300.........................................................21<br />

Bild 33: Unter-/Oberseite des Konverters.....................................21<br />

Bild 34: Kommunikationsbeispiel RS232-RS485............................22<br />

Bild 35: Steuerung der Kuppel....................................................23<br />

Bild 36: Screenshot des bereits bestehenden LabView Programms ..24<br />

Bild 37: Vereinfachte Struktur des PROGRAMA TÉCNICO CÚPULA<br />

T150.vi ..............................................................................25<br />

Bild 38: VI-Hierachie des PROGRAMA TÉCNICO CÚPULA T150.vi.....27<br />

Bild 39: CAN-Bus Broadcasting...................................................28<br />

Bild 40: CAN-Nachrichten im Standard Format .............................28<br />

Bild 41: vorne links: angesteuerter Motor ....................................29<br />

Bild 42: CAN-PCI/331................................................................29<br />

Bild 43: Screenshot des Programms CANscope .............................29<br />

Bild 44: Testflachbaugruppe.......................................................29<br />

Bild 45: Einige CAN-Funktionen ..................................................30<br />

Bild 46: CAN-Initialisierung ........................................................30<br />

Bild 47: canOpen.vi...................................................................30<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 53


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 48: Routine zum Einlesen der COMANDOS.txt ........................32<br />

Bild 49: Programa Principal: Abschnitt 1 ......................................33<br />

Bild 50: Benutzeroberfläche .......................................................34<br />

Bild 51: Case-Struktur der Kommandos.......................................34<br />

Bild 52: Programa Principal: Ausschnitt von Abschnitt 2 ................35<br />

Bild 53: canReadMsg.vi .............................................................36<br />

Bild 54: Programa Principal: Abschnitt 3 ......................................36<br />

Bild 55: Abschnitt 4 ..................................................................37<br />

Bild 56: Configuración para el estudio de posicionado ALFA............38<br />

Bild 57: Verbindung zwischen dem RCN829, dem FPGA und cRIO ...39<br />

Bild 58: Systemkonfiguration des Encoders & Folgeelektronik.........40<br />

Bild 59: RCN829 .......................................................................40<br />

Bild 60: Block Diagramm des Softmakro......................................40<br />

Bild 61: HP Logic Analyzer aus den 1980’ern................................41<br />

Bild 62: Read & Write Cycle .......................................................41<br />

Bild 63: DAQ-6016 Pin-Anschlüsse..............................................42<br />

Bild 64: „Esquema: Conexión buffer triestado externo“..................43<br />

Bild 65: Foto des Hardwareaufbaus.............................................44<br />

Bild 66: Front Panel des SubVI Parallel_Read_8bit.vi ..............45<br />

Bild 67: Block Diagramm des SubVI Parallel_Read_8bit.vi ........46<br />

Bild 68: Register-Zugriff ............................................................47<br />

Bild 69: Configuration Register 1 ................................................47<br />

Bild 70: Auszüge des Front Panel des Programms .........................48<br />

Bild 71: Block Diagramm des Programms ....................................49<br />

Bild 72: Foto des Logic Analyzers. Fehlerhaftes Verhalten: Daten<br />

stehen nur kurzzeitig zur Verfügung ......................................49<br />

9.3 Tabellenverzeichnis<br />

Tabelle 1: Chronologischer Tätigkeitsabriss ....................................4<br />

Tabelle 2: Übersicht serieller Kommunikationsmöglichkeiten ..........17<br />

Tabelle 3: Modbus Nachrichtenbeispiel ........................................19<br />

Tabelle 4: Erläuterung Modbus Nachrichtenbeispiel .......................19<br />

Tabelle 5: Pin Verbindungen RS485-RS485 ..................................20<br />

Tabelle 6: Pin Verbindungen RS232-RS485 ..................................21<br />

Tabelle 7: Comandos de la cúpula (COMANDOS.txt)......................31<br />

Tabelle 8: Parallele Kommunikation ............................................41<br />

Tabelle 9: Übersicht verwendeter ICs ..........................................42<br />

Tabelle 10: Tasks .....................................................................45<br />

Tabelle 11: Ein- & Ausgänge der SubVI's .....................................45<br />

Tabelle 12: Reihenfolge der Kommunikationssequenzen ................46<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 54


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

9.4 Quell- und Literaturverzeichnis<br />

• CAN: NI-CAN Hardware and Software Manual, May 2005,<br />

National Instruments.<br />

• Data Acquisition and Signal Conditioning (Course Manual),<br />

August 2003 Edition, National Instruments.<br />

• DAQ: PC-TIO-10 User Manual, April 1999 Edition, National<br />

Instruments.<br />

• Fundamental Astronomy, H. Karttunen et al, fourth edition,<br />

Springer Verlag.<br />

• HDL Chip Design, Douglas J. Smith, 1998 Doone Publications,<br />

Madison, AK, USA.<br />

• New Control System for the 1.5m and 0.9m Telescopes at<br />

Sierra Nevada <strong>Observatory</strong>, L. P. Costillo et al, Proceeding of<br />

SPIE Vol. 6274 62741I-12, IAA, Granada, Spain.<br />

• Proyecto Modelo de Telescopio (ServoMotores), J. L. Ramos<br />

Más, Versión 1, Oct. 2007.<br />

9.4.1 Bildquellen<br />

Bilder 9<br />

bis 12<br />

New Control System for the 1.5m and 0.9m Telescopes at Sierra<br />

Nevada <strong>Observatory</strong>, L. P. Costillo et al, Proceeding of SPIE Vol. 6274<br />

62741I-12, IAA, Granada, Spain.<br />

Bild 1 http://www.iaa.es/img/docs/plano-gr.gif [27.11.07]<br />

Bild 2 http://www.hisparob.es/images/logos/logo_csic.png [27.11.07]<br />

Bild 3 http://www.iaa.es/organigrama/organigrama.gif [27.11.07]<br />

Bild 4 http://www.osn.iaa.es/fotos/foto_portada.JPG [27.11.07]<br />

Bild 5 Proyecto Modelo de Telescopio.doc (Modelo de Telescopio, Propuesta de<br />

Proyecto de Desarrollo, José Luis Ramos Más)<br />

Bild 6 http://de.wikipedia.org/wiki/Bild:Nasmyth-Telescope.svg [27.11.07]<br />

Bild 7 http://de.wikipedia.org/wiki/Bild:Ritchey-Chretien-Cassegrain-<br />

Teleskop.svg [27.11.07]<br />

Bild 8 PROYECTO DE Controlador de la CÚPULA T150.doc (Nueva Consola,<br />

Control de Cúpula), IAA 2007.<br />

Bild 13 IAA, 2004.<br />

Bild 14 Heidenhain, Preliminary Product Information, ERN 1000 Series,<br />

Generation 2, 03/2006.<br />

Bild 15 http://pdf.directindustry.com/pdf/heidenhain/rotary-encoders/155-88-<br />

_32.html [25.10.07]<br />

Bild 16 DAQ PCI/PXI 6602 – User Manual, Pages 3-18, 3-19<br />

Bilder 17 Inés Seiler, 2007.<br />

bis 20<br />

Bild 21 http://www.serial-cards.co.uk/CategoryImages%5CUC313l.jpg<br />

[21.12.07]<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 55


Hoocchhsscchhuul lee Kaarrl lssrruuhhee<br />

University of Applied Sciences<br />

Hochschule für Technik<br />

IIAA<br />

Instituto Astrofísica<br />

de Andalucía<br />

Bild 22 http://www.patton.com/manuals/2085.pdf [21.12.07]<br />

Bild 23 http://www.setra.com.cn/images/file_upload/img/<br />

20050707134355.JPG [21.12.07]<br />

Bild 24 http://www.lammertbies.nl/comm/info/modbus.html#tran [12.11.07]<br />

Bilder http://www.lammertbies.nl/comm/info/modbus.html#mess [12.11.07]<br />

25, 26<br />

Bild 27 http://www.easytherm.cz/download.php?id=410682,17,1 [12.11.07]<br />

Bild 28 http://ckp.made-it.com/pictures/rs485.gif [12.11.07]<br />

Bilder Inés Seiler, 2007.<br />

29, 30,<br />

34<br />

Bilder http://www.patton.com/manuals/2085.pdf [12.11.07]<br />

31, 33<br />

Bild 32 http://www.farnell.com/datasheets/51900.pdf [12.11.07]<br />

Bild 35 EL SOFTWARE DEL NUEVO CONTROLADOR.doc, IAA 2007.<br />

Bilder 36 Inés Seiler, 2008. Bild 37 wurde mit dem Freewareprogramm husbis<br />

38 Struktogrammer erstellt.<br />

Bilder Controller Area Network – Ein serielles Bussystem nicht nur für<br />

39, 40 Kraftfahrzeuge, ESG GmbH, Hannover, (www.esd-elecotronics.com).<br />

Bild 42 http://www.esd-electronics.de/photos/PCI31-21.jpg [22.01.08]<br />

Bilder Inés Seiler, 2008.<br />

41, 43<br />

bis 55<br />

Bilder Proyecto Actualización Posicionado Alfa.doc (Informe Técnico, J. L.<br />

56, 57, Ramos Más, 2007.)<br />

60<br />

Bilder<br />

58, 60,<br />

62, 68,<br />

69<br />

Bild 61<br />

Data Sheet: EnDat 2.2 Master Component, FPGA Softmakro for Position<br />

Encoder Systems with EnDat & SSI Interface. MAZeT GmbH, Jena,<br />

2005.<br />

http://www.usedmeter.com/upimg/200412161172194623.jpg<br />

[23.01.08]<br />

Bild 63 Measurement & Automation Explorer, Vers. 4.3.0f0, National<br />

Instruments, 2007. NI-DAQmx Device Terminal Help > DAQ Devices ><br />

NI DAQPad-6016.<br />

Bild 64 J. L. Ramos Más, IAA, 2008.<br />

Bilder 65 Inés Seiler, 2008.<br />

bis 67,<br />

70 bis 72<br />

9.4.2 Softwarequellen<br />

• Hus-Struktogrammer, V97.05 Delphi32 (Freeware), Steck<br />

Hans-Ulrich.<br />

• Microsoft ® Office Word 2003, Eigentum des IAA.<br />

• Modbus Poll Version 4.3.2. (Trial Edition),<br />

www.modbustools.com.<br />

• National Instruments LabView v7.1 und v8.5, Eigentum des<br />

IAA.<br />

• National Instruments Measurement & Automation Explorer v.<br />

4.3.0f0, Eigentum des IAA.<br />

Inés Seiler 2. <strong>Praxissemesterbericht</strong> 56

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!