Journalisation en temps réel des données des compteurs d'eau vers une base de données MS SQL
Un guide complet pour interroger les compteurs d'eau à interface RS232 et exporter les données capturées directement dans une base de données MsSQL avec votre structure de base de données.
1. Configuration du protocole : Débitmètres et compteurs d’eau
Type de communication : Interrogation active (M-Bus / MODBUS)
Les compteurs d’eau industriels communiquent généralement via M-Bus (Meter-Bus) sur RS232/RS485 à l’aide d’un convertisseur de niveau. Utilisez le plugin « M-Bus Data Parser ». L’enregistreur envoie une trame REQ_UD2 (demande de données de classe 2) à l’adresse spécifique du compteur, et l’analyseur décodera le télégramme de réponse en variables de volume, débit et température.
Appliquez cette configuration de base pour la connexion série :
{
"port": "COM2",
"baud_rate": 2400,
"data_bits": 8,
"stop_bits": 1,
"parity": "even",
"protocol": "mbus_en13757",
"poll_interval_ms": 60000
}
Sélection du plugin M-Bus pour lire les données du compteur d’eau.

Configuration du plugin M-Bus.
Prêt à connecter Débitmètres et compteurs d’eau à Microsoft SQL Server ?
2. Configuration de la base de données : Microsoft SQL Server
Utilisez le client natif SQL Server intégré ou le fournisseur OLE DB dans le module d'exportation ODBC du Data Logger. L'authentification Windows est prise en charge de manière transparente si le compte de service du logger a accès à la base de données.
Utilisez le script SQL suivant pour créer votre table cible. Utilisez DATETIME2 au lieu de DATETIME pour une précision d'horodatage plus élevée, ce qui est essentiel pour la journalisation série industrielle à haute fréquence.
CREATE TABLE SerialData ( RecordID INT IDENTITY(1,1) PRIMARY KEY, LogTime DATETIME2 DEFAULT SYSUTCDATETIME(), PortID NVARCHAR(20), SensorReading FLOAT );

Connecteur Microsoft SQL Server dans notre logger.

Paramètres de connexion à la base de données SQLServer. Par exemple, SQL Express.

File d'attente SQL.
3. Dépannage spécifique au protocole
- Réception de données hexadécimales inutilisables au lieu de télégrammes M-Bus: M-Bus exige impérativement une parité paire. Vérifiez les paramètres du port COM dans l’enregistreur de données et assurez-vous qu’il est réglé sur 8 bits de données, 1 bit d’arrêt et parité paire.
- L’enregistreur affiche des données illisibles (caractères étranges) au lieu des codes HEX attendus: Vous devez modifier le mode « Affichage des données » dans les paramètres de l’enregistreur. Sélectionnez « Afficher comme #XX » pour toutes les plages d’octets.
- Quelles valeurs l’enregistreur peut-il lire ?: M-Bus permet à l’enregistreur de lire toutes les valeurs disponibles en une seule fois. L’enregistreur les exporte sous forme de valeurs distinctes (variables).
4. Dépannage spécifique à la base de données
- Échec de connexion pour l'utilisateur / Accès refusé: Si vous exécutez RS232 Data Logger en tant que service Windows en arrière-plan, assurez-vous que le service s'exécute sous un compte de domaine avec les rôles db_datawriter, plutôt que sous le compte par défaut « Système local ». Ou créez un utilisateur distinct avec la méthode d'authentification « SQL Server ».
- Que se passe-t-il si ma base de données est hors ligne ? Vais-je perdre mes données ?: Utilisez le plugin SQL Database Pro. Il peut écrire les données dans un fichier temporaire pendant que votre base de données est hors ligne et les restaurer ultérieurement.
- Le code ne fonctionne que lorsque vous envoyez des nombres. Lorsque j'essaie d'envoyer une lettre, cela ne fonctionne pas.: 1. Vous devez déclarer la variable d'analyseur comme une chaîne. 2. Votre table doit contenir la colonne avec le type « VARCHAR » ou « NVARCHAR ». La taille de cette colonne doit être suffisante pour vos données. 3. Vous devez sélectionner le type de données « string » pour la colonne correspondante dans le plugin d'exportation de données sur la page « Binding ».