-
Example for minimum implementation:
1) Set the EnDat clock frequency to 300 kHz
2) Reset the encoder
Send “Encoder receive reset” mode command to the encoder
3) Clear the errors (also see “Sequences and Data Structures”)
The following mode commands are necessary for this (all values given in hexadecimals)
• Selection of the memory area (MRS code 0xB9)
• Encoder receive parameter (address 0x00 and parameter 0x0000)
• Encoder receive reset
4) Clear the warnings (also see “Sequences and Data Structures”)
The following mode commands are necessary for this (all values given in hexadecimals)
• Selection of the memory area (MRS code 0xB9)
• Encoder receive parameter (address 0x01 and parameter 0x0000)
• Encoder receive reset
5) Check whether the expected encoder is actually connected. The test is based on the ID number of the encoder, in this example for the LIC 4000.
The following mode commands are necessary for this (all values given in hexadecimals)
• Selection of the memory area (MRS code 0xA3)
• Encoder send parameter (address 0x08); buffer the result
• Encoder send parameter (address 0x09); buffer the result
• Encoder send parameter (address 0x0A); buffer the result
It must now be checked whether the ID number matches the expectation. In this example (LIC with ID 651 871-01) the memory content should be as follows:
• Address 0x08 Memory content 0x3031
• Address 0x09 Memory content 0xF25F
• Address 0x0A Memory content 0x0009
These contents correspond to the ID number above (see the EnDat Specification: EnDat 2.2 parameters of the encoder manufacturer, Words 24 to 26)
6) The LIC 4000 permits EnDat clock frequencies up to 16 MHz; as a result:
• Active propagation-delay compensation
• Set the desired EnDat transmission frequency
7) Cyclical reading out of the position can be started
-
The EnDat interface distinguishes between the following status messages:
Error message:
An error message is set if there is a malfunction in the encoder that could be causing incorrect position values. Depending on the mode command used for position value transmission, F1, or F1 and F2 are transmitted (see also EnDat specification).
Cyclic Redundancy Check (CRC):
In order to detect errors resulting from interference during data transmission, a 5-bit CRC code is assigned to every data word. The CRC code is generated by hardware in the encoder. The evaluation in the subsequent electronics can also be realized with the hardware. All one-bit errors in data transmission can be detected by means of the CRC. The detection of high-order data transmission errors depends on the data word length and the data contents. The error bit is included in the formation of the CRC code.
EnDat error types I, II and III:
Error type I:
This error type indicates that the transmission from the subsequent electronics to the encoder is disturbed, e.g. if the mode word was not received correctly (see EnDat specification). If a transmission does not conclude, then the error message is contained in the subsequent transmission.
Error type II:
This error type indicates an error during addressing, e.g. non-supported address was selected (see EnDat specification).
Error type III:
This error type indicates an error during selection of the additional information, for example if a non-supported additional information is selected (see EnDat specification).
When evaluating an EnDat transmission, you should always check all statuses and derive appropriate measures from them. The CRC, in particular, is a central element of data backup. The CRC of every data transfer should therefore be checked.
Error message(s) set, CRC OK and no EnDat error type:
- There is a malfunction in the encoder
CRC is incorrect:
- Noise in transmission path
- Also occurs in EnDat error type I
- Error messages can occur
EnDat error type I occurs:
- For causes, see EnDat specification (e.g. mode commands are not transmitted correctly)
- EnDat error messages can occur
- CRC is incorrect
EnDat error types II and III occur:
- For causes, see EnDat specification
- The selected addresses or MRS codes should be checked
Please note:
Measures to be taken for safety-relevant applications according to IEC 61508 and EN 13849 are described in the EnDat package of measures (D533095).
-
Certain hardware and software combinations of the MASTERDRIVES inverters erroneously send a clock or entire clock-pulse group in the boot phase of the connected position measuring system. If the encoder is driven by a clock during the boot phase, this can lead to an interruption of the boot procedure and output of incorrect position values.
SIEMENS initiated a redesign of the MASTERDRIVES electronics (SBM 2) and developed appropriate software. These modifications will be available starting in Dezember 2008 approximately. To ensure functional combinations of encoders and MASTERDRIVES for the transition period, HEIDENHAIN will modify, upon request, PCBs of the standard rotary encoders of the 35-mm and 56-mm series with optical scanning and deliver them in limited quantity. They can be distinguished by the index after the serial number according to the enclosure.
The following procedure is recommended to find out whether a combination of MASTERDRIVES and HEIDENHAIN encoder is functional:
- Compare the ID number and the index of the serial number (letter at the end of the serial number) of the HEIDENHAIN encoder on the ID label with the encoders included in the attached list. See also the two attached examples of HEIDENHAIN ID labels.
- If the index of the serial number is lower than the one indicated, please refer to your contact person within the HEIDENHAIN Sales department. Indicate the serial and ID numbers of the encoder and mention these FAQ.
- If the index of the serial number is equal or higher, there should be no problems with the MASTERDRIVES inverter.
Index of Encoders
-
1. periodo di clock: | Il driver del sistema di misura è disattivato |
2. periodo di clock: | Il driver dell’elettronica successiva è attivato |
dal 3. all'8. periodo di clock: | Trasmissione del dato Mode |
9. periodo di clock: | Il driver dell’elettronica successiva è disattivato |
10. periodo di clock: | Il driver del sistema di misura è attivato |
-
Sì!
- Prima della prima interrogazione del valore di posizione è necessario verificare la word 13 dei parametri EnDat 2.1, affinché l’elettronica successiva possa definire il numero di impulsi di clock da trasmettere. La verifica deve essere eseguita utilizzando i comandi EnDat 2.1.
- Se il numero di impulsi di clock risulta non sufficiente, le informazioni potrebbero non essere disponibili, ovvero il sistema di misura va in blocco, e in alcune circostanze la trasmissione successiva potrebbe fallire.
- Se vengono trasmessi troppi cicli, il sistema di misura lo interpreta come un ciclo continuo. Il sistema di misura si trova così di nuovo all’interno di un ciclo di comunicazione ed eventualmente la successive comunicazione si interrompe.
- La comunicazione con il sistema di misura sembra funzionare, ma se per esempio cambiasse leggermente il tempo di sincronizzazione, la comunicazione potrebbe interrompersi improvvisamente. Possono verificarsi anche sporadici errori di comunicazione.
-
- In linea di principio la memoria è liberamente programmabile; HEIDENHAIN non predefinisce i contenuti della programmazione.
- La memoria è suddivisa in 4 aree che possono essere configurate dall’OEM (parametri delle aree OEM 1..4) o dai valori di correzione del costruttore del sistema di misura (valori di correzione aree 1..4).
- I contenuti delle aree dei valori di compensazione non sono rilevanti per l’utente.
- I parametri EnDat 2.1 (word 9 – 12; una interrogazione dei dati 9 e 10 è sufficiente) definiscono se è supportata un’area OEM o gli indirizzi che possono essere attivati nell’ambito di un’area disponibile.
- Diverse gamme dei sistemi di misura supportano differenti aree di memoria OEM e differenti aree di indirizzamento. La configurazione delle aree OEM deve essere quindi ricaricata per ogni singolo sistema di misura.
- Per questa ragione, l’elettronica successiva dovrebbe formare indirizzi relativamente ai valori determinati e non utilizzare indirizzi assoluti. La programmazione deve essere adeguata ai singoli sistemi di misura.
-
- Dopo l’accensione del sistema di misura possono essere impostati messaggi di errore; vedere anche le specifiche EnDat.
- Per tale ragione, dopo l’accensione dovrebbero essere cancellati tutti gli errori e gli allarmi.
- Qualora dovesse essere effettivamente presente un errore, si attiva nuovamente successiva interrogazione di posizione.
Ulteriori informazioni in merito a errori e allarmi
- È possibile resettare il dato dell’errore; non è invece ammesso resettare i singoli bit di errore (vedere specifiche).
- I sistemi di misura non supportano tutti gli stessi allarmi. Gli allarmi supportati possono essere letti dalla memoria del sistema di misura. Gli allarmi non supportati dovrebbero essere disattivati.
- Il controllo numerico è così in grado di valutare se sono supportati gli errori “richiesti” dall’applicazione.
- In futuro HEIDENHAIN sarà in grado di configurare anche ulteriori messaggi di errore.
-
- La protezione contro la scrittura una volta attivata non può più essere cancellata.
- Il sistema di misura deve essere inviato al Servizio Assistenza HEIDENHAIN, dove è possibile rimuovere la protezione contro la scrittura.
-
Interfaccia | Versione | Frequenza di clock
| Identificazione prodotto
|
EnDat 2.1 | Con segnali incrementali | ≤ 2MHz | EnDat 01 |
EnDat 2.1 | Senza segnali incrementali | ≤ 2MHz | EnDat 21 |
EnDat 2.2 | Con segnali incrementali | ≤ 2MHz | EnDat 02 |
EnDat 2.2 | Senza segnali incrementali | ≤ 8MHz (bzw. 16 MHz) | EnDat 22 |
Bold: translate it - Standardversion
- Differenze tra EnDat 2.1 e EnDat 2.2:
tensione di alimentazione e frequenza di clock; non i comandi. - L’indicazione per la corretta identificazione del prodotto è riportata sull’etichetta ID.
- I sistemi EnDat 2.1 (EnDat 01 o 21) potranno disporre in futuro anche del set di comandi 2.2.
- La frequenza di clock indicata si basa sulle caratteristiche del sistema di misura (in particolare per gruppi di cavi a innesto ed EnDat 02).
- In caso di assistenza: attenzione ai parametri.
-
- Se durante la comunicazione il clock deve essere interrotto, il livello del clock deve essere mantenuto su “low”. Il sistema di misura riconosce un livello “high” per periodi > 10 µs (> 1,25 µs con recovery time ridotto) come fine del recovery time I e quindi come fine del ciclo di comunicazione.
- Ad eccezione delle LC (max 30 µs), il livello del clock può essere mantenuto a livello basso per diversi ms.
-
EnDat 2.1 | La frequenza di clock massima ammessa dipende dalla lunghezza massima del cavo, poiché all’interno di un ciclo è necessario ricaricare anche la risposta del controllo numerico. Con il fronte di saluta del clock il sistema di misura invia i dati sulla linea; è consigliato che il controllo numerico acquisisca i dati con il fronte di discesa del clock successivo. |
EnDat 2.2 | Per incrementare la frequenza di clock viene eseguita la cosiddetta compensazione del tempo di propagazione (vedere specifiche EnDat). In seguito all’accensione, ma prima che si proceda alla compensazione del tempo di propagazione, la frequenza di clock deve essere limitata a 300 kHz. |

