Documentation de l’option VCP (port série virtuel)

 

Les instruments Dracal portant le préfixe « VCP- » peuvent communiquer via un port COM virtuel, ce qui vous permet d’accéder directement, par liaison série, à leurs mesures depuis pratiquement n’importe quel système d’exploitation ou environnement de programmation. Ce guide vous explique comment configurer le mode VCP, interpréter le format des données qu’il génère et utiliser les commandes disponibles pour contrôler la fréquence d’interrogation, la précision des résultats, etc.

[Dernière mise à jour: 01/07/2026]

Changement majeur

À compter du 1er juillet 2026, tous les produits VCP seront livrés en mode VCP. Il n’est donc plus nécessaire de modifier le mode de communication, sauf pour les utilisateurs de DracalView sous Windows.

 

1. Introduction

Les capteurs Dracal capables de communiquer en tant que ports COM virtuels sont identifiables grâce au préfixe « VCP- » présent dans leur code produit. À la livraison, vous recevrez vos produits VCP en mode VCP, prêts à être intégrés dans votre programme ou votre logiciel. Vous trouverez dans cette documentation des informations sur le format des données générées ainsi que sur les commandes disponibles en mode VCP.

Pour les utilisateurs de DracalView sous Windows, vous trouverez ici des informations sur la conversion entre les modes de communication VCP et USB.

Cette documentation s’adresse aux utilisateurs disposant des connaissances nécessaires pour manipuler de manière autonome les données générées par le port COM virtuel. Pour les utilisateurs moins expérimentés, un guide de démarrage a été spécialement conçu à votre intention.

2. Prérequis

Avoir pris connaissance du guide de démarrage avec le mode VCP

3. Produits VCP et DracalView

Sous Linux et Mac OS, les produits VCP de Dracal fonctionnant en mode VCP se comportent exactement comme n’importe quel capteur USB Dracal classique. Leurs données sont accessibles via notre outil en ligne de commande `dracal-usb-get` ou notre logiciel gratuit d’enregistrement et de visualisation des données, DracalView.

En revanche, les utilisateurs travaillant sous Windows devront passer du mode VCP au mode USB pour pouvoir utiliser les outils Dracal. Vous trouverez ici la procédure à suivre pour effectuer ce changement.

4. Mode VCP: Requis et format des données

4.1. Paramétrage de votre outil de travail

Afin de permettre l’envoi de commandes à votre appareil Dracal maintenant en mode VCP, il est nécessaire de désactiver l’écho de votre outil d’accès aux données, quel qu’il soit (terminal Linux, Putty, etc.).

Aussi, nous rappelons aux utilisateurs sous Linux l’importance de se prévaloir des droits d’accès nécessaires pour accéder aux données. Pour plus d’information, consultez le point 5) de la documentation pour les utilisateurs Linux.

4.2. Données disponibles

Seules les données provenant des canaux réels de vos instruments sont communiquées par protocole VCP. Rappelons qu’un canal réel est un canal dont les données proviennent directement de la lecture d’une grandeur physique (température, humidité relative, pression, concentration, etc.) alors qu’un canal virtuel en est un dont les données sont calculées à partir des canaux réels (humidex, altitude, etc.) Pour connaître la nature (réelle ou virtuelle) des canaux existants pour votre produit, consulter la section “Canaux disponibles” de l’onglet Caractéristiques présent dans sa fiche de produit.

4.3. Format des données

Le format des données générées en mode VCP par les produits Dracal est le suivant (les espacements en moins):

TYPE_LIGNE , PRODUIT , NO_SERIE , MESSAGE , D1,U1 , D2,U2 , … , Dn,Un , CHECKSUM

  • TYPE_LIGNE : Le type de la ligne. Les options possibles sont:
    • D : Ligne de données
    • I : Ligne d’information
    • C : Données étalonnées (pour les produits VCP supportant le mécanisme d’étalonnage par l’usager Dracal)
  • PRODUIT : Numéro de produit. (ex. VCP-PTH200)
  • NO_SERIE : Numéro de série unique du produit (ex. E16026)
  • MESSAGE : Message d’écho lorsqu’une commande est envoyée à l’appareil (ex. Poll interval set to 1000 ms)
  • (D1,U1),(D2,U2),…,(Dn,Un) : Lectures par paires (valeur numérique, unité) (ex. 100676,Pa,23.8945,C.21.7853,%)
  • CHECKSUM : *[Code hexa à 4 caractères calculé avec la fonction CRC-16] (ex. *A13D)

