Différences entre l'implémentation du GTS et le standard Modbus :
Le code d'exception 3 (illegal data value) peut être appliqué, selon le standard en cas de :
[1]
dépassement du nombre maximum de registres,
[2]
Write Request Byte Count <> 2 x nombre de registres,
[3]
autres erreurs formelles de la structure du télégramme,
[4]
mais pas pour des valeurs invalides au niveau de l'application
[5]
Le nombre maximum de registres pour la fonction Modbus 0x03 (Read Holding Registers) est fixé, selon
le standard, à 125 (0x7D) et à 123 (0x7B) pour la fonction Modbus 0x10 (Write Multiple Registers)
[6]
Le nombre minimum de registres pour la fonctions Modbus 0x03 (Read Holding Registers) et 0x10 (Write
Multiple Registers) est fixé, selon le standard, à 1.
7.1.4 Synchronisation
Différents mécanismes de synchronisation sont présents:
Les accès depuis les différents clients sont synchronisés à base de
PDU.
Les accès au sein d'un PDU ne sont synchronisés que sur une base
32 bits (l'adresse n et l'adresse n+1 sont écrites/lues au niveau
atomique, n représentant une adresse paire)
7.1.5 Inactivity Timeout
Lorsque la connexion TCP avec le client Modbus du GTS n'est plus
utilisée, le GTS la ferme après un "Inactivity Timeout" de 10 secondes.
Lorsque les transactions Modbus se prolongent, il est recommandé de
maintenir la connexion TCP avec le GTS sans la rétablir à nouveau, en
s'assurant que le client Modbus maintienne sous ce timeout l'intervalle le
plus long entre les requêtes successives du client Modbus (par exemple
en définissant une lecture cyclique d'un point de données toutes les 8
secondes)
7.1.6 Consignes d'implémentation
7.1.6.1 Initialisation
La procédure d'initialisation proposée est la suivante:
Connexion du client Modbus avec le GTS
Ecriture du Flex ID et de la configuration du superviseur
Requêtes continues des états
7. Interface Modbus
Manuel utilisateur - Page 34