Passer au contenu principal
Version : TAO v2.x

Configuration du flux de données Modbus

Le flux de données Modbus vous permet d’exposer automatiquement les data de vos capteurs LoRaWAN dans un serveur Modbus esclave intégré.

Par défaut, ce serveur est disponible sur le port TCP standard 10502. Si nécessaire, vous pouvez modifier le port dans Node-RED, comme décrit dans la section Personnalisation du serveur Modbus.

Ce flux de données gère les quatre types de données Modbus, qui peuvent être définis respectivement comme entrées/sorties pour les propriétés uplink/downlink :

  • Holding Register (noté "HR") : 16 bits, généralement utilisé pour les nombres et les chaînes disposant d’un accès lecture/écriture (UL/DL)
  • Input Register (noté "IR") : 16 bits, généralement utilisé pour les nombres et les chaînes disposant d’un accès en lecture seule (UL uniquement)
  • Discrete Input (noté "DI") : entrée binaire, lecture seule (UL uniquement)
  • Coil (noté "C") : sortie binaire, lecture/écriture (UL/DL)

À partir de TAO v2.7.0, le mappage des data de capteurs LoRaWAN vers les registres Modbus est entièrement automatisé.

Note de migration

Si Modbus était déjà activé sur votre TAO avant de le mettre à jour vers la version 2.7.0 (ou supérieure), votre ancien flux de data Modbus (basé sur un mappage manuel via import CSV) est conservé par défaut afin d’assurer la rétrocompatibilité.

Si vous souhaitez passer au nouveau flux de data (basé sur un mappage automatisé), vous devez désactiver votre flux de data Modbus actuel, puis le réactiver et confirmer votre action en cliquant sur OUI, UTILISER LE NOUVEAU FLUX.
Cette opération réinitialisera votre liste d’objets Modbus actuelle.

précaution

Chaque capteur exposant des data via Modbus se voit automatiquement attribuer un Unit-ID.
Étant donné que le protocole Modbus limite la plage d’ID d’unité à [1 - 247], TAO ne permet pas Modbus pour plus de 247 capteurs LoRaWAN.

Lorsque cette limite est atteinte, les capteurs pour lesquels l’activation Modbus a échoué affichent une erreur sur l’interface utilisateur, lors du provisionnement unitaire ou en masse des capteurs.

Étapes principales

Les étapes suivantes décrivent comment configurer le flux de données Modbus :

  1. Depuis le panneau de gauche de l’interface utilisateur, allez dans Flux de données.

  2. Dans l’onglet Modbus, activez le flux Modbus s’il ne l’est pas déjà, en cliquant sur ACTIVER MODBUS.

    conseil

    Dans l’onglet Modbus, vous pouvez afficher/masquer le contenu de chaque widget en cliquant respectivement sur /, à côté du titre du widget.

  3. Dans le widget PARAMETRES, vous pouvez personnaliser l’ordre des octets pour chaque taille de registre afin de l’adapter aux conditions de votre déploiement.

    En complément, vous pouvez librement définir quelles métadonnées LoRaWAN sont exposées sous forme de registres Modbus, en activant l’interrupteur correspondant dans l’interface utilisateur :

    • RSSI est l’indicateur de puissance de signal reçu (Received Signal Strength Indicator) de chaque paquet uplink LoRaWAN. Le RSSI mesure la puissance globale du signal au sein de la largeur de bande du canal radio, en additionnant le signal utile, les interférences et le bruit de fond. Le RSSI est exprimé en dBm.
    • SNR est le rapport signal/bruit (Signal to Noise Ratio) de chaque paquet uplink LoRaWAN. Il fournit une estimation fiable de la qualité de la réception uplink. Le SNR est exprimé en dB.
    • FCntUp est le compteur de trames de chaque paquet uplink LoRaWAN.
    • SpFact est le spreading factor de chaque paquet uplink LoRaWAN. SF7 correspond au data rate le plus rapide tandis que SF12 correspond au data rate le plus lent.
  4. Dans le widget DEFINITION D'OBJETS, choisissez quels modèles de capteurs doivent exposer leurs propriétés de mesure (également appelées points) sous forme de registres Modbus. Pour plus de détails, voir Mise à jour de la définition des objets.

  5. Le widget LISTE D'OBJETS affiche la liste des objets Modbus actuellement définis dans votre TAO. Pour en savoir plus, voir Affichage de la liste des objets Modbus.

Mise à jour de la définition des objets

Vous devez définir quels capteurs doivent exposer leurs mesures via le protocole Modbus. Si vous n’avez ajouté aucune définition d’objet, TAO n’exposera aucun objet Modbus pour vos capteurs LoRaWAN.

Pour simplifier l’expérience utilisateur, cette définition n’est pas faite spécifiquement pour chaque capteur LoRaWAN : vous devez simplement la configurer pour chaque modèle de capteur concerné, puis cette définition s’applique à tous les capteurs LoRaWAN associés à ce modèle.

