bg

Auslesen und Protokollieren von MODBUS-RTU-Geräten in PostgreSQL

Eine vollständige Anleitung zum Auslesen von Daten aus MODBUS-RTU-Seriengeräten und zum Exportieren geparster Werte direkt in eine PostgreSQL-Datenbank mit eigener Datenbankstruktur.

1. Protokollkonfiguration: MODBUS RTU

Kommunikationstyp: Aktive Abfrage (Master/Slave über RS485/COM)

Da MODBUS Daten binär überträgt, muss der Parser bestimmte Holding-Register (z. B. 40001) oder Input-Register extrahieren. Wenn Ihr Sensor 32-Bit-Gleitkommazahlen verwendet, konfigurieren Sie den Parser so, dass er zwei benachbarte 16-Bit-Register liest und das korrekte Byte-Swapping (Endianness) anwendet, um den Float-Wert zu rekonstruieren.

Wenden Sie diese Basiskonfiguration für die serielle Verbindung an:

{
  "port": "COM3",
  "baud_rate": 9600,
  "data_bits": 8,
  "stop_bits": 1,
  "parity": "none",
  "protocol": "modbus_rtu_serial",
  "poll_interval_ms": 1000
}
MODBUS-RTU-Plugin-Auswahl zur Abfrage und zum Parsen von Daten.

MODBUS-RTU-Plugin-Auswahl zur Abfrage und zum Parsen von Daten.

MODBUS-RTU-Abfragewarteschlange: benutzerdefinierte Konfiguration zum Lesen verschiedener Register.

MODBUS-RTU-Abfragewarteschlange: benutzerdefinierte Konfiguration zum Lesen verschiedener Register.

Bereit, MODBUS RTU mit PostgreSQL zu verbinden?

2. Datenbankeinrichtung: PostgreSQL

Installieren Sie den PostgreSQL ODBC-Treiber (psqlODBC) auf dem Server, auf dem Advanced Serial Data Logger ausgeführt wird. Erstellen Sie einen System-DSN oder verwenden Sie eine direkte Verbindungszeichenfolge im SQL Database Professional-Plugin wie 192.168.1.100:mydatabase.

Verwenden Sie das folgende SQL-Skript, um Ihre Zieltabelle zu erstellen. Stellen Sie sicher, dass Ihre Benutzerrolle INSERT-Berechtigungen für das Zielschema besitzt. Verwenden Sie den NUMERIC-Datentyp, um Genauigkeitsverluste bei Gleitkommazahlen aus Rohsensordaten zu vermeiden.

CREATE TABLE rs232_logs (
  id SERIAL PRIMARY KEY,
  log_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  device_name VARCHAR(50),
  extracted_value NUMERIC(10, 2)
);
Auswahl des PostgreSQL-Datenbankkonnektors.

Auswahl des PostgreSQL-Datenbankkonnektors.

Verbindungseinstellungen für die PgSQL-Datenbank.

Verbindungseinstellungen für die PgSQL-Datenbank.

SQL-Warteschlange zum Einfügen von Daten in Ihre Tabelle.

SQL-Warteschlange zum Einfügen von Daten in Ihre Tabelle.

3. Protokollspezifische Problembehandlung

  • Timeout- oder CRC-Fehler: Im Gegensatz zu TCP ist serielles MODBUS RTU auf strikte Zeitvorgaben angewiesen. Überprüfen Sie, ob Ihre RS485-A/B-Leitungen nicht vertauscht sind und dass die Baudrate und die Geräte-ID in der Software exakt mit dem Slave-Gerät übereinstimmen.
  • Das Gerät gibt den Fehlercode „Illegal address“ zurück: Versuchen Sie, in Ihrer MODBUS-Anforderung Funktion #3 anstelle von Funktion #4 zu verwenden. Überprüfen Sie andernfalls, ob Sie die korrekte Registeradresse verwenden. Versuchen Sie, einen absoluten Offset anzugeben (keine logische Adresse wie 40001).
  • Ich habe mehrere Werte, die ich in einer Datenzeile exportieren möchte. Der Logger schreibt jedoch einen Wert pro Zeile: Sie müssen die Option „Alle Daten auf einmal exportieren“ in den MODBUS-Plugin-Einstellungen aktivieren.

4. Datenbankspezifische Problembehandlung

  • FATAL: Passwortauthentifizierung fehlgeschlagen: Überprüfen Sie, ob Ihre pg_hba.conf-Datei Verbindungen von der IP-Adresse des Data Loggers zulässt (bei Remote-Zugriff) und ob die Authentifizierungsmethode auf md5 oder scram-sha-256 eingestellt ist.
  • Ich habe für jeden Datensatz zwei ähnliche Einträge mit demselben Zeitstempel in meiner Datenbank: Überprüfen Sie, ob Sie nicht zwei Datenexport-Plugins gleichzeitig verwenden. Zum Beispiel ODBC Database und SQL Database Pro, da diese Ihre Daten parallel exportieren können.
  • Ich habe ODBC-Treiber installiert und einen DSN erstellt, aber Ihre Software erlaubt mir nicht, diesen auszuwählen.: Unsere Software benötigt 32-Bit-ODBC-Treiber. Daher sollten Sie diese Treiberversion installieren, um einen DSN im 32-Bit-ODBC-Administrator zu erstellen. Sie können dazu die Schaltfläche 'Setup' im Plugin 'ODBC Database' verwenden.

Bereit, MODBUS RTU mit PostgreSQL zu verbinden?

Produkt Kaufen Download Support Kontakte Seitenübersicht
Urheberrecht © 1999 - 2026, AGG Software.
Alle Rechte vorbehalten.. Nutzungsbedingungen | Datenschutzerklärung