Herunterladen Diese Seite drucken
HEIDENHAIN IK 410V Benutzerhandbuch
HEIDENHAIN IK 410V Benutzerhandbuch

HEIDENHAIN IK 410V Benutzerhandbuch

Zahlerplatine mit bus-schnittstelle

Werbung

3/2006

Werbung

loading

Inhaltszusammenfassung für HEIDENHAIN IK 410V

  • Seite 1 3/2006...
  • Seite 2 ysfw…Á ysfw…ÁÁ ysfw…  Á Etpqpƒ†xqfyr  !Á Sphsyt„hspÁ5p„hsƒptg†yrÁipƒÁ DÁ!ÁU  "Á Blockschaltbild IK 410 V ............6 Zugriffszeit auf Meßwerte............6 Blockschaltbild des Zählerbausteins.......... 7 Beschreibung der Signale *)............8 R…phvpƒgpwpr†yr  &Á Schnittstelle zur Folge-Elektronik ..........9 Meßsystem-Eingang ..............9 4grwpthsÁipƒÁFp•„„…pxRtryfwp  Á...
  • Seite 3 ysfw…Á Registerbeschreibung des Output-Ports .........42 20h: I²C-Bus-Leitung SCL: Takt für EEPROM (Schreibzugriff).......42 22h: I²C-Bus-Leitung SDA: DATEN für EEPROM (Schreibzugriff)....42 24h: Umschaltung des Multiplexers für die Meßsystem-Signale (Schreibzugriff) ....42 Iƒ€rƒfxxtpƒ†yr ! Á Einfache Beispiele in „BORLAND C“ ........43 Grundfunktionen zum Schreiben und Lesen der Register ..........43 Funktion zum Schreiben in die Register......44 Funktion zum Lesen der Register ........44...
  • Seite 4 Etpqpƒ†xqfyrÁ Etpqpƒ†xqfyrÁ • Zählerkarte IK 410 V • Benutzer-Handbuch • Programmierbeispiele Atyˆpt„Á‘†ƒÁ8FUQths…wtytpÁ%& #8V@Á Die Bestimmungen der EMV-Richtlinie 89/336/EWG wurden mit dem COMPAQ-Rechner DESKPRO 386/20e geprüft. Vths…trpÁAtyˆpt„pÁ Á Á @pqfsƒÁqàƒÁty…pƒypÁ5f†…ptwp Die Vorsichtsmaßnahmen bei der Handhabung pwpv…ƒ€ „…f…t„hsÁpy…wfi†yr„rpqËsƒip…pƒÁ5f†pwpxpy…pÁÉ8R7 nach DIN EN 100 015 beachten. Als Transport-Verpackung nur antistatisches Material verwenden.
  • Seite 5 Sphsyt„hspÁ5p„hsƒptg†yrÁipƒÁ DÁ!ÁUÁ Sphsyt„hspÁ5p„hsƒptg†yrÁipƒÁ DÁ!ÁUÁ ist eine Interpolations- und Zählerplatine zur Weg- DÁ!ÁU und Winkelmessung mit einem HEIDENHAIN-Meßsystem mit sinusförmigen Spannungssignalen. Zusätzlich zum Eingang für die Inkrementalsignale ist ein Eingang für die Kommutierungs- spur eines Motorgebers vorgesehen (ein Sinus/Cosinus pro Umdrehung). Somit eignet sie sich auch für die Motorregelung.
  • Seite 6 über Datenregister im Zählerbaustein per Software abgleichen; Phase und Amplitude über elektronische Potentiometer. Außerdem ermöglicht das Qutput-Port die Umschaltung der 0°- und 90°-Signale von N- und Z1-Spur eines HEIDENHAIN- Meßsystems über einen Multiplexer. Y†rƒtqq„‘pt…Áf†qÁFp•ˆpƒ…pÁ Die Zugriffszeit auf die Meßwerte beträgt typisch 30 µs (abhängig von der Taktfrequenz).
  • Seite 7 Sphsyt„hspÁ5p„hsƒptg†yrÁipƒÁ DÁ!ÁUÁ 5w€hv„hsfw…gtwiÁip„ÁYËswpƒgf†„…pty„Á $Á...
  • Seite 8 Sphsyt„hspÁ5p„hsƒptg†yrÁipƒÁ DÁ!ÁUÁ 5p„hsƒptg†yrÁipƒÁRtryfwpÁÁ D0 bis D15 Datenbus A0 bis A5 Adreßbus CLOCK Eingang für Takt (Falls Brücke BR2 auf EXT) –RD Eingang Read Strobe –WR Eingang Write Strobe –CS Eingang Chip Select –RESET Eingang Reset –INT Ausgang Interrupt –L0 Eingang Hardware-Latch für Register 0 –L1 Eingang Hardware-Latch für Register 1 –SYNC0...
  • Seite 9 –Res CLOCK * externe Versorgungsspannung Fp•„„…px8tyrfyrÁ An die IK 410 V können Sie HEIDENHAIN-Längenmeßsysteme oder -Winkelmeßsysteme mit sinusförmigen Spannungs- signalen A und B (N-Spur) und Referenzmarken-Signal R anschließen. Zusätzlich kann man bei Motorgebern die Kommutierungssignale C und D (Z1-Spur) auswerten.
  • Seite 10 R…phvpƒgpwpr†yrÁ Signalamplituden A, B, C, D (0°, 90°) 0,6 V bis 1,2 V R (Referenzmarke) 0,2 V bis 0,85 V ≤ 0,22 V Signalpegel für Fehler- meldung Maximale Eingangsfrequenz 350 kHz Kabellänge max. 60 m (Versorgungs- spannung 5,0 V 1) Kabel bis 150 m sind möglich, falls durch eine externe Versorgung gewährleistet ist, daß...
  • Seite 11 4grwpthsÁipƒÁFp•„„…pxRtryfwpÁ 4grwpthsÁipƒÁFp•„„…pxRtryfwpÁ Meßsystem-Signale können wie folgt abgeglichen werden: • Phase und Amplitude über elektronische Potentiometer • Symmetrie (Offset) in den Zählerbausteinen mit Offset- Registern Die Ansteuerung der Potentiometer erfolgt über I²C-Bus. Beispiele zur Erzeugung der Steuersequenzen finden Sie im Quellcode der Programme POTIS.CPP sowie POTIS.PAS und ADJUST.PAS.
  • Seite 12 4iƒp•ƒf†xÁ†yiÁ7f…pyq€ƒxf…Á 4iƒp•ƒf†xÁ†yiÁ7f…pyq€ƒxf…Á Das Zähler-Gatearray benötigt zum Lesen bzw. Schreiben seiner Register die Adressen A0 bis A4 (Adreßleitung A5=0), d.h. Adreßbereich: $0 bis $1E. Der Output-Port wird mit den Adressen A1 und A2 und der Datenleitung D0 angesprochen (Adreßleitung A5=1), d.h. Adreßbereich: $20 bis $3E. Á...
  • Seite 13 4iƒp•ƒf†xÁ†yiÁ7f…pyq€ƒxf…Á 7f…pyq€ƒxf…Á Sie können per Brücke BR2 wählen, ob Sie mit dem INTEL- oder MOTOROLA-Datenformat arbeiten (siehe Anschlußmaße).  Á...
  • Seite 14 Sfv…ÁYpt…fgwf†qÁ†yiÁRfyy†yr„prpwÁ Sfv…ÁYpt…fgwf†qÁ†yiÁRfyy†yr„prpwÁ Sie können per Brücke BR1 wählen, ob Sie die IK 410 V mit dem internen Takt (20 MHz) oder mit einem externen Takt (von 3 MHz bis 20 MHz) versorgen (siehe Anschlußmaße). Á Á 5p‘pthsy†yrÁ F GÁ F4WÁ ›...
  • Seite 15 Qprt„…pƒÁ Qprt„…pƒÁ Für die folgende Beschreibung ist das Prinzip-Schaltbild der Zählerbausteine auf der letzten Seite hilfreich. Á Vths…trpƒÁAtyˆpt„Á‘†ƒÁIƒ€rƒfxxtpƒ†yr'Á Der Zugriff auf die IK 410 V erfolgt durch Lesen von Daten- worten, die in Registern abgelegt sind, und durch Schreiben von Datenworten in die Register. Deshalb dürfen nur gerade Port-Adressen mit Wort-Schreib- und Wort-Lesebefehlen adressiert werden.
  • Seite 16 Qprt„…pƒÁ Qprt„…pƒÁip„ÁH†…†…I€ƒ…„Á 4iƒp„„pÁ Rhsƒptg‘†rƒtqqÁ Ep„p‘†rƒtqqÁ ÉAp‰Á 4Ágt„Á4"Á C-Bus-Leitung SCL: Takt für – EEPROM (Signale müssen invertiert pro- grammiert werden) C-Bus-Leitung SDA: Daten für – EEPROM (Signale müssen invertiert pro- grammiert werden) Umschaltung des Multiplexers – für die Meßsystem-Signale #Á...
  • Seite 17 Qprt„…pƒÁ 7f…pyQprt„…pƒÁqàƒÁitpÁYËswpƒÁ Die Meßwerte speichert die IK 410 V in 48 Bit breiten Regis- tern. Pro Achse stehen zwei Daten-Register zur Verfügung: Daten-Register 0 (00h bis 04h) und Daten-Register 1 (06h bis 0Ah). Die Meßwerte setzt die IK 410 V aus dem 10-Bit-Inter- polationswert und dem 32 Bit breiten Wert des Periodenzählers zusammen.
  • Seite 18 Qprt„…pƒÁ 6s'ÁÁÁÁ yt…tfwt„tpƒ†yr„Qprt„…pƒÁÁÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 5p…ƒtpgÁxt…€sypÁ y…pƒ€wf…t€y 0 = Betrieb als Periodenzähler (ohne Interpolation – Datenbits D0 bis D9 sind nicht definiert) 1 = Meßwert wird aus dem Wert des Perioden- zählers und aus dem Interpolationswert gebildet. Stxpƒ 0 = Timer nullen und stoppen 1 = Timer starten 8ty„pthspƒ9ƒptrfgp 0 = Betriebsart: 32-Bit-Register...
  • Seite 19 Qprt„…pƒÁ 6s'ÁÁÁÁ yt…tfwt„tpƒ†yr„Qprt„…pƒÁÁÉRhsƒptg‘†rƒtqqÁ Á 5t…Á 9†yv…t€yÁ G†ƒÁtxÁ5p…ƒtpgÁfw„ÁIpƒt€ipy‘Ëswpƒ'Á 9wfyvpyf†„ˆpƒ…†yr Durch die beiden inkrementalen Meßsystem-Signale (0°el. und 90° el.) stehen pro Signalperiode maximal vier Flanken zur Auswertung zur Verfügung. Die Zähler können so programmiert werden, daß sie entweder eine, zwei oder vier Flanken pro Signalperiode zählen. 00 = 1fach 01 = 2fach 11 = 4fach...
  • Seite 20 Qprt„…pƒÁ 8s'ÁÁÁÁD€y…ƒ€wwQprt„…pƒÁÁÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 1 = Software-Abruf: Meßwert in Daten-Register 0 1 = Software-Abruf: Meßwert in Daten-Register 1 1 = Software-Abruf in alle Daten-Register (muß im Abruf-Freigabe-Register freigegeben werden) 1 = Zähler starten 1 = Zähler stoppen 1 = Zähler löschen 1 = Meßsystemfehler löschen (Frequenzüberschreitung) Amplitudenwert-Register löschen...
  • Seite 21 Qprt„…pƒÁ 8s'ÁÁÁÁR…f…†„Qprt„…pƒÁÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ Status für Software-Abruf in Register 0 1 = Meßwert ist bereit Status für Software-Abruf in Register 1 1 = Meßwert ist bereit ohne Funktion ohne Funktion 1 = Zähler ist gestoppt I²C-Bus-Leitung SDA (Eingang) 1 = Meßsystemfehler (Frequenzüberschreitung) ohne Funktion Á...
  • Seite 22 Qprt„…pƒÁ 8s'ÁÁÁÁR…f…†„Qprt„…pƒÁÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 1 = Anfahren der Referenzmarke ist aktiv ohne Funktion Logik-Pegel für das 0°-Signal Logik-Pegel für das 90°-Signal Logik-Pegel der Referenzmarke Á...
  • Seite 23 Qprt„…pƒÁ s'ÁÁÁÁQpqpƒpy‘xfƒvpyQprt„…pƒÁÉRhsƒptg‘†rƒtqqÁ HEIDENHAIN-Längen- und Winkelmeßsysteme können eine oder mehrere Referenzmarken haben. HEIDENHAIN empfiehlt insbesondere Meßsysteme mit abstandscodierten Referenz- marken. Bei einer Stromunterbrechung geht die Zuordnung zwischen der Position des Meßsystems und dem angezeigten Positions- wert verloren. Mit den Referenzmarken der Meßsysteme kann man die Zuordnung nach dem Einschalten wieder herstellen.
  • Seite 24 Qprt„…pƒÁ 4†„ˆpƒ…pyÁfg„…fyi„h€itpƒ…pƒÁQpqpƒpy‘xfƒvpyÁ Bei Meßsystemen mit abstandscodierten Referenzmarken be- finden sich über den ganzen Meßweg Referenzmarken in ei- nem festen Abstand. Zwischen zwei dieser Referenzmarken befindet sich eine dritte, deren Abstand zu den anderen beiden so variiert, daß jeder Abstand ein Vielfaches der Teilungs- periode beträgt und nur einmal über den ganzen Meßweg vor- kommt.
  • Seite 25 Qprt„…pƒÁ Es gibt vier mögliche Fälle: 1. Positive Verfahrrichtung und DIFF > 500 OFFSET = (DIFF – 501) • 1 000 2. Positive Verfahrrichtung und DIFF < 500 OFFSET = (500 – DIFF) • 1 000 – DIFF 3. Negative Verfahrrichtung und ⏐DIFF⏐ > 500 OFFSET = (DIFF –...
  • Seite 26 Qprt„…pƒÁ s'ÁÁÁÁ4xwt…†ipyˆpƒ…Qprt„…pƒÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ €syp 9†yv…t€y 4v…†pwwpÁ4xwt…†ip Mit jedem Meßwert-Abruf wird ein neuer Amplitu- denwert ermittelt. D9 D8 0 normale Amplitude 0,47 V < U < 1,41 V 1 kleine Amplitude 0,23 V < U < 0,47 V 0 hohe Amplitude >...
  • Seite 27 Qprt„…pƒÁ s'Á 9ƒptrfgpQprt„…pƒÁqàƒÁFp•ˆpƒ…4gƒ†qÁÁ Á ÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 1 = Freigabe L0 für Daten-Register 0 1 = Freigabe L0 über Verzögerungsglied (125 ns) für Daten-Register 0 1 = Freigabe des „Software-Abrufs in alle Daten- Register" für Daten-Register 0 1 = Freigabe des „Software-Abrufs über Timer" für Daten-Register 0 1 = Freigabe L1 für Daten-Register 1 1 = Freigabe L1 über Verzögerungsglied (125 ns) für...
  • Seite 28 Qprt„…pƒÁ s'Á Qprt„…pƒÁqàƒÁ4hs„Df„vfitpƒ†yrÁÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 1 = Freigabe von Pin L 0 zu SYNC 1 1 = Freigabe des Software-Abrufs zu SYNC 1 1 = Freigabe des Timerstrobes zu SYNC 1 1 = Freigabe von Pin L1 zu SYNC 0 1 = Freigabe des Software-Abrufs zu SYNC 0 1 = Freigabe des Timerstrobes zu SYNC 0 s'ÁÁÁÁÁÁÁÁÁÁÁEp„p‘†rƒtqqÁ€sypÁ9†yv…t€yÁ...
  • Seite 29 Qprt„…pƒÁ !s'ÁÁÁÁ y…pƒƒ†…9ƒptrfgpQprt„…pƒÁÉRhsƒptg‘†rƒtqqÁ Die Interrupt-Logik programmieren Sie über das Interrupt- Freigabe-Register. Die Interrupt-Ursache kann der Meßwert- Abruf in Register 0, Register 1 oder der Timer-Strobe sein. Alle drei Interrupt-Quellen können Sie unabhängig voneinander pro- grammieren. Bei gleichzeitigem Eintreffen mehrerer Interrupts besteht folgende Priorität: •...
  • Seite 30 Qprt„…pƒÁ !s'ÁÁÁÁ y…pƒƒ†…R…f…†„Qprt„…pƒÁÁÉEp„p‘†rƒtqqÁ In diesem Register wird der gerade aktive Interrupt angezeigt (es kann immer nur 1 Bit gesetzt sein). Durch Lesen dieses Re- gisters setzt die IK 410 V den gerade aktiven Interrupt zurück und löscht das zugehörige Status-Bit, so daß Sie den nächsten Interrupt durch eine negative Flanke auslösen können.
  • Seite 31 Qprt„…pƒÁ !s'ÁÁÁÁ y…pƒƒ†…R…f…†„Qprt„…pƒÁÁÉEp„p‘†rƒtqqÁ In diesem Register zeigt die IK 410 V alle Interrupts an, die an- stehen, d.h. der aktive Interrupt und die Interrupts, die noch ausgeführt werden müssen. Es können also mehrere Bits gleichzeitig gesetzt sein. 5t…Á 9†yv…t€yÁ 1 = Interrupt 0 steht an, wird aber noch nicht ausgeführt 1 = Interrupt 1 steht an, wird aber noch nicht ausgeführt...
  • Seite 32 Qprt„…pƒÁ #s'ÁÁÁÁHqq„p…Qprt„…pƒÁqàƒÁ«RtryfwÁÉRhsƒptg‘†rƒtqqÁ Dieses Register enthält den 7-Bit-Offset-Korrekturwert für das 0°-Signal in Zweier-Komplement-Darstellung. Daraus folgt eine maximale Korrektur von ± 63. Die Korrekturwerte können nur geschrieben werden, falls eines der Status-Bits D5 oder D6 im Status-Register 3 den Wert 0 hat. 9†yv…t€y„ˆpt„p' Zu den digitalen Werten des 0°-Signals (0 bis 1023) und 90°- Signals addiert die IK 410 V die Offset-Korrekturwerte.
  • Seite 33 Qprt„…pƒÁ #s'ÁÁÁÁ4xwt…†ipÁqàƒÁif„Á«RtryfwÁÉEp„p‘†rƒtqqÁ Bei jedem Analog-Digital-Wandelvorgang speichert die IK 410 V das Ergebnis der Wandlung. Vor dem Auslesen müssen Sie durch Bit D4 im Kontroll-Register 2 die Werte einfrieren. 5t…Á 9†yv…t€yÁ Amplitude für das 0°-Signal ohne Funktion Á...
  • Seite 34 Qprt„…pƒÁ %s'ÁÁÁÁHqq„p…Qprt„…pƒÁqàƒÁif„Á&«RtryfwÁÉRhsƒptg‘†rƒtqqÁ Dieses Register enthält den 7-Bit-Offset-Korrekturwert für das 90°-Signal. Die Beschreibung der Funktionsweise siehe „16h: Offset- Register für 0°-Signal" 5t…Á 9†yv…t€yÁ Offset-Korrekturwert für das 90°-Signal in Zweier-Komplement-Darstellung ohne Funktion !Á...
  • Seite 35 Qprt„…pƒÁ %s'ÁÁÁÁ4xwt…†ipÁqàƒÁif„Á&«RtryfwÁÉEp„p‘†rƒtqqÁ Bei jedem Analog-Digital-Wandelvorgang speichert die IK 410 V das Ergebnis der Wandlung. Vor dem Auslesen müssen Sie durch Bit D4 im Kontroll-Register 2 die Werte einfrieren. 5t…Á 9†yv…t€yÁ Amplitude für das 90°-Signal ohne Funktion "Á...
  • Seite 36 Qprt„…pƒÁ 4s'ÁÁÁÁStxpƒQprt„…pƒÁÉRhsƒptg‘†rƒtqqÁ In den Registern 1Ah und 1Bh legen Sie den 13 Bit breiten Timer- wert ab. Im Timer-Register können Sie also Werte von 0 bis 8191 speichern. Die Zykluszeit wird in µs angegeben, wobei Sie von der gewünschten Zykluszeit 1 µs abziehen müssen. 5pt„tpw Gewünschte Zykluszeit = 1 ms = 1 000 µs Zu programmierender Wert = 1 000 –...
  • Seite 37 Qprt„…pƒÁ 6s'Á D€y…ƒ€wwQprt„…pƒÁÁÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ Festen Wert ≥ 8 programmieren 1 = Amplitude für 0°-Signal (16h) und 90°-Signal (18h) sowie Amplitudenwert-Register (10h High Byte) einfrieren. Um eine Änderung der Registerwerte während des Auslesens zu vermeiden, müssen Sie dieses Bit setzen. Ob die Registerwerte eingefroren sind, können Sie über Bit D4 im Status- Register 3 abfragen.
  • Seite 38 Qprt„…pƒÁ 6s'ÁÁÁÁR…f…†„Qprt„…pƒÁ ÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ nicht lesbar 1 = Amplitude für 0°-Signal (16h) und 90°-Signal (18h) sowie Amplitudenwert-Register (10h High Byte) sind eingefroren und können gelesen werden. 0 = Das Offset-Register für das 0°-Signal ist geschrieben. 0 = Das Offset-Registers für das 90°-Signal ist geschrieben.
  • Seite 39 Qprt„…pƒÁ 6s'ÁÁÁÁDpyy†yr„Qprt„…pƒÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ Bausteinkennung: 8 (Zählerbaustein G26 ): Id.-Nr. 282 150-01 9 (Zählerbaustein G38 ): Id.-Nr. 315 860-01 13 (Zählerbaustein G49 ): Id.-Nr. 333 033-01 Bausteinbezeichnung von HEIDENHAIN &Á...
  • Seite 40 Qprt„…pƒÁ 1Eh: Kontroll-Register 3 (Schreibzugriff) 5t…Á 9†yv…t€yÁ fester Wert 0 ohne Funktion !Á...
  • Seite 41 Qprt„…pƒÁ 8s'ÁÁÁÁR…f…†„Qprt„…pƒÁ!ÁÉEp„p‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ ohne Funktion logischer Pegel am Pin L0 logischer Pegel am Pin L1 ohne Funktion !Á...
  • Seite 42 Qprt„…pƒÁ Qprt„…pƒgp„hsƒptg†yrÁip„ÁH†…†…I€ƒ…„Á s'ÁÁÁÁ ¨65†„Ept…†yrÁR6E'Á ÁÁÁÁÁÁÁÁÁÁÁSfv…ÁqàƒÁ88IQHFÁÉRhsƒptg‘†rƒtqqÁ Á 5t…Á 9†yv…t€yÁ 0 = High-Pegel am CLOCK-Eingang des EEPROM 1 = Low-Pegel am CLOCK-Eingang des EEPROM s'ÁÁÁÁ ¨65†„Ept…†yrÁR74'ÁÁ ÁÁÁÁÁÁÁÁÁÁÁ74S8GÁqàƒÁ88IQHFÁÉRhsƒptg‘†rƒtqqÁ 5t…Á 9†yv…t€yÁ 0 = High-Pegel am DATEN-Eingang des EEPROM 1 = Low-Pegel am DATEN-Eingang des EEPROM !s'ÁÁÁÁTx„hsfw…†yrÁip„ÁF†w…twp‰pƒ„ÁqàƒÁitpÁÁ...
  • Seite 43 Datei 56Á und der dazugehörenden Header-Datei D!d6 DdA Die beiden Funktionen schreiben ˆƒt…pdr# ƒpfidr# und lesen die Daten-Register; sie sind die Grundfunktionen für das Arbeiten mit der IK 410 V. 1) g26 ist die HEIDENHAIN-Bezeichnung des Zählerbausteins ! Á...
  • Seite 44 Iƒ€rƒfxxtpƒ†yrÁ 9†yv…t€yÁ‘†xÁRhsƒptgpyÁtyÁitpÁQprt„…pƒÁ Die folgende Funktion schreibt einen Wert in ein 16 Bit breites Register eines Zählerbausteins. Diese Funktion ist an die für diese Beispiele verwendete AT- Bus-Platine angepaßt. Für Ihre Hardware müssen Sie eine eigene Funktion schreiben, die auf die Register der IK 410 V zugreift.
  • Seite 45 Iƒ€rƒfxxtpƒ†yrÁ 8tyqfhspÁ9†yv…t€ypyÁqàƒÁipyÁFp•ˆpƒ…4gƒ†qÁàgpƒÁR€q…ˆfƒpÁ 9†yv…t€yÁ‘†xÁRpthspƒyÁptyp„ÁFp•ˆpƒ…„Á die folgenden Funktionen speichern den Zählerstand der ge- wünschten Achse im Daten-Register 0 (soft_I0) oder Daten- Register 1 (soft_I1). 9†yv…t€y'Á „€q…d Á Ifƒfxp…pƒÁ Grundadresse gf„pfiƒ'Á void soft_l0 (unsigned int baseadr) write_g26 (baseadr, 0x0e, 0x01); /*------------------------------------------------------ soft_l1 ------------------------------------------------------- This function reads the measured value and stores it in data register 1.
  • Seite 46 Iƒ€rƒfxxtpƒ†yrÁ 9†yv…t€yÁ‘†xÁIƒàqpyÁ€gÁipƒÁFp•ˆpƒ…Árp„pthspƒ…Áˆ†ƒipÁ Die folgende Funktion prüft, ob ein Meßwert gespeichert wurde. 9†yv…t€y'Á wf…hspiÁ Ifƒfxp…pƒÁ Grundadresse gf„pfiƒ' 0 = Daten-Register 0, 1 = Daten-Register 1 ƒpr' false = Es wurde kein Meßwert gespeichert 8ƒrpgyt„' true = Es wurde ein Meßwert gespeichert unsigned char latched (unsigned int baseadr, unsigned char reg) unsigned char result;...
  • Seite 47 Iƒ€rƒfxxtpƒ†yrÁ 9†yv…t€yÁ‘†xÁˆtpipƒs€w…pyÁIƒàqpyÁ€gÁipƒÁFp•ˆpƒ…Árp „pthspƒ…Áˆ†ƒipÁ Die folgende Funktion wiederholt solange die Abfrage nach einem Meßwert, bis ein Meßwert gespeichert wurde. 9†yv…t€y'Á €wwdwf…hsÁ Ifƒfxp…pƒÁ Grundadresse gf„pfiƒ' 0 = Daten-Register 0, 1 = Daten-Register 1 ƒpr' void poll_latch (unsigned int baseadr, unsigned char reg) switch (reg) case 0: while (latched (baseadr, 0) == 0)
  • Seite 48 Iƒ€rƒfxxtpƒ†yrÁ 9†yv…t€yÁ‘†xÁEp„pyÁptyp„Á 5t…Fp•ˆpƒ…„Á Die folgende Funktion liest einen 32 Bit breiten Meßwert von einem Zählerbaustein. 9†yv…t€y'Á ƒpfidh€†y…d‡fw†p Á Ifƒfxp…pƒÁ Grundadresse gf„pfiƒ' 0 = Daten-Register 0, 1 = Daten-Register 1 ƒpr' Integer-Variable des Typs 8ƒrpgyt„' w€yr long read_count_value32 (unsigned int baseadr, unsigned char reg) union mapper long field0;...
  • Seite 49 Iƒ€rƒfxxtpƒ†yrÁ 9†yv…t€yÁ‘†xÁEp„pyÁptyp„Á!%5t…Fp•ˆpƒ…„Á Die folgende Funktion liest einen 48 Bit breiten Meßwert von einem Zählerbaustein. 9†yv…t€y'Á ƒpfidh€†y…d‡fw†p!%Á Ifƒfxp…pƒÁ Grundadresse gf„pfiƒ' 0 = Daten-Register 0, 1 = Daten-Register 1 ƒpr' Floating-Point-Variable des Typs 8ƒrpgyt„' i€†gwp double read_count_value48 (unsigned int baseadr, unsigned char reg) unsigned int field[3];...
  • Seite 50 Iƒ€rƒfxxtpƒ†yrÁ 8tyqfhsp„ÁIƒ€rƒfxxÁqàƒÁipyÁFp•ˆpƒ…4gƒ†qÁàgpƒÁR€q…ˆfƒpÁ In den folgenden Programm-Beispielen werden die vorher defi- nierten Funktionen eingesetzt. Diese sind in den Dateien IK410_0.H und IK410_0.C deklariert und definiert. Die Beispiele finden Sie auf der mitgelieferten Diskette unter dem Verzeich- in der Datei R4FIE8 6 R4FIE8!%6 Der Zählerstand wird in diesen Beispielen in Millimetern am Bildschirm angezeigt.
  • Seite 51 Iƒ€rƒfxxtpƒ†yrÁ /*----------------------SAMPLE32.C---------------------- DR. JOHANNES HEIDENHAIN GmbH, Traunreut, Germany A simple program for the IK 410. Measured value with 32 bits. V 1.00 October 1997 Project files: IK410_0.C, SAMPLE32.C Include files: IK410_0.H ------------------------------------------------------*/ #include <stdio.h> #include <conio.h> #include "ik410_0.h" #define base_address 0x0340 int main() double c_value_0;...
  • Seite 52 Iƒ€rƒfxxtpƒ†yrÁ /*----------------------SAMPLE48.C---------------------- DR. JOHANNES HEIDENHAIN GmbH, Traunreut, Germany A simple program for the IK 410. Measured value with 48 bits. V 1.00 October 1997 Project files: IK410_0.C, SAMPLE48.C Include files: IK410_0.H ------------------------------------------------------*/ #include <stdio.h> #include <conio.h> #include "ik410_0.h" #define base_address 0x0340 int main() double c_value_0;...
  • Seite 53 Iƒ€rƒfxxtpƒ†yrÁ 4yˆpyi†yr„gpt„tpwpÁxt…ÁptypxÁQ4FRpthspƒx€ipwwÁtyÁv5HQE4G7Á6eeÁ Beispiele mit einem RAM-Speichermodell in „BORLAND C++“ befinden sich im Verzeichnis BCPP. Die verwendeten Daten- strukturen und Funktionen sind in folgenden Dateien deklariert und definiert: IK410.H: In dieser Header-Datei können Sie die Adresse von bis zu 16 Platinen mit zwei IK 410 V festlegen.
  • Seite 54 Iƒ€rƒfxxtpƒ†yrÁ 4yˆpyi†yr„gpt„tpwpÁxt…ÁptypxÁQ4FRpthspƒx€ipwwÁtyÁvSTQ5HÁI4R64EeeÁ Beispiele mit einem RAM-Speichermodell in „TURBO PASCAL“ befinden sich im Verzeichnis . Die verwendeten Datenstruk- turen und Funktionen sind in folgenden Dateien deklariert und definiert: IK410_0.TPU Grundfunktionen IK410_1.TPU Datenstrukturen und Funktionen für ein RAM-Speichermudell der Register der IK 410 V. IK410_2.TPU Funktionen für ADJUST.PAS, POTIS.PAS und SCOPE.PAS...
  • Seite 55 Iƒ€rƒfxxtpƒ†yrÁ R6HI8I4RÁ Das Beispiel SCOPE.PAS zeigt die sinusförmigen Signale der angeschlossenen Meßsysteme entweder als Amplituden-Zeit- Diagramm oder in XY-Darstellung. Über Tastenbefehle, die am Bildschirm erklärt sind, können die Potentiometer eingestellt werden. SCOPE.PAS P†pwwh€ip' IK410_0.TPU Grundfunktionen Tyt…„' IK410_1.TPU Funktionen für ein RAM-Speichermodell IK410_2.TPU Funktionen für ADJUST.PAS,...
  • Seite 56 Iƒ€rƒfxxtpƒ†yrÁ 47CTRSI4RÁ Das Beispiel ADJUST.PAS führt einen automatischen Abgleich der Achse 1 (Anwahl:1) oder Achse 2 (Anwahl:2) für Phasenlage (Anwahl:p), Amplitude (Anwahl:a) und Offset (Anwahl:o) der sinusförmigen Meßsystem-Signale durch. Die Kompensations- werte werden durch langsames Bewegen des Meßsystems gebildet. Nach 30 Signalperioden wird durch einen Ton ange- zeigt, daß...
  • Seite 57 Sphsyt„hspÁ7f…pyÁ phsyt„hspÁ7f…pyÁ ÁFphsfyt„hspÁDpyyˆpƒ…pÁ Á 100 mm x 65 mm 4gxp„„†yrpy 0°C bis 55°C 4ƒgpt…„…pxpƒf…†ƒ –30°C bis 70°C Efrpƒ…pxpƒf…†ƒ Á8wpv…ƒt„hspÁDpyyˆpƒ…pÁ Á Fp•„„…px8tyrfyr X3: 16polige AMP-Stiftleiste – Eingang für inkrementale Längen- oder Winkelmeßsysteme mit sinusförmigen Spannungssignalen (1 V – zusätzlicher Eingang für die Kommutierungsspur eines Motor- gebers (ein Sinus/Cosinus pro Umdrehung) 350 kHz bei f 3 MHz...
  • Seite 58 Sphsyt„hspÁ7f…pyÁ 4grwpthsÁipƒÁFp•„„…px„tryfwpÁ Offset über Register in den Zählerbausteinen Phase und Amplitude über elektronische Potentiometer Zwei Betriebsarten: YËswpƒq†yv…t€ypyÁ Periodenzähler-Modus: 32-Bit-Zählwert Interpolations-Modus: 32-Bit-Zählwert mit 10-Bit- Interpolationswert Datenregister: 48 Bit, für den Meßwert werden nur 42 Bit genutzt Fp•ˆpƒ…8ty„pthspƒy Der Einspeichervorgang kann durch asynchrone Einspeicher- Signale ausgelöst werden (–L0 oder –L1, flankensensitiv), durch einen Softwarebefehl oder durch das Überfahren der Refe- renzmarke.
  • Seite 59 4y„hsw†•xf•pÁ 4y„hsw†•xf•pÁ BR1: Externer oder interner Takt BR2: INTEL-Datenformat: Brücke gesteckt MOTOROLA-Datenformat: Brücke offen "&Á...
  • Seite 60 Iƒty‘tRhsfw…gtwiÁipƒÁ4gƒ†qVprpÁtyÁipyÁYËswpƒgf†„…ptypyÁ Prinzip-Schaltbild der Abruf-Wege in den Zählerbausteinen #Á...
  • Seite 61 Ve 01 326 959-02 · 1 · 3/2006 · S · Printed in Germany · Änderungen vorbehalten...