Seite 1
Benutzer-Handbuch EIB 741 Externe Interface-Box zum Anschluss von HEIDENHAIN-Messgeräten Dezember 2010...
Seite 2
DOKUMENTATION ..........................5 FIRMWAREVERSION ..........................5 CHANGE HISTORY ..........................5 TEIL 1: FUNKTIONSUMFANG ....................... 6 1 ALLGEMEINE FUNKTIONSBESCHREIBUNG ..................6 2 KONFIGURATION DER MESSGERÄT-EINGÄNGE ................7 Verarbeitung von Inkremental-Signalen ......................7 Analogwerte der 1 V SS Inkrementalsignale A und B ..................9 Behandlung von Referenzmarken .........................
Seite 3
7 GERÄTEFUNKTIONEN ........................33 Verbindung zur EIB 741 öffnen ..........................33 Verbindung zur EIB 741 schließen ........................34 Status der Verbindung abfragen ......................... 34 Timeout einstellen ..............................34 Anzahl der Achsen auslesen ..........................35 Handle für Achse anfordern ..........................35 IO-Port-Handle anfordern .............................
Seite 4
7.63 Referenzfahrt für die Hilfsachse starten ......................61 7.64 Referenzfahrt für die Hilfsachse stoppen ......................62 7.65 Timestamp für die Hilfsachse konfigurieren ...................... 62 7.66 Triggerflanke für Referenzimpuls der Hilfsachse einstellen ................62 8 ACHSFUNKTIONEN .......................... 63 Achse initialisieren ............................... 63 Triggerquelle für Achse wählen ..........................
Dokumentation Die Dokumentation zur EIB 741 umfasst folgende Unterlagen: • Inbetriebnahme - Anleitung: - Unterlagen, die für die Inbetriebnahme erforderlich sind, sowie Technische Daten. • Benutzer-Handbuch: - Beschreibung des Funktionsumfanges der EIB 741. - Beschreibung der Installation und der Funktionsaufrufe der Treiber-Software.
Die EIB 741 ist eine externe Interface-Box zur präzisen Positionsmessung speziell für Prüfplätze und Mehrstellen- Messplätze, sowie zur mobilen Datenerfassung, z.B. bei der Maschinenvermessung. Die EIB 741 ist ideal für Anwendungen, die eine hohe Auflösung der Messgerätesignale und eine schnelle Messwerterfassung erfordern. Außerdem ermöglicht die Ethernet-Übertragung die Verwendung von Switches bzw. Hubs zur Verschaltung von mehreren EIB 741.
Schnittstelle unterstützt wird. Verarbeitung von Inkremental-Signalen Zur Bildung des Positionswertes unterteilt die EIB 741 die Signalperioden der Inkrementalsignale 4096fach (12 Bit). Der Periodenzähler hat eine Breite von 32 Bit. Der Zählwert wird mit jeder Signalperiode des angeschlossenen Messgerätes um den Wert “1” erhöht oder erniedrigt.
Seite 8
Blockschaltbild Interpolationswert Zum Zeitpunkt des Trigger-Ereignisses werden die Inkrementalsignale abgetastet und daraus ein 12 Bit breiter Interpolationswert berechnet. Der Zusammenhang zwischen Interpolationswert und den Inkrementalsignalen ergibt sich dabei wie folgt: Einstellmöglichkeiten: Abschlusswiderstand für die Inkrementalsignale Der 120 Ohm Abschlusswiderstand für die 1 V Inkrementalsignale kann per Software zu- oder abgeschaltet werden (für alle Kanäle gleichzeitig;...
Ein erneutes Speichern muss anschließend wieder aktiviert werden. Im Normalfall wird das Register für die Referenzposition zusammen mit dem Positionsregister und dem Statuswort in einem gemeinsamen Positions-Datenpaket nach dem nächsten Trigger-Ereignis übertragen. Die EIB 741 überträgt dabei zwei Referenzpositionen und ggf. den codierten Referenzwert: •...
Seite 10
Die Achse wird als inkrementelles System mit abstandscodierten Referenzmarken initialisiert. Dabei werden weitere typ- abhängige Informationen über das Messsystem an die EIB 741 übergeben. Aus diesen Informationen berechnet die EIB 741 nach erfolgreichem Einspeichern der Referenzpositionen automatisch den codierten Referenzwert. Der Einspeicher-Vorgang wird per Software-Kommando gestartet (für zwei Referenzmarken).
Verarbeitung von EnDat-Signalen Absolute Messgeräte von HEIDENHAIN sind mit EnDat 2.1 oder EnDat 2.2 Schnittstelle erhältlich. Zusätzlich zu den EnDat Signalen werden, speziell bei EnDat 2.1 Messgeräten, 1 V Inkrementalsignale mit übertragen. Die EIB 741 kann alle EnDat Messgeräte mit EnDat 2.1 oder EnDat 2.2 Schnittstelle sowohl rein seriell, als auch mit 1 V Inkrementalsignalen verarbeiten.
Seite 12
Die EnDat Taktfrequenz kann per Software Kommando eingestellt werden. Die Taktfrequenz kann in bestimmten Schritten zwischen 100 kHz und 6,66 MHz eingestellt werden. Die maximal zulässige Frequenz ist sowohl abhängig von der Kabellänge zwischen Messgerät und EIB 741, als auch davon, ob eine Laufzeitkompensation aktiviert ist oder nicht. Parameter Taktfrequenz...
Seite 13
Zusatzinformation 2 zu übertragen. 3) Variable Zusatzinformationen Die Zusatzinformationen werden zyklisch umgeschaltet. Die EIB 741 besitzt einen Ringpuffer mit 10 Einträgen für die Einstellung der Zusatzinformationen, welcher zyklisch abgearbeitet wird. Mit jedem Triggerereignis wird der Positionswert und die Zusatzinformation 1 und 2 gesendet. Zusätzlich wird der EnDat 2.2 Sendezusatz übertragen, über den basierend auf den Daten im Ringpuffer eine neue Zusatzinformation ausgewählt wird.
Seite 14
Hilfsachse Die Hilfsachse ist gekoppelt an die Achse 1 und für Messgeräte mit 1Vss-Schnittstelle einsetzbar. Die Signale von Achse 1 werden interpoliert und einem Positionszähler zugeführt. Der Interpolationsfaktor ist in mehreren Stufen einstellbar. Zusätzlich kann die Flankenauswertung (1, 2 bzw. 4-fach) gewählt werden. Die maximal zulässige Eingangsfrequenz der Messgerätesignale für den Interpolator ist abhängig vom Interpolationsfaktor und in der nachfolgenden Tabelle dargestellt.
GND to GND Ein Impuls am Triggerausgang hat eine Länge von 2 µs und wird synchron zum Systemtakt der EIB 741 erzeugt. Das Trigger- Ereignis entspricht der steigenden Flanke des Impulses. Wird ein Signal vom Triggereingang auf den Ausgang weitergeleitet, ist dieses durch die Synchronisation auf den Systemtakt mit einem Jitter behaftet.
Konfiguration der Trigger Ein- bzw. Ausgänge als logische Ein- bzw. Ausgänge Die Trigger Ein- bzw. Ausgänge können auch als logische Ein- bzw. Ausgänge benutzt werden. Per Defaulteinstellung sind Trigger Ein- bzw. Ausgänge eingestellt. Über ein Software-Kommando können die Ports individuell als logische Ein- bzw. Ausgänge oder als Trigger Ein- bzw.
Seite 17
Software-Trigger – Timer – Alle Triggerquellen können separat abgeschaltet werden. Dadurch ist es möglich die EIB 741 zu konfigurieren und zuletzt die Triggerquellen freizugeben. Dabei kann eine beliebige Kombination an Triggerquellen zeitgleich freigegeben oder gesperrt werden Interval Counter Der Interval Counter ermöglicht eine positionsabhängige Triggerung in Verbindung mit einem inkrementalen Messerät an Achse 1.
Seite 18
Positionsberechnung benötigt. Wird dieser Zeitabstand nicht eingehalten, ist also die Triggerrate zu hoch, dann können Trigger-Ereignisse von der EIB 741 nicht akzeptiert werden, gehen also verloren (Lost Trigger). Dies wird von der EIB 741 detektiert und im Statuswort des Positions-Datenpakets mit dem Bit „Lost Trigger“ angezeigt. Dieses Bit ist solange auf „1“...
Anmerkung: Das Zeitintervall des Timestamp Zählers ist ein Vielfaches des internen Systemtaktes der EIB 741. Bevor die Funktion Timestamp genutzt werden kann, muss das Zeitintervall per Software-Kommando eingestellt werden. Dazu muss zunächst der Wert „clock ticks per µs“ ausgelesen werden und davon abhängig das gewünschte Zeitintervall eingestellt werden. Dies ist notwendig um die Software-Kompatibilität unabhängig von verschiedenen Einstellungen für den Systemtakt zu halten.
Seite 20
CRC Fehler bei der EnDat Datenübertragung Fehler Spannungsversorgung Spannungsversorgung des Messgerätes wurde automatisch abgeschaltet. Messgerät (Überstromabsicherung hat angesprochen) Fehler Lüfter Der Lüfter der EIB 741 arbeitet fehlerhaft Lost Trigger Siehe Abschnitt “Maximale Triggerrate” Referenzposition 1 wurde abgespeichert Referenzposition 1 gespeichert (seit dem letzten entsprechenden Software-Kommando)
Seite 21
Fehler Lüfter Dieses Bit zeigt an, ob der Lüfter der EIB 741 einwandfrei arbeitet oder nicht. Das Fehlerbit hat keinen Einfluss auf die Positionsdaten. Das Fehler-Bit wird nicht gespeichert und muss daher nicht gelöscht werden. Das Bit ist gesetzt, so lange der Lüfter fehlerhaft arbeitet.
Übertragungskapazität sowie den benötigten Speicherplatz im „Recording“ Modus. Ein Datenpaket ist in mehrere Regionen aufgeteilt. Jede Region enthält die Daten für eine bestimmte Achse der EIB 741 bzw. globale Informationen. Die globalen Informationen müssen immer als erste Region im Datenpaket enthalten sein.
Seite 23
Daraus ergibt sich eine Gesamtlänge des Datenpaketes von 52 Bytes. Nach dem Einschalten des Gerätes lädt die EIB 741 eine Default-Konfiguration für das Datenpaket. Diese Konfiguration umfasst die globalen Informationen und je eine Region für alle 4 Achsen. Die nachfolgende Tabelle gibt den Aufbau des Datenpaketes wieder.
Seite 24
Das nachfolgende Diagramm verdeutlicht den Ablauf einer Positionsabfrage. Aus einer Kunden-Softwareapplikation am PC wird ein Kommando an die EIB 741 gesendet. Die EIB 741 generiert die Positionsdaten und sendet sie in einem TCP-Paket zurück. Die Daten werden an die Applikation übergeben.
Triggersignal erhält. Mit jedem Triggerereignis wird ein Datenpaket automatisch an den PC gesendet. Dort können die Pakete aus einem FIFO gelesen werden. Für den Betrieb des Soft Realtime Modus muss die EIB 741 mit den nachfolgend aufgeführten Schritten konfiguriert werden. •...
Seite 26
Daten senden (Treiber) Sobald die Positionswerte aus dem FIFO am PC gelesen wurden, wird dies an die EIB bestätigt. Falls in der EIB 741 weitere Daten vorhanden sind, werden diese übertragen. Beim Beenden der Applikation müssen die oben genannten Schritte der Initialisierung in umgekehrter Reihenfolge durchlaufen werden.
Seite 27
In dem nachfolgenden Diagramm ist die Kommunikation schematisch dargestellt. Die Kunden-Softwareapplikation muss die EIB 741 konfigurieren. In der ersten Phase (Aufzeichnung) werden die Daten in der EIB 741 gespeichert. In der zweiten Phase (Datenübertragung) werden die Daten zum Host übertragen und in einem FIFO gespeichert. Von dort kann sie die Applikation innerhalb einer Programmschleife auslesen.
8 Firmware Update Ein Update der Firmware der EIB 741 kann durch den Benutzer mit einem TFTP client durchgeführt werden. Es dürfen allerdings nur spezielle Update-Files für die EIB 741 von HEIDENHAIN aufgespielt werden. Das folgende Beispiel geht für das Firmwareupdate von einem Computer mit dem Betriebssystem „Windows“ aus. Die EIB 741 muss über Ethernet mit dem Computer verbunden sein.
Seite 29
3 Überblick Kommunikationsaufbau Für die Kommunikation mit der EIB 741 muss zuerst eine Verbindung mit Hilfe der Funktion EIB7Open() aufgebaut werden. Unter Umständen ist es notwendig, zuvor mit EIB7GetHostIP() die IP-Adresse zu bestimmen. Anschließend kann über die Gerätefunktionen die EIB 741 konfiguriert werden.
Seite 30
Dies kann über die Funktionen EIB7ReadFIFOData() oder EIB7ReadFIFODataRaw() erfolgen (siehe 7.44, 7.47). Jede dieser Funktionen liest einen oder mehrere Einträge aus dem FIFO. Jeder Eintrag enthält ein Datenpaket der EIB 741. Die Größe eines Eintrags kann im Vorfeld über die Funktionen EIB7SizeOfFIFOEntry() und EIB7SizeOfFIFOEntryRaw() bestimmt werden (siehe 7.45, 7.48).
4 Datentypen Einfache Datentypen EIB7_HANDLE Handle für eine EIB 741 EIB7_AXIS Handle für eine Achse der EIB 741 EIB7_IO Handle für einen Eingangs- oder Ausgangsport der EIB 741 EIB7_ERR Fehlermeldung ENCODER_POSITION Positionswert (64 Bit Integer) EnDat Zusatzinformation struct ENDAT_ADDINFO Komponente...
Seite 32
6 Hilfsfunktionen IP-Adresse bestimmen Der Hostname der EIB 741 oder die IP-Adresse (als C-String) wird in eine IP-Adresse in „Host Byte Order“ umgewandelt. Der Name muss als C-String übergeben werden. Dieser kann zum Beispiel „192.168.1.2“ oder „EIB741-SN1234567“ lauten. Funktion EIB7_ERR EIB7GetHostIP...
Vom System kann nicht genügend Speicher allokiert werden Verbindung zur EIB 741 öffnen Zur EIB 741 wird eine TCP-Verbindung aufgebaut. Dabei werden keine Einstellungen in der EIB 741 verändert. Falls die Verbindung nicht hergestellt werden kann, wird eine Fehlermeldung zurückgegeben. Für eine korrekte Funktion muss der Treiber kompatibel zur Firmware der EIB 741 sein.
Der Rückgabewert liefert einen Status für den Funktionsaufruf. Alle möglichen Werte sind bei den Standard Rückgabewerten aufgelistet. Timeout einstellen Der Timeout für die TCP-Verbindung zur EIB 741 wird neu gesetzt. Dieser Wert ist für alle folgenden Funktionsaufrufe gültig. Der Timeout muss mindestens 100 ms sein. Kleinere Werte werden automatisch auf 100 vergrößert. Funktion...
Größe als Parameter mit übergeben werden muss. Als Rückgabewert wird die Anzahl der gültigen Handles geliefert. Die Funktion liefert für jede Achse der EIB 741 ein Handle, maximal aber so viele, wie im Array Platz finden (Parameter „size“). Die Handles werden in aufsteigender Reihenfolge, beginnend mit Achse 1, im Array abgelegt.
Seite 36
Datenpaket erstellen Mit Hilfe dieser Funktion kann die Konfiguration für das Datenpaket erstellt werden. Pro Funktionsaufruf wird ein Element aus dem Array für die Konfigurationsdaten initialisiert. Der Index gibt das Element an, wobei das erste Element den Index 0 besitzt. Jedes Element besteht aus einer Region und den Datenelementen. Die Region spezifiziert die Achse oder die globalen Informationen.
Seite 37
7.11 Netzwerkparameter speichern Die Parameter für die Ethernet Schnittstelle der EIB 741 können eingestellt werden. Dadurch ist die EIB 741 an das Netzwerk anpassbar. Die Einstellungen werden erst nach dem nächsten Bootvorgang wirksam. Falls der DHCP-Client aktiv ist, versucht die EIB 741 vom DHCP-Server eine IP-Adresse zu erhalten. Antwortet der Server innerhalb des eingestellten Timeouts nicht, wird die konfigurierte IP-Adresse verwendet.
Hostnamen speichern Der Hostname der EIB 741 wird gespeichert. Der Name muss als C-String übergeben werden, der einschließlich des Null- Bytes maximal 32 Zeichen lang sein darf. Falls er länger ist, wird der Rest abgeschnitten. Wird ein String mit der Länge Null oder ein NULL-Pointer übergeben, setzt die EIB 741 den Hostnamen auf den Standardwert bei der Auslieferung.
Seite 39
Hostnamen auslesen Der Hostname der EIB 741 wird ausgelesen und als C-String im Zielspeicher abgelegt. Der String ist maximal 32 Zeichen lang (incl. Null-Byte). Falls der Zielspeicher nicht groß genug ist, um den ganzen String aufzunehmen, wird nur der erste Teil kopiert.
7.17 MAC-Adresse auslesen Die MAC-Adresse der EIB 741 wird ausgegeben. Die Adresse wird im Binärformat ausgegeben. Der Zielspeicher muss mindestens 6 Bytes groß sein. Es werden immer die ersten sechs Bytes verwendet. Das niederwertigste Byte der MAC- Adresse wird in das erste Byte des Zielspeichers kopiert. Zum Beispiel für „00:A0:CD:85:00:01“.
7.21 Anzahl der offenen Verbindungen lesen Die Anzahl der aktuell geöffneten Verbindungen zur EIB 741 wird ausgegeben. Hierzu zählen auch halboffene Verbindungen, welche die Gegenstelle bereits geschlossen hat, aber auf der EIB 741 noch geöffnet sind. Funktion EIB7_ERR EIB7GetNumberOfOpenConnections...
7.23 Verbindung abbrechen Eine offene Verbindung zur EIB 741 kann beendet werden. Es ist nicht möglich die Verbindung zu schließen, welche für den Aufruf der Funktion verwendet wird. Diese Funktion sollte hauptsächlich benutzt werden, um halboffene Verbindungen zu schließen, die zum Beispiel aufgrund eines Fehlers am Host nicht ordnungsgemäß beendet wurden. Die ID kann aus den Verbindungsdaten EIB7_CONN_INFO entnommen werden (siehe „Verbindungsdaten auslesen“).
7.25 Timestamp Periodendauer einstellen Die Periodendauer des frei laufenden Timestamp Zählers kann eingestellt werden. Dazu muss die Länge der Timestamp Periode in Timestamp Ticks angegeben werden. Dieser Wert muss eine natürliche Zahl größer Null sein. Funktion EIB7_ERR EIB7SetTimestampPeriod ( EIB7_HANDLE eib, unsigned long period...
Seite 44
7.31 Software Trigger Der Software Trigger erzeugt ein Triggerereignis und veranlasst die EIB 741 die Daten an die Gegenstelle zu senden. Über den Parameter „source“ lässt sich einer der Software-Trigger-Kanäle auswählen. Diese Funktion kann nicht im „Polling“ Modus ausgeführt werden.
Seite 45
7.32 Master-Triggerquelle wählen Das Master-Triggersignal kann aus verschiedenen Quellen gewählt werden. Diese Funktion muss nach der Konfiguration der Triggermatrix für die Achsen ausgeführt werden und ist nur im Betriebsmodus „Polling“ zulässig. Funktion EIB7_ERR EIB7MasterTriggerSource ( EIB7_HANDLE eib, EIB7_AxisTriggerSrc src Parameter EIB-Handle Triggerquelle Beschreibung...
Seite 46
7.33 Triggerquellen aktivieren Die Triggerquellen der EIB 741 lassen sich einzeln oder gemeinsam aktivieren bzw. deaktivieren. Über den Parameter „src“ können mehrere Triggerquellen durch eine ODER-Verknüpfung der entsprechenden Konstanten ausgewählt werden. Für den Timer Trigger sollte vor der Aktivierung die Periodendauer konfiguriert werden. Wenn mehrere Triggerquellen mit einem Funktionsaufruf aktiviert werden, so erfolgt dies zeitgleich.
Seite 47
7.34 Pulszähler konfigurieren Für den Pulszähler kann ein Triggersignal und ein Startsignal gewählt werden. Das Startsignal gibt den Pulszähler frei. Dieser wird fortan mit jedem Impuls am Triggersignal dekrementiert, bis der Wert Null erreicht ist. Anschließend werden alle weiteren Triggerimpulse gesperrt. Wird die Funktion erneut ausgeführt, bevor der Zähler den Wert Null erreicht hat, wird dieser auf den Ausgangswert zurückgesetzt.
Seite 48
7.35 Interpolationsfaktor für den Interval Counter einstellen Der Interpolationsfaktor für den Interval Counter ist einstellbar und bestimmt die Anzahl der Zählschritte pro Signalperiode. Diese Einstellung wirkt sich gleichermaßen auf den Interval Counter und die Hilfsachse aus. Die Anzahl der Zählschritte pro Signalperiode des angeschlossenen Messgeräts ergibt sich aus dem Interpolationsfaktor multipliziert mit der Flankenauswertung.
7.37 Abschlusswiderstände einstellen Die Abschlusswiderstände für die Inkrementalsignale der Messgeräteeingänge können deaktiviert werden. Diese Einstellung gilt immer für alle 1V Eingänge der EIB 741. Nach jedem Bootvorgang der EIB 741 sind die Widerstände aktiviert. Funktion EIB7_ERR EIB7EnableIncrementalTermination ( EIB7_HANDLE eib,...
Seite 50
7.38 Reset Die EIB 741 führt einen Reset durch und bootet neu. Die Funktion hat dieselbe Wirkung wie das Betätigen des Reset- Tasters. Es wird der Standard Bootmodus verwendet (Firmware des letzten Updates mit Netzwerk-Benutzereinstellungen). Die Verbindung zur EIB 741 wird automatisch geschlossen (wie bei EIB7Close).
Seite 51
7.40 Recording-Daten übertragen Die Übertragung der Daten aus dem internen Recording-Puffer der EIB 741 kann aktiviert oder deaktiviert werden. Beim aktivieren der Datenübertragung ist es möglich nur einen Bereich der aufgezeichneten Daten für die Übertragung auszuwählen. Über den Offset wird das erste zu übertragende Byte angegeben und die Länge spezifiziert die Anzahl der Bytes.
Seite 52
Recording Speichergröße lesen Die Größe des Speichers für die Recording-Daten in der EIB 741 kann ausgelesen werden. Die Größe wird als Anzahl der Datenpakete geliefert, die im Speicher Platz finden. Diese Anzahl ist abhängig von der Größe eines Datenpaketes. Aus diesem Grund muss zuerst das Datenpaket konfiguriert werden.
7.44 Daten aus FIFO lesen Datenpakete werden aus dem FIFO in den Zielspeicher kopiert (im Rohdatenformat). Der Parameter „cnt“ gibt die Zahl der zu kopierenden Einträge aus dem FIFO an. Falls der FIFO weniger Datensätze enthält, wird der gesamte Inhalt des FIFOs kopiert.
Seite 54
Parameter EIB-Handle data Pointer auf die Datenstruktur (FIFO-Element) region Achse der EIB 741 region Beschreibung EIB7_DR_Global Globales Datenfeld für Trigger Counter EIB7_DR_Encoder1 Daten für Achse 1 EIB7_DR_Encoder2 Daten für Achse 2 EIB7_DR_Encoder3 Daten für Achse 3 EIB7_DR_Encoder4 Daten für Achse 4...
7.47 Daten aus FIFO lesen und konvertieren Datenpakete werden aus dem FIFO in den Zielspeicher kopiert und konvertiert. Der Parameter „cnt“ gibt die Zahl der zu kopierenden Einträge aus dem FIFO an. Falls der FIFO weniger Datensätze enthält, wird der gesamte Inhalt des FIFOs kopiert.
Parameter EIB-Handle data Pointer auf die Datenstruktur (FIFO-Element) region Achse der EIB 741 region Beschreibung EIB7_DR_Global Globales Datenfeld für Trigger Counter EIB7_DR_Encoder1 Daten für Achse 1 EIB7_DR_Encoder2 Daten für Achse 2 EIB7_DR_Encoder3 Daten für Achse 3 EIB7_DR_Encoder4 Daten für Achse 4...
7.51 FIFO löschen Der Inhalt des FIFOs wird gelöscht. Dieses Kommando hat keine Auswirkung, wenn der Polling Modus aktiv ist. Funktion EIB7_ERR EIB7ClearFIFO ( EIB7_HANDLE Parameter EIB-Handle Rückgabewert Der Rückgabewert liefert einen Status für den Funktionsaufruf. Alle möglichen Werte sind bei den Standard Rückgabewerten aufgelistet.
Seite 58
Synchronisation mit dem Hauptprogramm kümmern. Der Parameter „eib“ enthält das Handle auf die EIB 741, welche den Callback ausgelöst hat. In „cnt“ steht die Anzahl der aktuell im FIFO gespeicherten Elemente. Der Parameter „data“ enthält den Pointer, welcher bei der Registrierung der Callback-Funktion angegeben wurde.
Seite 59
7.55 Triggerquelle für Hilfsachse wählen Das Triggersignal für die Hilfsachse kann aus verschiedenen Quellen gewählt werden. Diese Einstellung ist nur im Betriebsmodus „Polling“ möglich. Funktion EIB7_ERR EIB7AuxAxisTriggerSource ( EIB7_HANDLE eib, EIB7_AxisTriggerSrc src Parameter EIB-Handle Triggerquelle Beschreibung EIB7_AT_TrgInput1 Triggereingang Kanal 1 EIB7_AT_TrgInput2 Triggereingang Kanal 2 EIB7_AT_TrgInput3...
Seite 60
7.57 Daten der Hilfsachse auslesen Die aktuelle Position und einige zusätzliche Parameter werden bestimmt und ausgelesen. Die Funktion darf nur im Polling Modus ausgeführt werden. Das Statuswort gibt an, ob die Position und die Referenzposition gültig sind. Der Positionswert und der Timestamp werden zeitgleich gespeichert. Um dies zu erreichen wird intern der Software-Trigger Kanal 1 verwendet.
7.60 Triggerfehler der Hilfsachse quittieren Die Fehlermeldungen für nicht erkannte Triggerereignisse in der Trigger-Logik für die Hilfsachse werden gelöscht. Funktion EIB7_ERR EIB7AuxClearLostTriggerError ( EIB7_HANDLE eib Parameter EIB-Handle Rückgabewert Der Rückgabewert liefert einen Status für den Funktionsaufruf. Alle möglichen Werte sind bei den Standard Rückgabewerten aufgelistet.
Timestamp für die Hilfsachse konfigurieren Der Timestamp kann für die Hilfsachse aktiviert oder deaktiviert werden. Als Periodendauer kommt die globale Einstellung der EIB 741 zur Anwendung. Der Timestamp-Wert wird bei einer Positionsabfrage für die Hilfsachse kopiert, wenn diese Funktion zuvor aktiviert wurde.
Vom System kann nicht genügend Speicher allokiert werden Achse initialisieren Eine Achse der EIB 741 wird für das angeschlossene Messgerät konfiguriert. Die Nummer der Achse einer EIB 741 wird über das Axis-Handle bestimmt. Als grundlegende Option muss die Art der Schnittstelle des Messgeräts ausgewählt werden.
Seite 64
Winkelmessgerät / Drehgeber refmarks Art der Referenzmarken refmarks Beschreibung EIB7_RM_None Keine Referenzmarke EIB7_RM_One Eine Referenzmarke (EIB 741 berechnet keinen codierten Referenzwert) EIB7_RM_DistanceCoded Abstandscodierte Referenzmarken (EIB 741 berechnet codierten Referenzwert automatisch) linecounts Anzahl der Signalperioden pro Umdrehung (nur für rotative Messgeräte) increment Nominaler Abstand in Signalperioden zwischen zwei festen Referenzmarken (nur für...
Triggerflanke für Referenzimpuls einstellen Der Zeitpunkt für die Triggerung mit einem Referenzimpuls kann auf die steigende, fallende oder beide Flanke des RI-Signals eingestellt werden. Falls beide Flanken als Triggerereignis dienen, muss beachtet werden, dass die maximale Triggerrate nicht überschritten wird. Funktion EIB7_ERR EIB7SetRITriggerEdge ( EIB7_AXIS axis,...
Seite 67
Daten für einen Kanal auslesen Die aktuelle Position und einige zusätzliche Parameter werden bestimmt und ausgelesen. Der Parameter „refc“ ist nur gültig, wenn die Achse entsprechend für Messgeräte mit abstandscodierten Referenzmarken konfiguriert ist. Die Funktion darf nur im Polling Modus ausgeführt werden. Die Achse muss für inkrementale Messgeräte konfiguriert sein. Der Positionswert und der Timestamp werden zeitgleich gespeichert.
Triggerfehler quittieren Die Fehlermeldung für das Triggerinterface wird quittiert. Der Triggerfehler wird für alle Achsen einer EIB 741 gleichzeitig gelöscht, unabhängig davon welches AXIS-Handle übergeben wird. Funktion EIB7_ERR EIB7ClearLostTriggerError ( EIB7_AXIS axis Parameter axis AXIS-Handle Rückgabewert Der Rückgabewert liefert einen Status für den Funktionsaufruf. Alle möglichen Werte sind bei den Standard Rückgabewerten aufgelistet.
8.11 Statusbits für Referenzmarken löschen Die Flags für die Referenzposition im Statuswort werden zurückgesetzt. Folgende Flags werden zurückgesetzt: „Referenzposition 1 gespeichert“, „Referenzposition 2 gespeichert“. Dieses Kommando ist nur für Achsen zulässig, die für inkrementale Messgeräte mit Referenzmarken konfiguriert sind. Funktion EIB7_ERR EIB7ClearRefLatched ( EIB7_AXIS axis...
Seite 70
8.14 Referenzfahrt stoppen Die Referenzfahrt (Modus zur automatischen Speicherung der Referenzposition) wird beendet. Wurden bereits Referenzimpulse überfahren, so bleiben die zugehörigen Positionswerte erhalten. Dieses Kommando ist nur für Achsen zulässig, die für inkrementale Messgeräte konfiguriert sind. Funktion EIB7_ERR EIB7StopRef ( EIB7_AXIS axis Parameter axis...
8.17 EnDat 2.1: Speicherbereich wählen Der Speicherbereich im EnDat Messgerät wird ausgewählt. Dazu wird ein EnDat 2.1 Kommando gesendet. Diese Funktion darf nur im Polling Modus ausgeführt werden. Die Achse muss für EnDat01, EnDat21 oder EnDat22 Messgeräte konfiguriert sein. Die Auswahl des Speicherbereichs erfolgt immer über ein EnDat 2.1 Kommando, auch wenn die Achse für EnDat 2.2 konfiguriert ist.
8.19 EnDat 2.1: Daten empfangen Ein Datenwort wird aus dem Speicher des EnDat Messgeräts gelesen. Es wird immer ein 16 Bit Wort gelesen. Der Parameter „addr“ gibt die Speicherzelle innerhalb des aktiven Speicherblocks an, von der die Daten gelesen werden. Diese Funktion darf nur im Polling Modus ausgeführt werden.
8.21 EnDat 2.1: Testwert lesen Ein Testwert wird vom EnDat Messgerät gelesen. Der Testwert ist 40 Bits lang und wird über zwei Parameter zurückgegeben. Der Inhalt der Parameter ist in nachfolgender Tabelle aufgeführt. Diese Funktion darf nur im Polling Modus ausgeführt werden.
8.23 EnDat 2.2: Position und Zusatzinformation lesen Die Position eines EnDat22 Messgeräts wird gelesen. Zusätzlich werden die EnDat Zusatzinformationen übertragen, falls diese aktiviert sind. Jede Zusatzinformation besteht aus einem Statuswort und dem Datenwort. Das Statuswort kennzeichnet die Daten als gültig oder ungültig und spezifiziert den Inhalt der Zusatzinformation. Diese Funktion darf nur im Polling Modus ausgeführt werden.
Seite 75
8.25 EnDat 2.2: Position und Zusatzinformation lesen und Daten senden Die Position und Zusatzinformation eines EnDat22 Messgeräts wird übertragen wie in Kapitel 8.23 beschrieben. Das 16 Bit Datenwort wird in den Speicher des Messgeräts geschrieben. Die Adresse (8 Bit) gibt die Speicherzelle innerhalb des ausgewählten Speicherbereichs an.
Seite 76
8.26 EnDat 2.2: Position und Zusatzinformation lesen und Daten empfangen Die Position und Zusatzinformation eines EnDat22 Messgeräts wird übertragen wie in Kapitel 8.23 beschrieben. Das Messgerät liest ein Datenwort aus dessen Speicher, wobei die Adresse der Speicherzelle innerhalb des ausgewählten Speicherbereichs über den Parameter „addr“...
Seite 77
8.28 EnDat 2.2: Position und Zusatzinformation lesen und Fehlerreset senden Die Position und Zusatzinformation eines EnDat22 Messgeräts wird übertragen wie in Kapitel 8.23 beschrieben. Außerdem wird der Fehlerspeicher des EnDat22 Messgeräts gelöscht. Diese Funktion darf nur im Polling Modus ausgeführt werden. Die Achse muss für EnDat22 Messgeräte konfiguriert sein.
8.29 EnDat 2.2: Zusatzinformation auswählen Die Zusatzinformationen für ein EnDat 2.2 Messgerät können konfiguriert werden. Die Konfiguration muss im „Polling“ Modus erfolgen. Die Zusatzinformationen werden in den Modi „Soft Realtime“, „Streaming“ und „Recording“ übertragen. Die entsprechenden Zusatzinformationen werden im Messgerät ausgewählt, wenn aus dem Modus Polling in einen anderen Modus gewechselt wird.
8.30 EnDat 2.2: Sequenz für Zusatzinformationen auswählen Die Zusatzinformationen für ein EnDat 2.2 Messgerät können konfiguriert werden. Die Konfiguration muss im „Polling“ Modus erfolgen. Die Zusatzinformationen werden in den Modi „Soft Realtime“, „Streaming“ und „Recording“ übertragen. Die Sequenz der Zusatzinformationen wird mit jedem Trigger weiter geschaltet und beginnt nach dem letzen Eintrag wieder mit dem ersten.
Seite 80
8.31 Absolute und inkrementale Positionswerte simultan auslesen Die Position eines EnDat Messgeräts wird gelesen. Dafür wird ein EnDat Kommando an das Messgerät gesendet. Gleichzeitig wird der Positionswert aus den Inkrementalsignalen gebildet. Beide Positionswerte werden zusammen mit den Statuswörtern zurückgegeben. Diese Funktion kann nur im Polling Modus ausgeführt werden. Die Achse muss für EnDat 01 Messgeräte konfiguriert sein.
Timestamp konfigurieren Der Timestamp kann für jede Achse aktiviert oder deaktiviert werden. Die Periodendauer wird global für alle Achsen einer EIB 741 eingestellt. Der Timestamp-Wert wird bei einer Positionsabfrage für eine Achse kopiert, wenn diese Funktion zuvor aktiviert wurde. Funktion...
9 IO-Funktionen Die IO-Funktionen beziehen sich immer nur auf einen einzelnen Ausgangs- oder Eingangsport der EIB 741. Alle anderen Ports werden nicht beeinflusst. Alle IO-Funktionen können als Rückgabewert die nachfolgend aufgeführten Fehlermeldungen liefern. Zusätzlich dazu können sie individuell weitere Werte zurückgeben, die für jede Funktion separat aufgeführt werden.
Ausgangsport konfigurieren Mit dieser Funktion kann der Modus eines Ausgangsports konfiguriert werden. Der Port kann als Triggerausgang oder als logischer Ausgang verwendet werden. Zudem lässt sich der Ausgangstreiber deaktivieren. In diesem Fall befindet sich der Ausgang in einem hochohmigen Zustand. Die Funktion ist nur in Verbindung mit Handles auf Ausgangsports zulässig. Funktion EIB7_ERR EIB7InitOutput ( EIB7_IO...
Verzögerungszeit für Triggereingang einstellen Für jeden Triggereingang kann separat eine Zeit eingestellt werden, um die ein Triggerimpuls verzögert wird. Die Verzögerungszeit muss als ganzzahliges Vielfaches der Taktperiode angegeben werden, wobei die Anzahl der Taktperioden pro Mikrosekunde auslesbar ist (EIB7GetTriggerDelayTicks()). Mit dem Parameterwert Null kann die Verzögerung deaktiviert werden.
Logischen Ausgangsport setzen Der Pegel eines logischen Ausgangsports wird eingestellt. Der Parameter „level“ gibt an, ob der Ausgang auf high oder low gesetzt wird. Diese Funktion kann nur auf Ausgänge angewendet werden, die für den Logik-Modus konfiguriert wurden. Wird der Port als Triggerausgang eingesetzt, erzeugt die Funktion eine Fehlermeldung. Funktion EIB7_ERR EIB7WriteIO ( EIB7_IO...
Seite 86
Konfigurationsdaten für Ausgang lesen Die Konfigurationsdaten für einen Ausgangsport werden gelesen. Der Parameter „mode“ liefert den Betriebsmodus des Ausgangs. In „enable“ wird der Zustand des Ausgangstreibers zurückgegeben. Die Funktion darf nur für Ausgangsports verwendet werden. Funktion EIB7_ERR EIB7GetOutputConfig ( EIB7_IO EIB7_IOMODE* mode, EIB7_MODE*...
10 Allgemeine Funktionen Alle allgemeinen Funktionen können als Rückgabewert die nachfolgend aufgeführten Fehlermeldungen liefern. Zusätzlich dazu können sie individuell weitere Werte zurückgeben, die für jede Funktion separat aufgeführt werden. Standard Rückgabewerte EIB7_NoError Funktionsaufruf erfolgreich EIB7_OutOfMemory Vom System kann nicht genügend Speicher allokiert werden 10.1 Treiber ID-Nummer lesen Die Produktnummer (ID) des Treibers wird als C-String ausgegeben.