L’algorithme CRC est CRC-16-CCITT (XMODEM) et il est calculé pour chaque ligne à partir du premier caractère de la ligne jusqu’à l’astérisque ‘*’ exclusivement, ce qui signifie que l’astérisque lui-même n’est pas inclus. Il y a toujours exactement un astérisque par ligne, suivi du CRC exprimé en 4 chiffres hexadécimaux, suivi d’un retour chariot ‘r’ et d’une nouvelle ligne ‘n’ . Aucun de ces caractères n’est inclus dans le calcul du CRC.

Voici un extrait de lecture de notre VCP-PTH200 en mode VCP:

D,VCP-PTH200,E16026,,100681,Pa,*040A
%,D,VCP-PTH200,E16026,,100680,Pa,23.9239,C,23.154,%,*CC78
D,VCP-PTH200,E16026,,100680,Pa,23.9532,C,23.1098,%,*aa99
D,VCP-PTH200,E16026,,100684,Pa,23.9666,C,23.035,%,*723f
D,VCP-PTH200,E16026,,100680,Pa,23.9666,C,22.9892,%,*9758
D,VCP-PTH200,E16026,,100681,Pa,23.9666,C,22.9587,%,*8abb
D,VCP-PTH200,E16026,,100680,Pa,23.9372,C,23.0625,%,*1169
D,VCP-PTH200,E16026,,100681,Pa,23.9532,C,23.1098,%,*ef2d
D,VCP-PTH200,E16026,,100683,Pa,23.9532,C,22.9725,%,*01f3
	

Note: Remarquez que les deux premières lectures peuvent être incomplètes ou incohérentes. Ceci est normal comme il est très peu probable que le début de la lecture des données par l’usager soit exactement synchronisée avec le début d’une ligne de données communiquée.

5. Commandes disponibles en mode VCP

5.1. Obtenir l’information sur les colonnes: commande INFO

La commande INFO affiche la description des différentes colonnes de données, qui sont spécifiques à chaque instrument. Cette commande permet entre autres aux usagers désirant effectuer des enregistrements de données dans un fichier .csv d’obtenir l’entête de leurs colonnes. Voici le résultat de l’appel de cette commande pour notre VCP-PTH200:

D,VCP-PTH200,E16026,,100724,Pa,22.2816,C,22.5376,%,*aa91
D,VCP-PTH200,E16026,,100724,Pa,22.3243,C,22.4674,%,*4e1d
D,VCP-PTH200,E16026,,100724,Pa,22.3083,C,22.3728,%,*8202
I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*bbdd      (Appel de la commande: INFO)
D,VCP-PTH200,E16026,,100725,Pa,22.3243,C,22.3301,%,*8a7d
D,VCP-PTH200,E16026,,100724,Pa,22.3377,C,22.3484,%,*0f44
D,VCP-PTH200,E16026,,100723,Pa,22.351,C,22.3026,%,*97d4

Comme le terminal est configuré sans écho, l’envoi de la commande INFO n’apparait pas dans le terminal, mais le résultat est bel et bien présent. Notez, sur la ligne correspondant au résultat de la commande, que le premier caractère affiché est I, rappelant que la ligne n’en est pas une de données, mais bien d’information.

5.2. Déterminer la fréquence de récupération des données: commande POLL

La commande POLL n, n ≥ 0, est invoquée pour établir à n (en ms) la fréquence de récupération des données. Voici un exemple de retour affiché lors de l’appel de la commande POLL 2000, pour récupérer les données aux 2000 ms:

