bg

Interrogation et journalisation des périphériques MODBUS RTU vers PostgreSQL

Un guide complet pour lire les données des périphériques série MODBUS RTU et exporter les valeurs analysées directement dans une base de données PostgreSQL avec votre structure de base de données.

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 à PostgreSQL ?

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

Installez le pilote ODBC PostgreSQL (psqlODBC) sur le serveur exécutant Advanced Serial Data Logger. Créez un DSN système ou utilisez une chaîne de connexion directe dans le plugin SQL Database Professional comme 192.168.1.100:mabase.

Utilisez le script SQL suivant pour créer votre table cible. Assurez-vous que votre rôle utilisateur dispose des privilèges INSERT pour le schéma cible. Utilisez le type de données NUMERIC pour éviter les pertes de précision en virgule flottante des données brutes des capteurs.

CREATE TABLE rs232_logs (
  id SERIAL PRIMARY KEY,
  log_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  device_name VARCHAR(50),
  extracted_value NUMERIC(10, 2)
);
Sélection du connecteur de base de données PostgreSQL.

Sélection du connecteur de base de données PostgreSQL.

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

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

File d'attente SQL pour insérer des données dans votre table.

File d'attente SQL pour insérer des données dans votre table.

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

  • FATAL : échec de l'authentification par mot de passe: Vérifiez que votre fichier pg_hba.conf autorise les connexions depuis l'adresse IP du Data Logger (si distant) et que la méthode d'authentification est définie sur md5 ou scram-sha-256.
  • J'ai deux enregistrements similaires avec le même horodatage dans ma base de données pour chaque enregistrement: Vérifiez que vous n'utilisez pas deux plugins d'exportation de données en même temps. Par exemple, ODBC Database et SQL Database Pro, car ils peuvent exporter vos données en parallèle.
  • J'ai installé les pilotes ODBC et créé un DSN, mais votre logiciel ne me permet pas de le sélectionner.: Notre logiciel nécessite des pilotes ODBC 32 bits. Par conséquent, vous devez installer cette version des pilotes pour créer un DSN dans l'administrateur ODBC 32 bits. Vous pouvez utiliser le bouton « Setup » dans le plugin « ODBC Database » pour le faire.

Prêt à connecter MODBUS RTU à PostgreSQL ?

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é