Auslesen und Protokollieren von Wasserzählern in PostgreSQL
Eine vollständige Anleitung zum Auslesen von Daten aus RS232-Wasserzählern und zum Exportieren geparster Werte direkt in eine PostgreSQL-Datenbank mit eigener Datenbankstruktur.
1. Protokollkonfiguration: Durchfluss- und Wasserzähler
Kommunikationstyp: Aktive Abfrage (M-Bus / MODBUS)
Industriewasserzähler kommunizieren in der Regel über M-Bus (Meter-Bus) über RS232/RS485 mit einem Pegelumsetzer. Verwenden Sie das Plugin „M-Bus Data Parser“. Der Logger sendet einen REQ_UD2-Rahmen (Anforderung für Klasse-2-Daten) an die spezifische Zähleradresse, und der Parser dekodiert das antwortende Telegramm in die Variablen Volumen, Durchflussrate und Temperatur.
Wenden Sie diese Basiskonfiguration für die serielle Verbindung an:
{
"port": "COM2",
"baud_rate": 2400,
"data_bits": 8,
"stop_bits": 1,
"parity": "even",
"protocol": "mbus_en13757",
"poll_interval_ms": 60000
}
M-Bus-Plugin-Auswahl zum Auslesen von Wasserzählerdaten.

M-Bus-Plugin-Konfiguration.
Bereit, Durchfluss- und Wasserzähler 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.

Verbindungseinstellungen für die PgSQL-Datenbank.

SQL-Warteschlange zum Einfügen von Daten in Ihre Tabelle.
3. Protokollspezifische Problembehandlung
- Empfang von unbrauchbaren Hex-Daten anstelle von M-Bus-Telegrammen: M-Bus erfordert zwingend gerade Parität (Even). Überprüfen Sie Ihre COM-Port-Einstellungen im Datenlogger und stellen Sie sicher, dass 8 Datenbits, 1 Stoppbit und gerade Parität eingestellt sind.
- Der Logger zeigt nicht lesbare Daten (seltsame Zeichen) anstelle der erwarteten HEX-Codes an: Sie müssen den Modus „Datenansicht“ in den Logger-Einstellungen ändern. Wählen Sie „Anzeigen als #XX“ für alle Byte-Bereiche.
- Welche Werte kann der Logger auslesen: M-Bus ermöglicht es dem Logger, alle verfügbaren Werte auf einmal auszulesen. Der Logger exportiert sie als separate Werte (Variablen).
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.