Registro de datos de contadores de agua en base de datos MS SQL en tiempo real
Una guía completa para consultar contadores de agua con interfaz RS232 y exportar los datos capturados directamente a una base de datos MsSQL 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 Microsoft SQL Server?
2. Configuración de la base de datos: Microsoft SQL Server
Utilice el cliente nativo de SQL Server integrado o el proveedor OLE DB dentro del módulo de exportación ODBC del Data Logger. La autenticación de Windows es compatible sin problemas si la cuenta de servicio del registrador tiene acceso a la base de datos.
Utilice el siguiente script SQL para crear su tabla de destino. Utilice DATETIME2 en lugar de DATETIME para una mayor precisión en las marcas de tiempo, lo cual es fundamental para el registro serie industrial de alta frecuencia.
CREATE TABLE SerialData ( RecordID INT IDENTITY(1,1) PRIMARY KEY, LogTime DATETIME2 DEFAULT SYSUTCDATETIME(), PortID NVARCHAR(20), SensorReading FLOAT );

Conector de Microsoft SQL Server en nuestro registrador.

Configuración de conexión de la base de datos SQLServer. Por ejemplo, SQL Express.

Cola SQL.
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
- Error de inicio de sesión del usuario / Acceso denegado: Si ejecuta RS232 Data Logger como un servicio de Windows en segundo plano, asegúrese de que el servicio se ejecute bajo una cuenta de dominio con roles db_datawriter, en lugar de la cuenta predeterminada 'Sistema local'. O cree un usuario independiente con el método de autenticación 'SQL Server'.
- ¿Qué pasa si mi base de datos está fuera de línea? ¿Perderé mis datos?: Utilice el complemento SQL Database Pro. Puede escribir datos en un archivo temporal mientras su base de datos está fuera de línea y restaurarlos más tarde.
- El código solo funciona cuando envía números. Cuando intento enviar una letra, no funciona.: 1. Debe declarar la variable del analizador como cadena. 2. Su tabla debe contener la columna con el tipo 'VARCHAR' o 'NVARCHAR'. El tamaño de esta columna debe ser suficiente para sus datos. 3. Debe seleccionar el tipo de datos 'string' para la columna correspondiente en el complemento de exportación de datos en la página 'Binding'.