Aller au contenu

DevIOIEModbus

Introduction

L'interface DevIOIEModbus permet l'intégration d'équipements utilisant le protocole Modbus dans l'environnement DevIO. Elle supporte Modbus TCP/IP pour la communication avec des automates, capteurs, variateurs et autres équipements industriels.

Cas d'usage typiques : - Supervision d'automates industriels (Schneider, Siemens, Omron, etc.) - Collecte de données depuis des capteurs intelligents - Pilotage de variateurs de vitesse et d'actionneurs - Interfaçage avec des modules I/O déportés


Compatibilité et prérequis

  • Versions supportées : DevIO v6.0 et supérieures
  • Environnements : Windows (toutes versions compatibles DevIO)
  • Dépendances :
  • Équipements compatibles Modbus TCP/IP
  • Interface Ethernet sur les équipements
  • Accès réseau vers les équipements cibles

Note

Pour vérifier la compatibilité d'un équipement, il suffit qu'il soit équipé d'une interface Ethernet et qu'il supporte le protocole Modbus TCP/IP.


Fonctionnalités supportées

  • Lecture/écriture de bits : Coils (sorties) et Discrete Inputs (entrées)
  • Lecture/écriture de registres : Input Registers (lecture seule) et Holding Registers (lecture/écriture)
  • Gestion de blocs : Lecture/écriture de groupes de données en une seule transaction
  • Types de données : Booléens, entiers, flottants, caractères
  • Gestion des ordres : Big-endian (Motorola) et Little-endian (Intel)
  • Connexions multiples : Gestion de plusieurs équipements simultanément
  • Support FTP : Transfert de fichiers avec les équipements compatibles
  • Historiques : Récupération de données historiques au format CSV

Configuration de l'interface

Paramètres de ligne de commande

Paramètre Description Valeur par défaut
-SERVER Nom du serveur DevIO (obligatoire)
-NAME Nom interne de l'interface (obligatoire)
-HANDLE Handle de l'interface -
-NUMBER Numéro d'interface -
-DLL DLL Modbus à utiliser TCPIP
-HASFTP Support FTP activé (flag)
-USEADR Utiliser l'adresse dans les requêtes (flag)
-CB Mode callback (flag)
-1 Mode single (une connexion) (flag)
-FFR FTP : interdire la réutilisation (flag)
-FUFA FTP : utiliser fresh always (flag)
-FUFF FTP : utiliser fresh on first (flag)
-FMC FTP : nombre max de connexions -1
-MOD Adresse Modbus de l'équipement 255
-NET Réseau FTP -
-ADDR Adresse FTP -
-ONE Base d'adressage à 1 (flag)
-NDE Pas de déconnexion sur erreur (flag)
-ALARMS Récupération d'alarmes (flag)
-DEL Supprimer après transfert (flag)
-SEP Séparateur CSV ,
-DEC Séparateur décimal .
-HEAD Fichier CSV avec en-tête (flag)
-RNT Renommer vers -
-LOG Activer les logs détaillés (flag)

Exemple de configuration

DevIOIEModbus.exe -SERVER MonServeurDevIO -NAME Modbus_Interface1 -DLL TCPIP -MOD 1 -ONE

Configuration du modèle d'équipement dans DevIO Studio

Création de l'interface

  1. Ouvrir votre projet dans DevIO Studio
  2. Clic-droit sur Interfaces d'échanges > Nouvelle Interface d'échange
  3. Renseigner les champs principaux :
  4. Mnémonique : Nom logique de l'interface (ex : MODBUS1)
  5. Description : (ex : Interface Modbus pour automates)
  6. Exécutable : DEVIOIEModbus.exe
  7. Services empilés : 3 (par défaut)
  8. Temps attente réponse : 5000 ms
  9. Réessai : 3
  10. Famille d'évènement : 6

Configuration de l'interface Modbus Écran de configuration de l'interface Modbus dans DevIO Studio

Création de l'équipement

  1. Créer un nouvel équipement dans DevIO Studio
  2. Sélectionner le type : Interface d'échange
  3. Choisir l'interface : DevIOIEModbus
  4. Configurer les paramètres :
  5. Adresse Modbus : ID de l'esclave (1-247)
  6. Adresse IP : Adresse réseau de l'équipement
  7. Port : Port Modbus TCP (généralement 502)

Configuration des canaux

  • Adresse canal : Adresse Modbus du registre ou de la bobine
  • Type de données : BOOL (bits), USHORT, FLOAT, etc.
  • Mode : Lecture, écriture ou lecture/écriture
  • Base d'adressage : 0 ou 1 selon l'équipement

Configuration des blocs de données

Qu'est-ce qu'un bloc ?

Un bloc représente un ensemble de données Modbus échangées en une seule transaction avec l'équipement. Quand on lit ou écrit une variable d'un bloc, c'est tout le bloc qui est lu ou écrit.

Types de blocs Modbus

Type Mnémonique Description Accès
Coils C Bits de sortie Lecture/Écriture
Discrete Inputs D Bits d'entrée Lecture seule
Input Registers I Registres d'entrée (16 bits) Lecture seule
Holding Registers H Registres de maintien (16 bits) Lecture/Écriture