-
L'interfaccia EnDat offre la possibilità di ridurre il recovery time per i comandi Mode EnDat 2.2 (vedere i dati tecnici EnDat). Tale riduzione del recovery time consente di realizzare tempi ciclo molto brevi. In merito al recovery time ridotto sono risultati malintesi in relazione a quanto riportato nei dati tecnici:
- La riduzione del recovery time è ammessa soltanto per comandi Mode EnDat 2.2; i comandi EnDat 2.1 devono essere sempre inviati con il "recovery time standard“ di 10 .. 30 µs.
- Il recovery time ridotto deve essere impostato una volta soltanto in quanto la configurazione rimane memorizzata nella EPROM.
- Se la riduzione del recovery time viene impostata dal Cliente (vedere dati tecnici EnDat), dopo il primo invio di un comando Mode EnDat 2.2 ad alta frequenza (> 1 MHz) vengono inviati soltanto comandi Mode (2.1 o 2.2) ad alta frequenza. Un ripristino alla bassa frequenza (< 1 MHz) e ai comandi Mode EnDat 2.1 può comportare problemi in determinati sistemi di misura, in quanto non è prevista tale modalità.
Raccomandazioni:
- Il recovery time ridotto dovrebbe essere impiegato soltanto se necessario ai fini di una riduzione dei tempi ciclo.
- Con recovery time ridotto si dovrebbero adottare nel loop chiuso esclusivamente i comandi Mode EnDat 2.2.
-
Nel diagramma delle specifiche EnDat sembra che dopo aver inviato il dato Mode, si debba mantenere il clock su LOW, attendere almeno per il tempo tCAL e quindi il bit di start appare immediatamente con il primo impulso di clock. Ho sperimentato tale procedura con un sistema di misura e funziona. Questa procedura è corretta o devo continuamente inviare impulsi di clock e procedere al polling sul bit di start?

