Calculateur de temps de cycle Modbus RTU

Calculez la durée d’un caractère Modbus RTU, les intervalles de 1,5 et 3,5 caractères et le temps nécessaire pour interroger chaque appareil d’une ligne série.

Modbus et liaisons série Mis à jour Gratuit, sans inscription

Valeurs d’exemple
Paramètres série
Parité
Bits d’arrêt
Scrutation

Requêtes courantes

Temps nécessaire à chaque appareil pour commencer à répondre

ms

Adresse et CRC compris

bytes

Adresse et CRC compris

bytes

Durée d’un tour de scrutation de tous les appareils

468,2ms

Une requête et sa réponse
46,82 ms
Durée d’un caractère
1,146 ms
Intervalle entre trames, t3,5
4,01 ms
Intervalle maximal dans une trame, t1,5
1,719 ms
Tours complets par minute
128,1 /min
Requête 9,167 msDélai appareil 5 msRéponse 28,65 msPause t3,5 4,01 ms
Méthode de calcul
  1. tchar = bits ÷ débit=11 ÷ 9 600 × 1000=1,146 ms
  2. t3,5 = 3,5 × tchar=3,5 × 1,146=4,01 ms
  3. Échange = (requête + réponse) × tchar + délai + t3,5=(8 + 25) × 1,146 + 5 + 4,01=46,82 ms
  4. Cycle = appareils × échange=10 × 46,82=468,2 ms

Choose the gateway connection for this Modbus line.

Concevoir un système

La scrutation de 10 appareils à 9 600 bit/s prend 468,2 ms par tour, dont 46,82 ms pour chaque requête et sa réponse, soit 128,1 tours complets par minute.

Conseil : Le traitement dans les appareils peut occuper davantage de temps qu’il n’en faut pour transmettre les octets. Mesurez le délai de réponse au lieu de le deviner.

Calculer la durée d’un cycle de scrutation Modbus RTU

Une ligne Modbus RTU ne transporte qu’un échange à la fois : le maître envoie une requête, l’appareil la traite, répond, puis la ligne reste silencieuse pendant au moins 3,5 durées de caractère avant la trame suivante. Additionnez ces temps pour chaque appareil pour obtenir la durée d’un tour complet. À 9 600 bit/s, dix appareils renvoyant chacun dix registres prennent environ une demi-seconde.

Durée d’un caractère

tchar = (1 + 8 + parité + arrêt) ÷ débit

Chaque octet est transmis sur 11 bits : un bit de départ, huit bits de données, un bit de parité et un bit d’arrêt, ou deux bits d’arrêt sans parité. À 9 600 bit/s, cela représente 1,146 ms par octet.

Intervalles entre trames

t3.5 = 3,5 × tchar ; valeur recommandée de 1,75 ms au-dessus de 19 200 bit/s

Un silence de 3,5 durées de caractère sépare les trames ; une interruption de plus de 1,5 durée de caractère au sein d’une trame la rend invalide. Au-dessus de 19 200 bit/s, le guide de ligne série recommande des valeurs fixes de 1,75 ms et 0,75 ms.

Un échange

échange = (requête + réponse) × tchar + délai + t3.5

Les longueurs de requête et de réponse comprennent l’adresse et le CRC : 8 octets pour demander des registres, puis 5 plus 2 par registre en réponse. Le délai de l’appareil est le temps qu’il met à commencer à répondre ; il ne peut être inférieur à t3,5 dans cette estimation.

Ligne complète

cycle = appareils × échange

La scrutation est séquentielle : chaque appareil ajouté allonge le tour. Les nouvelles tentatives et délais d’expiration l’allongent encore.

Exemples : Temporisation Modbus RTU

Dix compteurs à 9 600 bit/s

Lire dix registres sur chacun de dix compteurs, avec 5 ms pour commencer à répondre, prend 46,82 ms par échange et 468,2 ms par tour. Chaque compteur peut être lu environ deux fois par seconde.

Durée d’un tour de scrutation de tous les appareils 468,2 ms Ouvrir dans le calculateur

Vingt appareils avec des lectures plus longues à 19 200 bit/s

