Auslesen und Protokollieren von Laborgeräten in PostgreSQL
Eine vollständige Anleitung zum Auslesen von Daten aus RS232-Laborgeräten und zum Exportieren geparster Werte direkt in eine PostgreSQL-Datenbank mit eigener Datenbankstruktur.
1. Protokollkonfiguration: Laborinstrumente
Kommunikationstyp: Passives Mithören / Bidirektional (RS232 oder USB Virtual COM)
Spektralphotometer, Titratoren und Blutanalysegeräte verwenden häufig proprietäre ASCII-Formate oder ASTM-E1381/E1394-Protokolle. Wenn das Instrument rohes ASCII ausgibt, verwenden Sie den „ASCII Data Parser“. Wenn es ASTM verwendet, müssen Sie das dedizierte „ASTM Data Parser“-Plugin verwenden, um Header (H)-, Patient (P)-, Auftrag (O)- und Ergebnis (R)-Datensätze korrekt zu entpacken.
Wenden Sie diese Basiskonfiguration für die serielle Verbindung an:
{
"port": "COM4",
"baud_rate": 9600,
"data_bits": 8,
"stop_bits": 1,
"parity": "none",
"parser_type": "astm_e1381",
"ack_nak_handshake": true
}
Laborgeräte-Datenparser.

ASTM-Protokollparser-Einstellungen.
Bereit, Laborinstrumente 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
- Das Instrument sendet überhaupt keine Daten: Einige Instrumente senden Daten nur, wenn Sie die Taste „Print“ darauf drücken, oder benötigen einen speziellen Befehl vom Host-Computer.
- Das Instrument sendet einen Datensatz und stellt dann die Übertragung ein: Viele Laborinstrumente benötigen nach dem Empfang eines Datenblocks ein ACK-Zeichen (Acknowledge). Aktivieren Sie die Funktion „ACK/NAK-Handshake“ im Datenlogger, damit dieser antwortet und das Instrument zur Übertragung des nächsten Blocks veranlasst.
- Das Programm extrahiert nicht alle Daten. Einige Felder werden ausgelassen: Standardmäßig extrahiert der Logger nur signifikante Daten. Sie können einen eigenen Parser mit dem ASCII-Data-Parser-Plugin erstellen oder unser Support-Team kontaktieren.
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.