Praxissemesterbericht - The MMT Observatory
Praxissemesterbericht - The MMT Observatory
Praxissemesterbericht - The MMT Observatory
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