D,VCP-PTH200,E16026,,100696,Pa,23.3845,C,20.2197,%,*78df
D,VCP-PTH200,E16026,,100700,Pa,23.3711,C,20.3082,%,*25c8
D,VCP-PTH200,E16026,,100698,Pa,23.4005,C,20.3845,%,*3cac
D,VCP-PTH200,E16026,,100698,Pa,23.4005,C,20.4593,%,*6d48
I,VCP-PTH200,E16026,Poll interval set to 2000 ms,,,,,,,*b754    (Appel de la commande: POLL 2000)
D,VCP-PTH200,E16026,,100699,Pa,23.3845,C,20.5051,%,*4d46
D,VCP-PTH200,E16026,,100698,Pa,23.3711,C,20.4303,%,*01db

Si nous tentons de forcer une fréquence de 5 ms (commande POLL 5), qui serait beaucoup plus rapide de la fréquence limite interne de 100 ms de l’instrument, c’est cette dernière qui sera appliquée, tel qu’illustré dans l’exemple suivant:

D,VCP-PTH200,E16026,,100682,Pa,23.769,C,19.9542,%,*f0d0
D,VCP-PTH200,E16026,,100682,Pa,23.769,C,20.1053,%,*8f8a
I,VCP-PTH200,E16026,Specified interval is below minimum,,,,,,,*3bd8     (Appel de la commande: POLL 5)
I,VCP-PTH200,E16026,Poll interval set to 100 ms,,,,,,,*6cef
D,VCP-PTH200,E16026,,100681,Pa,23.769,C,20.2121,%,*c111
D,VCP-PTH200,E16026,,100683,Pa,23.769,C,20.2121,%,*af17
D,VCP-PTH200,E16026,,100683,Pa,23.769,C,20.2121,%,*af17
D,VCP-PTH200,E16026,,100683,Pa,23.769,C,20.2884,%,*1d1e

De même, si nous tentons de forcer une fréquence moins rapide (ex. POLL 100000) que la fréquence limite de 60000 ms, c’est cette dernière qui sera appliquée, tel qu’illustré dans l’exemple suivant:

D,VCP-PTH200,E16026,,100696,Pa,23.3845,C,20.2197,%,*78df
D,VCP-PTH200,E16026,,100700,Pa,23.3711,C,20.3082,%,*25c8
D,VCP-PTH200,E16026,,100698,Pa,23.4005,C,20.3845,%,*3cac
I,VCP-PTH200,E16026,Specified interval is above maximum,,,,,,,*82c7      (Appel de la commande: POLL 100000)
I,VCP-PTH200,E16026,Poll interval set to 60000 ms,,,,,,,*6053 
D,VCP-PTH200,E16026,,100681,Pa,23.769,C,20.2121,%,*c111 
D,VCP-PTH200,E16026,,100683,Pa,23.769,C,20.2121,%,*af17 
D,VCP-PTH200,E16026,,100681,Pa,23.769,C,20.2121,%,*c111 

Enfin, la commande POLL 0 cesse la récupération de données, jusqu’à ce qu’une nouvelle commande POLL n, n>0, soit appelée de nouveau:

D,VCP-PTH200,E16026,,100681,Pa,23.769,C,20.2121,%,*c111 
D,VCP-PTH200,E16026,,100683,Pa,23.769,C,20.2121,%,*af17
I,VCP-PTH200,E16026,Polling disabled,,,,,,,*3567                          (Appel de la commande: POLL 0)

5.3. (VCP-CAL) Activer ou désactiver l’étalonnage: commande CAL

Les capteurs Dracal de type VCP-CAL, c’est-à-dire possédant simultanément l’option VCP ainsi que le mécanisme d’étalonnage en 3 points Dracal, ont accès à la commande CAL. Cette commande permet d’activer ou de désactiver l’application de l’étalonnage pour les points saisis préalablement par l’usager. Par défaut, le mécanisme d’étalonnage est en mode actif (CAL ON) et les données retournées par l’instrument sont étalonnées. Pour désactiver le mécanisme d’étalonnage, il suffit d’invoquer la commande CAL OFF tel qu’illustré ci-dessous.

Dans cet exemple, un point d’étalonnage a été saisi dans le logiciel DracalView pour un appareil VCP-PTH450-CAL. Le point saisi applique un décalage de +5 °C au canal de température de l’instrument:

Voyons l’effet de l’invocation des commandes CAL OFF et CAL ON sur les données retournées:

C,VCP-PTH450-CAL,E21402,,103183,Pa,29.41,C,38.46,%,*d0ea
C,VCP-PTH450-CAL,E21402,,103183,Pa,29.40,C,38.46,%,*d39f
C,VCP-PTH450-CAL,E21402,,103182,Pa,29.41,C,38.48,%,*a746
I,VCP-PTH450-CAL,E21402,Calibration OFF,,,,,,,*6819       (Appel de la commande: CAL OFF)
D,VCP-PTH450-CAL,E21402,,103183,Pa,24.40,C,38.43,%,*b0a9
D,VCP-PTH450-CAL,E21402,,103183,Pa,24.41,C,38.49,%,*db77
D,VCP-PTH450-CAL,E21402,,103182,Pa,24.42,C,38.42,%,*1501
D,VCP-PTH450-CAL,E21402,,103184,Pa,24.41,C,38.46,%,*0619
I,VCP-PTH450-CAL,E21402,Calibration ON,,,,,,,*6819      (Appel de la commande: CAL ON)
C,VCP-PTH450-CAL,E21402,,103181,Pa,29.41,C,38.35,%,*972f
C,VCP-PTH450-CAL,E21402,,103181,Pa,29.41,C,38.34,%,*e19b
C,VCP-PTH450-CAL,E21402,,103181,Pa,29.40,C,38.31,%,*5eab

Tel qu’attendu, nous pouvons constater que les mesures de températures en mode CAL ON, en orange, sont effectivement supérieures de +5 °C aux données de températures en mode CAL OFF, en vert.

Notez aussi le premier élément des lignes de données, qui indiquent par le caractère C si les données retournées sont étalonnées, et par le caractère D si elles ne le sont pas. En particulier, un appareil en mode CAL ON pour lequel aucun point d’étalonnage n’est saisi sera identifié par la lettre D, comme ses données ne sont effectivement pas étalonnées.

5.4. (VCP-CAL) Déterminer le nombre de décimales à afficher : commande FRAC

Les instruments munis des options VCP et CAL possèdent la commande FRAC, qui permet de choisir le nombre de décimales à afficher en mode VCP. La commande FRAC peut prendre en paramètre les entiers allant de 1 jusqu’à 7. La saisie d’un entier supérieur à 7 est ramené à la limite supérieure permise de 7 décimales.

Voici une illustration de l’invocation de la commande FRAC:

D,VCP-PTH450-CAL,E21402,,103180,Pa,24.3965050,C,38.4328960,%,*573b
D,VCP-PTH450-CAL,E21402,,103178,Pa,24.3965050,C,38.3489720,%,*9f9f
D,VCP-PTH450-CAL,E21402,,103179,Pa,24.4098570,C,38.3504980,%,*2e50
D,VCP-PTH450-CAL,E21402,,103178,Pa,24.3965050,C,38.3627050,%,*5599
I,VCP-PTH450-CAL,E21402,Printing 4 fractional digits,,,,,,,*70f1      (Appel de la commande: FRAC 4)
D,VCP-PTH450-CAL,E21402,,103180,Pa,24.4099,C,38.3780,%,*2af4
D,VCP-PTH450-CAL,E21402,,103181,Pa,24.3965,C,38.4192,%,*3ecf
D,VCP-PTH450-CAL,E21402,,103180,Pa,24.3832,C,38.3490,%,*213a
I,VCP-PTH450-CAL,E21402,Printing 2 fractional digits,,,,,,,*a9d4      (Appel de la commande: FRAC 2)
D,VCP-PTH450-CAL,E21402,,103183,Pa,24.40,C,38.42,%,*c61d
D,VCP-PTH450-CAL,E21402,,103181,Pa,24.38,C,38.43,%,*dac4
D,VCP-PTH450-CAL,E21402,,103179,Pa,24.41,C,38.42,%,*fe59