Journalisation en temps réel des balances de pesée vers une base de données MS SQL
Un guide complet pour interroger les périphériques série de balance de pesée 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 : Balance de pesage RS232
Type de communication : Écoute passive (continue ou impression à la demande)
La plupart des balances industrielles envoient des chaînes ASCII terminées par un retour chariot (CR) et un saut de ligne (LF). Utilisez le module « ASCII Data Parser » du logiciel et définissez la signature du paquet de données sur les caractères de fin « #0D#0A ». Vous pouvez ensuite extraire le poids numérique en spécifiant des positions de colonnes fixes ou en utilisant une expression régulière. De plus, l’enregistreur contient des analyseurs prédéfinis pour les balances les plus courantes.
Appliquez cette configuration de base pour la connexion série :
{
"port": "COM1",
"baud_rate": 9600,
"data_bits": 8,
"stop_bits": 1,
"parity": "none",
"flow_control": "hardware",
"packet_end": "#0D#0A"
}
Sélection du plugin de balances pour interroger un appareil et analyser les données entrantes.

Configuration du plugin de balances : type de balance et intervalle d’interrogation.
Prêt à connecter Balance de pesage RS232 à 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
- Des caractères parasites apparaissent à l’écran: Cela indique presque toujours un décalage de débit en bauds ou de parité. 9600-8-N-1 est la norme, mais les anciennes balances Mettler Toledo ou Ohaus utilisent fréquemment 2400 bauds ou une parité 7-paire-1. Consultez le manuel du matériel.
- Est-il possible de traiter uniquement le poids stable et d’ignorer les valeurs intermédiaires ?: Utilisez l’un de nos plugins de filtrage et, par exemple, ignorez tous les enregistrements sans la signature « stable » dans un paquet de données.
- Est-il possible de traiter des valeurs de poids supérieures à 100,0 kg ?: Le plugin de filtre Expressions vous permet d’utiliser toute expression mathématique. Par exemple, la commande suivante : DISCARD_DATA_PACKET_IF(WEIGHT < 100).
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 ».