bg

Comment journaliser MODBUS RTU vers une base de données MySQL

Un guide complet pour interroger les périphériques série MODBUS RTU et exporter les données des registres directement dans une base de données MySQL.

1. Configuration du protocole : MODBUS RTU

Type de communication : Interrogation active (Maître/Esclave sur RS485/COM)

Comme MODBUS transmet les données en binaire, l’analyseur doit extraire des registres de maintien spécifiques (par ex., 40001) ou des registres d’entrée. Si votre capteur utilise des nombres à virgule flottante 32 bits, configurez l’analyseur pour lire deux registres adjacents de 16 bits et appliquer l’échange d’octets (endianness) correct pour reconstruire la valeur flottante.

Appliquez cette configuration de base pour la connexion série :

{
  "port": "COM3",
  "baud_rate": 9600,
  "data_bits": 8,
  "stop_bits": 1,
  "parity": "none",
  "protocol": "modbus_rtu_serial",
  "poll_interval_ms": 1000
}
Sélection du plugin MODBUS RTU pour interroger et analyser les données.

Sélection du plugin MODBUS RTU pour interroger et analyser les données.

File d’attente des requêtes MODBUS RTU : configuration personnalisée pour lire différents registres.

File d’attente des requêtes MODBUS RTU : configuration personnalisée pour lire différents registres.

Prêt à connecter MODBUS RTU à MySQL ?

2. Configuration de la base de données : MySQL

Vous aurez besoin de MySQL Connector/ODBC installé sur la machine exécutant le Data Logger. Créez un DSN système pointant vers votre instance de serveur MySQL.

Utilisez le script SQL suivant pour créer votre table cible. Nous recommandons d'utiliser le moteur InnoDB pour gérer les insertions simultanées à haute fréquence sans verrouillage de table.

CREATE TABLE sensor_data (
  id INT AUTO_INCREMENT PRIMARY KEY,
  log_timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
  device_id VARCHAR(50),
  register_value FLOAT
) ENGINE=InnoDB;
Plugin MySQL pour exporter des données.

Plugin MySQL pour exporter des données.

Paramètres de connexion à la base de données MySQL.

Paramètres de connexion à la base de données MySQL.

Instructions SQL INSERT dans une file d'attente avec des paramètres personnalisés.

Instructions SQL INSERT dans une file d'attente avec des paramètres personnalisés.

3. Dépannage spécifique au protocole

  • Erreurs de temporisation ou CRC: Contrairement à TCP, le MODBUS RTU série repose sur une temporisation stricte. Vérifiez que vos câbles RS485 A/B ne sont pas inversés et que le débit en bauds et l’ID du périphérique dans le logiciel correspondent exactement à l’appareil esclave.
  • L’appareil renvoie le code d’erreur « Illegal address »: Essayez d’utiliser la fonction n° 3 au lieu de la fonction n° 4 dans votre requête MODBUS. Sinon, vérifiez que vous utilisez la bonne adresse de registre. Essayez de spécifier un décalage absolu (pas une adresse logique comme 40001).
  • J’ai plusieurs valeurs que je souhaite exporter sur une seule ligne de données. Actuellement, l’enregistreur écrit une valeur par ligne: Vous devez activer l’option « Exporter toutes les données à la fois » dans les paramètres du plugin MODBUS.

4. Dépannage spécifique à la base de données

  • Le serveur MySQL a disparu: Si votre périphérique série est inactif pendant la nuit, MySQL fermera la connexion. Activez le paramètre « Maintenir la connexion active » dans le module d'exportation ODBC du Data Logger.
  • Comment puis-je insérer ou mettre à jour une ligne de données pour mon appareil ?: Vous pouvez utiliser n'importe quelle requête SQL dans notre plugin « SQL Database Pro ». Dans MySQL, vous pouvez facilement exécuter le SQL suivant : « INSERT INTO ....... ON DUPLICATE KEY .... UPDATE .... ».
  • Je souhaite écrire les données de chacun de mes appareils dans une table différente. Comment puis-je le faire ?: Dans le plugin « SQL Database Pro », vous pouvez utiliser un espace réservé dans votre SQL. Par exemple, « INSERT INTO SerialData%DEVICE_ID% (....) ». Avant d'exécuter le SQL, le logger remplace %DEVICE_ID% par la valeur correspondante des données analysées, et la table de destination réelle variera (SerialData1, SerialData2, etc.).

Prêt à connecter MODBUS RTU à MySQL ?

Produit Acheter Télécharger Assistance Contact Plan du site
Droits d’auteur © 1999 - 2026, AGG Software.
Tous droits réservés.. Conditions d'utilisation | Politique de confidentialité