Risposta
Purtroppo si tratta di un’interpretazione sbagliata del diagramma. Non è possibile garantire che il comportamento descritto si applichi a tutti i diversi modelli di sistemi di misura. Le linee tratteggiate nel diagramma indicano che il clock deve essere continuamente inviato al sistema di misura (vedere le linee tratteggiate per "position value"). Si deve procedere al polling sul bit di start, ossia gli impulsi di clock devono essere inviati fino a quando il bit di start viene trasmesso. Questo è ciò che le linee tratteggiate indicano nel diagramma. Nelle specifiche EnDat 2.1 e nelle specifiche EnDat 2.2 si fa riferimento in più punti all’Appendice A4 e all’Appendice A5. Il timing del comando di posizione EnDat 2.1 è descritto nell’Appendice A4/A5, in cui è illustrato anche il clocking continuo durante il polling sul bit di start. Il tempo tCAL indica il primo momento possibile a partire dal quale il valore di posizione può essere recuperato dal sistema di misura. Il polling sul bit di start deve essere eseguito indipendentemente da tCAL.
-
Parameters
-
In considerazione della nuova funzionalità dell’interfaccia EnDat02, alcuni parametri dei sistemi di misura differiscono da quelli delle relative versioni precedenti. Il passo di misura, ad esempio, è stato ridotto da 100 nm a 5 nm, l’area OEM è stata ampliata ecc.
Essendo ora possibile controllare l’asse in modo “puramente seriale” o “con segnali sinusoidali”, i sistemi di misura LC xx3 dispongono di alcune caratteristiche specifiche da tenere presente per il corretto funzionamento degli stessi.
Richieste di posizione EnDat 2.1 ed EnDat 2.2
I sistemi di misura lineari assoluti presentano diversi tempi di calcolo per i valori di posizione (tcal) in funzione dei comandi Mode EnDat 2.1 o EnDat 2.2 trasmessi (vedere i dati tecnici dello strumento). Se per la regolazione degli assi si elaborano segnali incrementali, si devono impiegare i comandi Mode EnDat 2.1. Soltanto in questo modo un messaggio di errore attivo può essere trasmesso in sincronia al valore di posizione attualmente richiesto.
I comandi Mode EnDat 2.1 o EnDat 2.2 possono essere utilizzati con trasmissione puramente seriale del valore di posizione per il controllo degli assi. Le richieste di posizione con EnDat 2.1 impiegano circa 1 ms prima di determinare i valori di posizione.
Per le richieste di posizione con EnDat 2.2, i valori di posizione possono essere determinati in 5 µs circa. Tuttavia, qualsiasi messaggio di errore attivo può essere trasmesso soltanto dopo un ritardo di circa 1 ms, a causa dei tempi di elaborazione interni.
Non si può eseguire un’unica richiesta di posizione con EnDat 2.2.
Clock continuo (possibile solo con richieste di posizione EnDat 2.1)
Non supportato.
Clock continuo (possibile solo con richieste di posizione EnDat 2.1)
Non supportato.
Interruzione di una richiesta EnDat
La successiva richiesta di posizione non è valida e il sistema di misura reagisce con un errore del tipo I o II.
Accesso non valido alla memoria (codice MRS non corretto)
Viene confermato dapprima dal sistema di misura con un errore del tipo II.
La successiva richiesta di posizione invia l’ultimo valore di posizione trasmesso. Non viene emesso alcun messaggio di errore:
Richiesta di posizione EnDat 2.1: unica
Richiesta di posizione EnDat 2.2: fino a 1 ms
Commutazione tra comandi EnDat 2.1 ed EnDat 2.2 (entrambe le direzioni)
Si deve rispettare un tempo di attesa di 1 ms ad ogni passaggio.
-