Création d'un bloc

  1. Clic-droit sur l'équipement > Nouveau bloc
  2. Choisir le type de bloc approprié
  3. Configurer les paramètres :
  4. Mnémonique : Nom logique du bloc
  5. Description : Description du bloc
  6. Propriétés : Entrée, Sortie ou Entrée/Sortie
  7. Périodicité : Temps entre chaque lecture
  8. Adresse : Format [Type][Adresse]/[Quantité]

Exemples d'adressage de blocs

  • [C50/100] : 100 bits de sortie à partir de l'adresse 50
  • [D10/10] : 10 bits d'entrée à partir de l'adresse 10
  • [I100/70] : 70 registres d'entrée à partir de l'adresse 100
  • [H0/16] : 16 registres de maintien à partir de l'adresse 0

Configuration d'un bloc Coils Configuration d'un bloc Coils (bits de sortie)

Configuration d'un bloc Holding Registers Configuration d'un bloc Holding Registers


Configuration des données dans un bloc

Adressage interne au bloc

Chaque variable d'un bloc est positionnée grâce à une adresse interne. L'adressage interne commence toujours à 0, indépendamment de l'adresse Modbus du bloc.

Adressage des mots (registres)

  • [W2] : Mot 2 du bloc
  • [W1/3] : 4e bit du mot 1
  • [W4/0/8] : 8 bits à partir du bit 0 du mot 4

Adressage des bits

  • [0] : Octet 0 du bloc
  • [1/5] : Bit 5 de l'octet 1
  • [2/3/4] : 4 bits à partir du bit 3 de l'octet 2

Types de données supportés

Format Nom complet Taille Plage de valeurs
byte Octet 1 octet 0 à 255
char Caractère signé 1 octet -128 à 127
unsigned char Caractère non signé 1 octet 0 à 255
short Entier court signé 2 octets -32 768 à 32 767
unsigned short Entier court non signé 2 octets 0 à 65 535
int Entier standard signé 4 octets ±2,1 milliards
unsigned int Entier standard non signé 4 octets 0 à 4,3 milliards
float Flottant simple précision 4 octets ±3,4×10^38
double Flottant double précision 8 octets ±1,7×10^308

Création d'une donnée

  1. Double-clic sur le bloc concerné
  2. Clic-droit > Nouvelle donnée
  3. Choisir le type (Booléen ou Numérique)
  4. Configurer les paramètres :
  5. Mnémonique : Nom de la variable
  6. Description : Description de la variable
  7. Adresse : Adresse interne au bloc
  8. Format : Type de données (pour les numériques)
  9. Paramètres : Options spécifiques

Configuration d'une donnée booléenne Configuration d'une donnée booléenne

Configuration d'une donnée numérique Configuration d'une donnée numérique


Accès unitaire aux données

Déclaration d'entrée/sortie unitaire

Les données peuvent être lues ou écrites individuellement, sans passer par un bloc. Seules les variables de type BOOL ou USHORT peuvent être déclarées unitairement.

Format d'adressage unitaire

  • C1000 : Bit de sortie (Coil) à l'adresse 1000
  • D200 : Bit d'entrée (Discrete Input) à l'adresse 200
  • I100 : Registre d'entrée (Input Register) à l'adresse 100
  • H0 : Registre de maintien (Holding Register) à l'adresse 0

Utilisation et supervision

Démarrage de l'interface

L'interface se lance automatiquement avec DevIO ou peut être démarrée manuellement :

DevIOIEModbus.exe -SERVER MonServeur -NAME Modbus_Interface -DLL TCPIP -MOD 1

Surveillance des connexions

  • État de connexion : Visible dans DevIO Studio
  • Qualité des données : Indicateur de validité Modbus
  • Performances : Temps de réponse et taux d'erreur

Surveillance et diagnostic

  • Utiliser la console de logs pour diagnostiquer les problèmes de communication
  • Vérifier la connectivité réseau et les paramètres d'adressage
  • Surveiller les timeouts et les erreurs de communication

Astuces et bonnes pratiques

  • Nommage : Utiliser des noms explicites pour les interfaces, équipements et variables
  • Adressage : Documenter les correspondances entre adresses Modbus et variables DevIO
  • Performance : Optimiser la taille des blocs selon les besoins (pas trop grand, pas trop petit)
  • Sécurité : Utiliser des mots de passe pour sécuriser les connexions si nécessaire
  • Test : Tester la communication avant la mise en production

FAQ et dépannage

Problèmes courants

Q : L'équipement Modbus ne répond pas - Vérifier l'adresse IP et le port (généralement 502) - Contrôler l'adresse Modbus de l'esclave (-MOD) - Tester la connectivité réseau (ping)

Q : Erreurs de lecture/écriture - Vérifier les adresses des registres/bobines - Contrôler les droits d'accès sur l'équipement - Vérifier la base d'adressage (0 ou 1)

Q : Problèmes de types de données - Vérifier l'ordre des octets (Big/Little endian) - Contrôler la taille des registres (16/32 bits) - Adapter le type de données DevIO

Diagnostic

  • Utiliser -LOG pour activer les traces détaillées
  • Consulter les logs Modbus pour les codes d'erreur
  • Utiliser un simulateur Modbus pour les tests

Annexes et références utiles