Il existe deux modes de définition des objets, en fonction du modèle de capteur :

  1. Définition avancée

    • Depuis TAO v2.7.0, ce mode s’applique aux modèles de capteurs suivants :

      • Enless (tous les modèles)
      • Watteco (tous les modèles)
      • Thermokon (tous les modèles)
      • MClimate Vicki

      Le support natif d’autres fabricants de capteurs sera progressivement ajouté dans les futures versions.

    • Dans ce mode, les utilisateurs doivent choisir quels points sont exposés sur Modbus. Pour les points encodés en entiers non signés, l’utilisateur peut également choisir entre 16 et 32 bits selon son besoin.

      note

      Vous devez définir au moins un point par modèle de capteur sélectionné. Si un modèle de capteur est sélectionné sans aucun point, TAO n’exposera aucun objet Modbus pour les capteurs associés à ce modèle.

      Exemple :

    • Ce mode permet d’envoyer des commandes downlink via le protocole Modbus. Les points downlink utilisent l’un des types suivants : Holding Register (HR) ou Coil (C). Pour en savoir plus sur l’utilisation de Modbus pour le downlink, voir Envoi de commandes downlink avec Modbus.

  2. Définition basique

    • Ce mode s’applique à tous les modèles LoRaWAN disposant d’un driver de payload valide dans TAO, mais qui ne supportent pas encore le mode de définition avancée.

    • Dans ce mode, les utilisateurs ne peuvent pas choisir quels points sont exposés sur Modbus : tous les points de mesure disponibles sont automatiquement exposés sous forme d’objets Modbus. Les points disponibles sont récupérés à partir des payloads uplink rapportés par chaque capteur. Ainsi, les objets Modbus sont créés à la volée, lorsque le capteur commence à envoyer des paquets uplink.

    • L’envoi de commandes downlink via le protocole Modbus n’est pas supporté dans ce mode. Vous pouvez utiliser MQTT pour la transmission downlink.

conseil

Utilisez le bouton , disponible dans le coin supérieur droit du widget DEFINITION D'OBJETS, pour exporter votre définition d’objet actuelle, puis l’importer sur d’autres serveurs TAO sans devoir la définir manuellement à chaque fois.


  1. Pour ajouter une définition pour un nouveau modèle de capteur, cliquez sur AJOUTER UNE DÉFINITION D'OBJET.

  2. Choisissez un modèle de capteur dans la liste des modèles actuellement utilisés par les capteurs que vous avez déjà ajoutés.

  3. Si le modèle supporte le mode de définition avancée, il vous sera demandé de sélectionner les points de mesure que vous souhaitez exposer sous forme d’objets Modbus.

    Tips
    • Commencez à saisir du texte dans la zone de recherche pour trouver facilement un point.
    • Cliquez sur Tout sélectionner si vous souhaitez ajouter tous les points pris en charge par ce modèle. Vous pouvez ensuite sélectionner ceux que vous ne souhaitez pas conserver et les supprimer en cliquant sur .

    Chaque point est précédé de son type :

    • [HR] pour Holding Registers
    • [DI] pour Discrete Inputs
    • [IR] pour Input Registers
    • [C] pour Coil
  4. Pour ajouter d’autres points, cliquez sur en bas à droite du tableau.

  5. Lorsque vous avez terminé, cliquez sur ENREGISTRER.

  6. À tout moment, vous pouvez mettre à jour votre mappage en cliquant sur MODIFIER.

L’envoi de commandes downlink via Modbus est nativement supporté pour tous les modèles de capteurs qui supportent le mode de définition avancé. Voir la liste complète dans la section précédente.

Les commandes downlink utilisent le mode confirmé LoRaWAN pour garantir une livraison fiable aux capteurs finaux ; elles sont automatiquement retransmises par TAO en cas d’échec de transmission/réception. Jusqu’à 5 commandes peuvent être concaténées dans le même paquet downlink LoRaWAN.

Pour les capteurs prenant en charge le mode LoRaWAN de classe C, lorsqu’une commande d’action downlink est envoyée au capteur, d’autres commandes ne peuvent pas être envoyées tant que la première commande n’a pas été entièrement traitée, soit avec un accusé de réception positif du capteur, soit lorsque le traitement est finalement abandonné après 5 tentatives de transmission sans aucun accusé de réception.

Affichage de la liste des objets Modbus

La liste des objets Modbus, affichant tous les points Modbus avec leur valeur actuelle, est visible dans le widget LISTE D'OBJETS de l’onglet Modbus.
L’horodatage de la dernière mise à jour de chaque point est également affiché dans cette liste. "Jamais" signifie que la valeur par défaut du point est affichée parce que le capteur n’a pas encore transmis de mesure réelle pour celui‑ci.

Vous pouvez filtrer cette liste par nom de capteur, EUI de capteur, nom d’objet, Unit-ID Modbus ou adresse de registre. La recherche au milieu d’une chaîne de caractères est autorisée.

Cliquez sur dans le coin supérieur droit de ce widget pour exporter la liste des points Modbus (filtrés).

Remplacement d’un capteur

Vous pouvez remplacer un ancien capteur LoRaWAN par un nouveau, tout en réutilisant l’Unit-ID et les adresses de registre de l’ancien capteur pour le nouveau. Cela peut être nécessaire si un capteur devient défectueux en raison de problèmes matériels ou logiciels (tels que des problèmes de batterie) ; dans ce cas, vous pouvez facilement le remplacer sans modifier le mappage Modbus côté client.

Suivez les étapes suivantes pour remplacer un capteur :

  1. Ajoutez le nouveau capteur à votre ThingPark All-in-One, comme décrit dans Provisionnement de vos capteurs.
  2. Depuis le panneau de gauche, cliquez sur Flux de données, puis allez en bas de l’onglet Modbus, dans le widget OPERATIONS SUR LA LISTE D'OBJETS, puis cliquez sur Remplacer.
  3. Renseignez le DevEUI de votre ancien capteur et du nouveau, puis cliquez sur Valider.
  4. Lorsque vous avez terminé, supprimez l’ancien capteur de TAO :
    1. Depuis le panneau de gauche, cliquez sur Capteurs, puis recherchez le capteur par son DevEUI,
    2. Cliquez sur ... dans la dernière colonne de la liste, puis sur Supprimer et confirmez votre action.