Herunterladen Inhalt Inhalt Diese Seite drucken

Die Header-Datei Sample.h - HEIDENHAIN IK 320 Benutzerhandbuch

Vmebus-zählerkarte
Inhaltsverzeichnis

Werbung

InitIk320()
Initialisiert die IK 320. Zunächst wird die Interrupt-Adresse von INT_NR unter
pOriginalInterruptVector gespeichert. Anschließend wird die neue Interrupt-Funktion
NewInterruptRoutine installiert, die alle IK-Interrupts behandelt. Dann setzt diese Funktion über
InitParams() die Parameter und führt den „Power On Self Test" (POST) aus (VMEbus-Interrupt-
Funktion $07). Der POST wurde erfolgreich abgeschlossen, falls die IK 320 den Status $0700
meldet.
DisplayMessage() und DisplayError()
Zeigen Meldungen und Fehler an, die die IK 320 über den Interrupt-Status meldet.
TraverseOverReferencemark()
Aktiviert die Auswertung der Referenzmarken über die VMEbus-Interrupt-Funktion $0008 für
Achse 1 und $0009 für Achse 2. Anschließend müssen die Achsen über die Referenzmarken
gefahren werden. Die IK 320 meldet per Interrupt-Status zurück, ob die Referenzmarken
überfahren wurden: $0800 ist der Status „Referenzmarke Achse 1 wurde überfahren" und $0900
ist der Status „Referenzmarke Achse 2 wurde überfahren".
DisplayPositionValue()
Zeigt die Positionen der beiden Achsen 1 und 2 am Bildschirm an. Die Funktion ruft
SynchroPosTrigger() zum synchronen Einspeichern. Der Positionswert wird in
Evaluate_IK_Interrupt_Status() ermittelt. Bei Linearachsen muss dieser Wert mit der
Signalperiode multipliziert werden (z.B. mit 0,002 mm), damit man eine Anzeige in mm erhält. Bei
Winkelachsen muss die Multiplikation mit 360°/Signalperioden pro Umdrehung erfolgen.
CompensationRun()
Ermittelt die Korrekturwerte zur Kompensation von Abweichungen der Messsystem-Signale. Die
Aufnahme der Korrekturwerte wird mit MasterInterrupt() und der Master-Interrupt-Funktion
$0Bxx (Achse 1) oder $0Cxx (Achse 2) gestartet. Anschließend müssen die Achsen mit möglichst
konstanter Geschwindigkeit bewegt werden. Die IK 320 meldet die erfolgreiche Aufnahme der
Korrekturwerte über einen Interrupt mit dem Status $0Bxx (Achse 1) und $0Cxx (Achse 2).
CompensationOnOff()
Aktiviert die Kompensation der Messsystem-Signale über Parameter P06.
RestoreOldInterruptVector()
Bevor das Programm verlassen wird, wird mit RestoreOldInterruptVector() die ursprüngliche
Interrupt-Adresse wieder installiert.

9.1 Die Header-Datei SAMPLE.H

/*----------------------SAMPLE.H--------------------------------------
/*-------------------------------------------------------------------
#define DIP_SWITCH_SI
#define DIP_SWITCH_SII
/*--------------------------------------------------------------------
void
˜
!Á
DR. JOHANNES HEIDENHAIN GmbH, Traunreut, Germany
Header File for SAMPLE.C
V 1.00
September 1995
------------------------------------------------------------------*/
Address of the VME address space A16 (DIP switch SI) and of the
VME address space A24 (DIP switch SII).
------------------------------------------------------------------*/
Prototypes of functions
------------------------------------------------------------------*/
MainMenu(void);
0xA1
0x80

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis