Modbus

#Description

Plugin permettant de lire et écrire sur vos équipements ModbusTCP/IP et RTU Non compatible Wago a l heure actuelle

Configuration du plugin

Après téléchargement du plugin, il faut tout d’abord activer celui-ci, comme tout plugin Jeedom :

config

Ensuite, il faut lancer l’installation des dépendances (même si elles apparaissent OK) :

dependances

Enfin, il faut démarrer le démon :

demon

Rien n’est à modifier dans le champ « Port socket interne » de la section « Configuration ».

socket

Dans ce même onglet, il vous faut choisir la valeur du repos entre l’actualisation de vos équipements (par défaut 5 sec)

Vous pouvez aussi choisir de mettre un Retry pour re-executer la requête sur une commande/équipement qui serait en erreur (par défaut False) Vous pouvez également choisir le nombre de tentatives et le délai entre ces tentatives.

:warning: Choix Niveau de Log de la librairie Modbus :

Par defaut, il est configuré sur ERROR, la librairie étant verbeuse Vous pouvez changer son niveau : il vous faudra sauvegarder et redemarrer le demon

Utilisation du plugin

IMPORTANT :

Pour utiliser le plugin, il vous faut connaitre les parametres de votre entrées/sorties de vos peripheriques modbus (format des données, ordre des bits, etcc…)

Pour les commandes, il y a des parametres a selectionner :

Details des parametres :

IMPORTANT :

Etant donné le temps passé à devoir configurer parfois certains équipements, il est possible d’exporter les commandes d’un équipement deja créé, pour le télécharger en local en .json.

Vous pourrez donc l’importer soit sur une autre box facilement sur un nouvel équipement du même type (juste à changer ce qui differe au niveau de sa connexion)

Sur la page d’un équipement, en bas à droite, vous avez cet encart :

dependances

On clique sur Liste des commandes à exporter; une fenetre s’ouvre avec les commandes existantes sur cet équipement:

dependances

Vous pouvez tout les sélectionner si besoin grace au bouton en haut de la fenetre. Quand les commandes sont choisies, cliquez sur Valider.

Vous verrez désormais les commandes choisies et pretes à etre exportées dans cet encart :

dependances

Il vous suffit de cliquez sur Telecharger Config des commandes qui vient d’apparaitre.

Pour importer les commandes sur un équipement : cliquez en haut a droit d l’equipement sur le bouton Import Json :

dependances

Vous pouvez aussi choisir directement un modele d’equipement disponible dans la configuration du plugin, pour charger des commandes prévues dans ce modèle; Choisir le modele choisi, puis Valider. Ensuite vous pouvez Sauvegarder.

DETAILS SUR MODBUS :

La taille d’un registre Modbus est de 2bytes(2 octets), soit 16bits

COMMANDES DE LECTURE :

Pour les entrées Coils :

Pour Fc2 Read Discrete :

Au retour de lecture, vous aurez une commande de type string avec la valeur des bits demandés

Pour les Holdings Registers et les Inputs Registers:

Certains registres ne peuvent se lire qu’en lisant plusieurs registres en meme temps sur une meme commande :

exemple : On créé une commande,choisir Info et soustype autre, en specifiant 10 registres; Voir Parametres Specifique en fin de documentation

COMMANDES D’ECRITURE:

Sur votre équipements, par défaut il y aura 3 commandes de type Action/message créées; Ecriture MultiRegistre, Ecriture Bit et Ecriture multicoils

IMPORTANT :

Leur principe de fonctionnement:

cmdEcritures

:warning: NOUVELLE METHODE ECRITURE SUR UN BIT :

Pour changer un bit specifique sur un registre : vous pouvez créé une commande de type Action, et choisir la Fonction Code ‘Ecriture Bit’. Cela vous fera apparaitre seulement les 2 champs a remplir : Registre de départ, et position du bit. En sauvegardant, cela va créé 2 commandes d’action : une pour envoyer 0, et une pour envoyer 1, et cela supprimera celle que vous avez configurée. Les deux nouvelles commandes auront leur nom de type :

EcritureBit_Registre(Numduregistre)_Position(PositionduBit)_1 et EcritureBit_Registre(Numduregistre)_Position(PositionduBit)_0

CHANGEMENT DE BITS D’UN REGISTRE (Ancienne methode):

Pour changer le bit d’un registre, vous devez utiliser la commande message EcritureBit; dans la configuration de la commande, dans le champ Registre de départ, vous devez choisir le numero du registre à écrire. Pas besoin d’autre configuration Ensuite, sur le corps du message de la commande sur le dashboard, vous devez utiliser la syntaxe suivante : valeurBit&indexbit Valeur bit possible 0 ou 1 indexBit est la valeur entre 0 et 15 (valeurs comprises) Bien se referer a la documentation de votre équipement pour l’index du bit à changer

NOUVELLE ECRITURE SUR PLUSIEURS REGISTRES A UNE REQUETE:

  - En créant une commande Action -> sous-type Autre, puis en choisissant Fc16, et en remplissant le Start Register et la nouvelle ligne Tableau Registre dans le Paramètrage de la commande, on pourra executer cette commande pour écrire a partir du registre du depart les valeurs entrées :

  Ex : Start Register : 10
  Ligne Tableau Registre : 10-45-22-25.6-2360
  On enverra sur les registres 10,11,12,13 et 14, les valeurs 10,45,22,22.6 et 2360
  Il faut bien séparer les valeurs par un - , et pour les nombres décimaux, bien mettre un .

Pour changer les valeurs sur les registres, il faut utiliser cette syntaxe:

Pour les types float, écrire la valeur comme ci dessus, avec un .

IMPORTANT :

Certains automates n’ont pas la fonction fc06 Voir Parametres specifiques en fin de documentation

Pour écrire sur un Coil :

Exemple pour le registre 1 On:

Exemple pour le registre 1 Off:

En agissant sur ces commandes action sur votre dashboard, vous enverrez donc True ou False à vos Coils.

Pour écrire sur un Holding Register :

Quand une écriture s’effectue, que cela réussisse ou non, un message apparait sur Jeedom. Vous pouvez désactiver/activer ce message depuis la configuration du plugin.

Paramètres Spécifiques

RETOUR HEXA : Pour avoir une commande qui retourne la valeur du registre en HexaDecimal (pour une commande qui remonte les erreurs d’un équipement par exemple), il vous créer votre commande, la paramètrer comme habituellement, et cocher Retour Hexa.

Cela créera au retour d’état une nouvelle commande qui portera le nom de la commande originale, suivi de _HEXAVALUE

LECTURE MULTIREGISTRES : en cochant LectureMultiRegistres, cela va créé automatiquement autant de nouvelles commandes que le nombre precisé dans Nombre de registre, reprenant le nom de la commande originale, plus l’id de la commande en iteration. Vous pouvez bien attendu renommer les commandes; à la lecture de la commande originale, sa valeur contiendra une chaine de caractere des 10 valeurs des registres, et mettra à jour les 10 commandes correspondantes.

Fc16 REGISTRES NON SUIVIS : Certains automates n’ont pas la fonction fc06 Vous pouvez créér une commande Action, sous type Message, et choisir fc16 Cocher Fc16 Registre non suivis Dans le dashboard, il faut utiliser cette syntaxe : registre de depart ! valeur & nbregistres séparé par un |

Ex: 7!122.5&2 10!22&2

On va écrire à partir du registre 7, la valeur 122.5 sur 2 registres et également a partir du registre 10, la valeur 22, sur 2 registres

OPERATION SUR COMMANDE : Pour une opération sur le retour de value : dans le champ Opération sur la commande, vous pouvez remplir une opération mathématique en mettant le tag #value# pour indiquer la valeur de cette commande : exemple : (#value# / 10 ) * 2 Le calcul sera effectué sur le retour de data de cette commande. Bien utiliser * pour les multiplications

Lecture Bits Registre : En choisissant cela sur une commande Info, cela va créer une commande de type info, representant les 16 bits de ce registre ; cette nouvelle commande est crée a la remontée des valeurs pour la premiere fois, et est ensuite mise à jour a chaque nouvelle remontée.

Import/Export Commandes XLSX

Après la création d’un équipement, vous pouvez importer un fichier xlsx pour la création de vos commandes Le fichier template se trouver dans plugins/modbus/data/templateXlsx/exportModbus.xls Vous pouvez y acceder et le télécharger via votre Jeedom -> Reglages->Systeme->Editeur de fichiers

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.