M3000
Der M3000 Absolut-Encoder hat eine integrierte Beckhoff Lightbus - Schnittstelle und ermöglicht eine ausfallsichere Wegerfassung mit einem Messumfang von 24-Bit.
Variablen
Variable | Datentyp | Beschreibung |
---|---|---|
Value | UINT24 | Diese 24-Bit breite Eingangsvariable enthält den aktuell erfassten Positions-Istwert des Encoders. |
Data3 | USINT | Diese Eingangsvariable ist ein Füll-Byte. Dies wird benötigt, da Value sinnvollerweise ein 24-Bit Variable ist, Lightbus-Module aber jeweils ein 32-Bit Interface für die Ein- und Ausgangsrichtung besitzen. Daher wird Data3 auch standardmässig mitgemappt wenn der Encoder zu einer NC-Achse verbunden wird. |
Data | ARRAY [0..3] OF USINT | Die Datenbytes dieses Arrays sind Ausgangsvariablen* zum Encoder.
* Die Verwendung dieser Bytes ist ausschliesslich für den Programmierbetrieb des Encoders vorgesehen (wird unter TwinCAT nicht benötigt!). |
TwinCAT NC Encoder
Wenn man im NC-Bereich des System Managers eine Achse einrichtet und dabei den Encoder-Typ festlegt, kann man für den M3000 die folgende Auswahl treffen (manipuliert den Wert 'Geber Maske (Maximalwert des Gebers)' im Dialog 'Global', welcher weiter unten dargestellt wird):
Voraussetzungen
Encoder-Typ | TwinCAT NC Einstelldialog | Beschreibung |
---|---|---|
Encoder an M3000 (24bit Multi-Turn) | Achse x_Enc | 'NC-Encoder' | Wurde dieser Encoder-Typ in TwinCAT NC ausgewählt und zum M3000 Encoder gemappt, interpretiert die NC das von Value erhaltene Bitmuster als 24bit Multi-Turn Wert. |
Encoder an M3000 (25bit Multi-Turn) | Achse x_Enc | 'NC-Encoder' | Wurde dieser Encoder-Typ in TwinCAT NC ausgewählt und zum M3000 Encoder gemappt, interpretiert die NC das von Value erhaltene Bitmuster als 25bit Multi-Turn Wert. |
Encoder an M3000 (12bit Single-Turn) | Achse x_Enc | 'NC-Encoder' | Wurde dieser Encoder-Typ in TwinCAT NC ausgewählt und zum M3000 Encoder gemappt, interpretiert die NC das von Value erhaltene Bitmuster als 12bit Single-Turn Wert. |
Encoder an M3000 (13bit Single-Turn) | Achse x_Enc | 'NC-Encoder' | Wurde dieser Encoder-Typ in TwinCAT NC ausgewählt und zum M3000 Encoder gemappt, interpretiert die NC das von Value erhaltene Bitmuster als 13bit Single-Turn Wert. |
Bei einem eventuellen Austausch des Encoders ist es wichtig, die Zählrichtung und den Startwert des Encoders anzupassen. Dies geschieht mit den im Achsinterface ( 'Axis x_Enc') auf dem Reiter 'Global' verfügbaren Parametern:
- 'Nullpunktverschiebung/Positionsoffset' bzw.
- 'Geberzählrichtung invers (Polarität)'
Im Betrieb sollten sich die Geberwerte innerhalb des möglichen Verfahrweges unbedingt zwischen dem minimalen Wert (0) und dem maximalen Zählwert bewegen.
TwinCAT NC - Encoder 'Global'
Der entsprechende Dialog für die mögliche Anpassung von 'Nullpunktverschiebung/Positionsoffset' und 'Geberzählrichtung invers (Polarität)' wird nachfolgend gezeigt.
Die folgende Betriebsart wird nur der Vollständigkeit halber erwähnt, da sie eigentlich beim Einsatz von TwinCAT nicht benötigt wird.
Der M3000 Absolut-Encoder ist über den LWL programmierbar, welches somit auch über das SPS-Anwendungsprogramm geschehen kann. Die programmierten Einstellungen werden innerhalb des Encoders gespeichert.
Sollte dieser Programmiermodus wider Erwarten in TwinCAT genutzt werden, muß die NC gestoppt werden solange der Programmierbetrieb aktiv ist!
Programmierbetrieb:
Im Programmiermodus sind sowohl die Ausgangs- als auch die Eingangsvariablen/-bytes aktiv.
Die Funktion der 4 Ein-/ bzw. Ausgansbytes des 32-Bit Moduls teilt sich wie folgt auf:
Data[0] = Gewünschter Datenwert zur Übertragung zum Encoder (Ausgang)
Data[1] = Status-Bits (Quittung) der Programmierung/Datenübertragung vom Encoder (Eingang, Value) mit folgender Bedeutung:
Bit 0: = Rückmeldung für Umschaltung Programmierbetrieb
Bit 1: Nicht belegt
Bit 2: = Quittierung Übertragungsblock Ok., Daten übernommen
Bit 3: = Quittierung Übernahme Datenbyte
Bit 4 -7: Nicht belegt
Data[2] = Datenrückmeldung (geschriebener Datenwert) vom Encoder (Eingang, Value). D.h., die von Data[0] empfangenen Daten werden zurückgesendet.
Data[3] = Control-Bits im Programmierbetrieb (Ausgang). Diese Bits steuern die Programmierfunktionen des Encoders und damit das Handshake-Protokoll. Das Byte wird im Eingangsbereich unter Data3 gespiegelt.
Die entsprechende Bitbelegung teilt sich wie folgt auf:
Bit 0: '0' = Geberbetrieb, '1' = Programierbetrieb (Betriebsart)
Bit 1: = Preset 1 Übernahmeanweisung an den Encoder
Bit 2: = Preset 2 Übernahmeanweisung an den Encoder
Bit 3: = Strobe-Bit für Übergabe Datenbyte
Bit 4-6: Nicht belegt
Sonderfunktion Bit 7: Freigabe Latch-Funktion.
Eine genauere Beschreibung finden Sie im Handbuch des M3000 Encoders, zu finden u.a. im Download-Bereich unter www.beckhoff.com.