Consulta y registro de contadores de agua en PostgreSQL
Una guía completa para leer datos de contadores de agua RS232 y exportar los valores analizados directamente a una base de datos PostgreSQL con su estructura de base de datos.
1. Configuración del protocolo: Caudalímetros y contadores de agua
Tipo de comunicación: Sondeo activo (M-Bus / MODBUS)
Los contadores de agua industriales suelen comunicarse a través de M-Bus (Meter-Bus) por RS232/RS485 mediante un convertidor de nivel. Utilice el complemento «M-Bus Data Parser». El registrador envía una trama REQ_UD2 (solicitud de datos de clase 2) a la dirección específica del contador, y el analizador decodificará el telegrama de respuesta en las variables de volumen, caudal y temperatura.
Aplique esta configuración base para la conexión serie:
{
"port": "COM2",
"baud_rate": 2400,
"data_bits": 8,
"stop_bits": 1,
"parity": "even",
"protocol": "mbus_en13757",
"poll_interval_ms": 60000
}
Selección del complemento M-Bus para leer datos del contador de agua.

Configuración del complemento M-Bus.
¿Listo para conectar Caudalímetros y contadores de agua a PostgreSQL?
2. Configuración de la base de datos: PostgreSQL
Instale el controlador ODBC de PostgreSQL (psqlODBC) en el servidor que ejecuta Advanced Serial Data Logger. Cree un DSN de sistema o utilice una cadena de conexión directa en el complemento SQL Database Professional como 192.168.1.100:mibasededatos.
Utilice el siguiente script SQL para crear su tabla de destino. Asegúrese de que su rol de usuario tenga privilegios INSERT para el esquema de destino. Utilice el tipo de datos NUMERIC para evitar la pérdida de precisión de punto flotante en los datos brutos de los sensores.
CREATE TABLE rs232_logs ( id SERIAL PRIMARY KEY, log_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, device_name VARCHAR(50), extracted_value NUMERIC(10, 2) );

Selección del conector de base de datos PostgreSQL.

Configuración de conexión de la base de datos PgSQL.

Cola SQL para insertar datos en su tabla.
3. Solución de problemas específicos del protocolo
- Recepción de datos hexadecimales basura en lugar de telegramas M-Bus: M-Bus requiere estrictamente paridad par. Verifique la configuración del puerto COM en el registrador de datos y asegúrese de que esté configurado con 8 bits de datos, 1 bit de parada y paridad par.
- El registrador muestra datos ilegibles (caracteres extraños) en lugar de los códigos HEX esperados: Debe cambiar el modo «Vista de datos» en la configuración del registrador. Seleccione «Mostrar como #XX» para todos los rangos de bytes.
- ¿Qué valores puede leer el registrador?: M-Bus permite que el registrador lea todos los valores disponibles de una vez. El registrador los exporta como valores separados (variables).
4. Solución de problemas específicos de la base de datos
- FATAL: falló la autenticación de contraseña: Verifique que su archivo pg_hba.conf permita conexiones desde la dirección IP del Data Logger (si es remoto) y que el método de autenticación esté configurado como md5 o scram-sha-256.
- Tengo dos registros similares con la misma marca de tiempo en mi base de datos para cada registro: Verifique que no esté utilizando dos complementos de exportación de datos al mismo tiempo. Por ejemplo, ODBC Database y SQL Database Pro, ya que pueden exportar sus datos en paralelo.
- He instalado los controladores ODBC y he creado un DSN, pero su software no me permite seleccionarlo.: Nuestro software requiere controladores ODBC de 32 bits. Por lo tanto, debe instalar esta versión de controladores para crear un DSN en el Administrador ODBC de 32 bits. Puede usar el botón 'Setup' en el complemento 'ODBC Database' para hacerlo.