EtherCAT : que signifient APRD/APWR ?
- APRD signifie Auto-Increment Physical Read.
- APWR signifie Auto-Increment Physical Write
Ce sont des requêtes EtherCAT de bas niveau émises par un maître EtherCAT et envoyées à un esclave EtherCAT.
Elles effectuent des lectures et des écritures dans la mémoire de l’esclave en utilisant des adresses physiques (par opposition aux adresses logiques).
Le maître sélectionne l’esclave par son numéro de position dans la chaîne en guirlande (daisy chain).
Le processus de lecture/écriture utilisant APRD/APWR est appelé Positional physical read/write (lecture/écriture physique positionnelle), où positionnel fait référence à l’adressage par la position de l’esclave dans la chaîne en guirlande, par opposition à l’adresse de station configurée de l’esclave (que le maître peut choisir lors de l’initialisation).
Lorsque vous disposez de l’adresse de station au lieu de la position physique, vous pouvez utiliser la commande FPRD.
Que signifie « auto-increment » ?
Auto-increment n’a rien à voir avec l’incrémentation de l’adresse mémoire physique à lire ou dans laquelle écrire.
Il s’agit plutôt du fait que chaque esclave incrémente automatiquement de 1 le champ d’adresse de la requête. Si un esclave reçoit un champ d’adresse d’esclave (correctement appelé Ordinal Device Number) de 0, il traite la requête et la transmet à l’esclave suivant avec le champ d’adresse défini à 1.
Important : Aucun esclave ne modifiera jamais le champ d’adresse mémoire physique de la requête. C’est une idée reçue courante, mais l’adresse physique est fixée par le maître et ne peut jamais être modifiée par l’esclave.
Exemple
Si le maître veut adresser le 3e esclave, il enverra une requête avec l’adresse définie à -2. Les deux premiers esclaves de la chaîne l’incrémenteront d’abord à -1 puis à 0 (sans traiter la requête), moment auquel le 3e esclave verra une adresse de 0, traitera la requête, et la transmettra avec une adresse de 1 et ainsi de suite.
Source : ETG1000.3 V1.0.32 - nécessite une adhésion ETG gratuite.
- L’exemple se trouve dans la section
4.3.2 Position addressing - La signification des noms se trouve dans le tableau `3.4