Erreurs
Plusieurs types d’erreurs peuvent survenir lors de l’utilisation de l’Asycube avec Modbus TCP. Les bits du Holding Register HR_MODBUS_STATUS (adresse 64) représentent l’état de ces types d’erreur.
Valeur (binaire) |
Nom |
Description |
---|---|---|
0b0001 |
État des erreurs du Modbus de l’Asycube |
Si la valeur est égale à 1, veuillez consulter la section Principaux codes d’exception Modbus |
0b0010 |
État des erreurs de la communication interne par Modbus |
Si la valeur est égale à 1, veuillez consulter la section Holding Register : codes d’erreur |
0b0100 |
État des avertissements de l’Asycube |
Si la valeur est égale à 1, veuillez consulter la section Avertissements et alarmes de l’Asycube |
0b1000 |
État des alarmes de l’Asycube |
Si la valeur est égale à 1, veuillez consulter la section Avertissements et alarmes de l’Asycube |
L’état des erreurs peut être réinitialisé en écrivant le bit correspondant à 1 dans le Holding Register HR_MODBUS_CONTROL. Par exemple, l’écriture de la valeur 0b0110
(correspondant à la valeur ‘6’ en décimales) réinitialisera à la fois l’état des erreurs Modbus de l’Asycube et l’état des avertissements de l’Asycube.
Principaux codes d’exception Modbus
Les codes d’exception Modbus sont définis dans les spécifications du protocole (http://www.modbus.org). Un sous-ensemble de ces exceptions est implémenté dans l’Asycube (voir Tableau 19). Le protocole Modbus est responsable de la transposition des exceptions directement dans le message Modbus. Les exceptions ne sont pas définies dans un Holding Register.
Valeur (décimale) |
Nom |
Description |
1 |
Fonction illégale |
Le code de fonction reçu dans la requête n’est pas reconnu ou autorisé par l’esclave. |
2 |
Adresse de données illégale |
Les adresses de données de certaines ou de toutes les entités requises ne sont pas autorisées ou n’existent pas dans l’esclave. |
3 |
Valeur de données illégale |
La valeur n’est pas acceptée par l’esclave |
Holding Register : codes d’erreur
Le HR_MODBUS_ERROR_CODE indique l’erreur Modbus actuelle de l’Asycube.
Le premier byte (masque 0x00FF
) donne l’erreur liée à l’implémentation du Modbus Asycube (voir Tableau 20).
Valeur (hexadécimale) |
Nom |
Description |
0x01 |
Accès en écriture non autorisé |
Les données ne peuvent pas être écrites parce qu’elles sont interdites ou que l’index est hors plage. Un exemple serait la sélection d’une séquence (HR_SELECT_VIBRATION_SET) avec une valeur hors plage telle que 27. |
Le deuxième byte (masque 0xFF00
) indique le code d’erreur de communication Modbus interne (voir la valeur Error Bit dans Tableau 17 ). L’erreur de communication Modbus interne se produit généralement lorsqu’une vibration est déclenchée avec des valeurs de paramètres erronées.
Un exemple serait le déclenchement d’un centrage de la plateforme (HR_PLATFORM_CENTERING_TRIG) alors que la valeur de la position X (HR_PLATFORM_CENTERING_X ) est en dehors de la plage des valeurs admises, par exemple 120%.
Avertissements et alarmes de l’Asycube
L’Asycube possède ses propres avertissements et alarmes. Ils peuvent être lus respectivement dans les Holding Registers HR_WARNINGS et HR_ALARMS.