-

Legenda(1) | Dopo l’accensione, il livello della linea di dati si impiega per determinare se è collegato un sistema di misura EnDat o SSI. |
(2) | The encoder requires a defined reset (falling edge end of the recovery time). The LOW duration of the pulse is not definitive; t > 125 ns |
(3) | Una volta trascorso t3, una prima richiesta EnDat (fronte discendente) è ammessa dopo almeno 1 ms (non è previsto un limite massimo di tempo). Dopo il primo impulso di clock, la direzione dei dati sulla linea di dati si inverte (per questo motivo la linea di dati è ad “alta impedenza”). |
(4) | t1: tempo di boot o di reset del sistema di misura EnDat t2: fase di inizializzazione del sistema di misura EnDat t3: deve essere mantenuto per garantire la compatibilità con EnDat 2.1 |
(5) | A first EnDat request (falling edge) is permissible once t3 has ended after at least 1 ms (there is no maximum time limit). After the first clock pulse, the direction of data on the data line is reversed (this is why the data line is then at “high impedance”). |
(6) | The encoder requires a defined reset: Falling edge + end of recovery time; During the Low phase this is 0.125 < tlow < 30 µs |
(7) | t1: Boot or reset time of the EnDat encoder t2: Initialization phase of the EnDat encoder t3: Must be maintained for downward compatibility to EnDat 2.1 |
-
EnDat 2.1 | Ein ASIC von der Fa. MAZeT ist verfügbar (www.mazet.de) |
EnDat 2.2
- EnDat Master Standard
- EnDat Master Reduced (nur EnDat Protocol Machine)
- EnDat Master Light (nur EnDat Protocol Machine)
Implementierung
-
EnDat 2.1 | Ampiezza massima dei dati di 40 bit per il valore di posizione. |
EnDat 2.2 | Ampiezza massima dei dati di 48 bit per il valore di posizione e le informazioni supplementari. |
In general | Si consiglia di predisporre le massime ampiezze possibili dei dati al fine di poter collegare anche sistemi di misura di generazioni future. La tendenza è orientata verso risoluzioni sempre maggiori. |
32-bit data width | Non sono assolutamente sufficienti; il sistema di misura EQN 1337 presenta ad es. una risoluzione monogiro a 25 bit e multigiro a 12 bit per una informazione di posizione pari complessivamente a 37 bit. |