Pour cinquante registres sur chacun de vingt appareils, chaque réponse contient 105 octets et le tour dure 1 435 ms, même avec un débit doublé. Lire de longs blocs contigus est généralement plus rapide que multiplier les petites requêtes.

Durée d’un tour de scrutation de tous les appareils 1 435 ms Ouvrir dans le calculateur

Un appareil lent sur une ligne chargée

Trente appareils qui mettent chacun 20 ms à répondre et renvoient cinquante registres : 153,5 ms par échange et 4 605 ms par tour. À cette échelle, répartir les appareils sur deux lignes divise la durée du tour par deux.

Durée d’un tour de scrutation de tous les appareils 4 605 ms Ouvrir dans le calculateur

Durées des caractères et intervalles Modbus RTU selon le débit

Pour des caractères de 11 bits (parité paire, un bit d’arrêt), une requête de 8 octets, une réponse de 25 octets correspondant à dix registres et un délai de réponse de 5 ms.

Durées des caractères et intervalles Modbus RTU selon le débit, valeurs dans ms
Débit binaire (bit/s)Caractère (ms)t1,5 (ms)t3,5 (ms)Un échange (ms)
1 2009,16713,75032,083366,7
2 4004,5836,87516,042183,3
4 8002,2923,4388,02191,7
9 6001,1461,7194,01046,8
19 2000,5730,8592,00525,9
38 4000,2860,7501,75016,2
57 6000,1910,7501,75013,1
115 2000,0950,7501,7509,9

Télécharger ce tableau (CSV)

Questions sur Temporisation Modbus RTU

Que signifie t3,5 en Modbus RTU ?

L’intervalle silencieux de 3,5 durées de caractère qui sépare les trames. Le récepteur interprète un silence aussi long comme la fin d’une trame. À 9 600 bit/s avec des caractères de 11 bits, il vaut 4,01 ms ; au-dessus de 19 200 bit/s, le guide série recommande une temporisation fixe de 1,75 ms.

À quelle vitesse puis-je interroger une ligne Modbus RTU ?

Additionnez les durées des échanges, un par appareil et par tour. Plus d’appareils, des réponses longues, des appareils lents et les nouvelles tentatives allongent le tour. Pour obtenir plus de mesures par seconde, augmentez le débit binaire, lisez des blocs contigus ou répartissez les appareils sur plusieurs lignes.

Pourquoi 11 bits par caractère ?

Le guide Modbus sur ligne série prescrit 11 bits : départ, huit bits de données, parité et un bit d’arrêt, ou aucune parité et deux bits d’arrêt. De nombreux appareils acceptent aussi aucune parité avec un seul bit d’arrêt, mais cette configuration est hors spécification.

Un débit binaire plus élevé aide-t-il toujours ?

Seulement jusqu’à ce que le délai de réponse des appareils domine. À 115 200 bit/s, les octets prennent une fraction de milliseconde, tandis qu’un appareil qui a besoin de 20 ms pour répondre impose son rythme. Les longs câbles et une terminaison médiocre limitent également le débit fiable.

Limites de ce résultat

  • L’estimation du cycle exclut les nouvelles tentatives, délais d’expiration, diffusions, ordonnancement du système d’exploitation et autres maîtres.
  • Le délai de réponse saisi doit représenter le temps écoulé entre la fin de la requête et le début de la réponse ; le calcul impose au moins t3,5.
  • Il s’agit d’une estimation idéale, séquentielle, avec un échange de même taille par appareil. Les calculs avec un cadrage non conforme de 10 ou 12 bits sont exploratoires : ils ne valent pas attestation de conformité Modbus.

Mesurer en continu

Un ZMB interroge sa propre ligne RS-485 près de l’équipement. Chaque appareil Modbus ou petit groupe dispose ainsi d’une ligne courte et rapide, au lieu de partager un seul bus long.

Guides associés

Sources

  1. MODBUS over Serial Line Specification and Implementation Guide V1.02 (s’ouvre dans un nouvel onglet) (PDF) Modbus Organization, 2006-12-20
  2. REF601/REJ601 Modbus Communication Protocol Manual (s’ouvre dans un nouvel onglet) (PDF) ABB, 1MDU072231-YN