Documents

SDM630MV CT, Capteur de mesures électriques

Dernière modification le

Manuel utilisateur

capture d'écran 2026 07 31 084203
Capteur de mesures électrique intelligent monté sur rail DIN, pour des systèmes électriques mono et tri-phases
DateVersion Modification
20163.5Version initiale
20184Notice SIREA

Table des matières

1. Introduction

Caractéristiques spécifiques

  • Mesures kWh Kvarh, kW, Kvar, KVA, P,F, PF, Hz, dmd, V, A, THD,etc.
  • Mesures bidirectionnelles imp & EXP
  • Sorties à deux impulsions
  • Modbus RS485
  • Monté sur du rail DIN 35 mm
  • Connexion 0.33V TC
  • Meilleure précision que la classe 1 / B

Ce document fournit des instructions d’installation, d’utilisation et de maintenance. Cette unité mesure et affiche les caractéristiques des fournitures trois phases quatre câbles (3p4w), incluant la tension, la fréquence, le courant, la puissance, l’énergie active et réactive, importée ou exportée. L’énergie est mesurée en kWh, kVArh. La demande maximale de courant peut être mesurée sur une période prédéterminée allant jusqu’à 60 minutes. Afin de mesurer l’énergie, cet outil nécessite des entrées tension et courant en plus de l’alimentation nécessaire au fonctionnement du produit. Les entrées courant requises sont obtenues grâce à des transformateurs de courant (TC).

Ce capteur peut être configuré pour fonctionner avec une large gamme de TC aux sorties 0,33 V ce qui donne à l’unité de vastes possibilités. Des interfaces encastrées fournissent les pulses et les sorties Modbus RTU RS485. La configuration est protégée par un mot de passe.

Cette unité peut être alimentée via une source auxiliaire séparée (CC ou CA). Alternativement il peut être alimenté par une source contrôlée quand elle est appropriée.

1.1 Caractéristiques

L’unité peut mesurer et afficher :

  • la tension de la ligne et la DHT % (distorsion harmonique totale) de chaque phase
  • la fréquence de ligne
  • les courants, les demandes de courants et le courant DHT de chaque phase
  • la puissance, la demande maximale de puissance et le facteur de puissance
  • l’énergie active importée et exportée
  • l’énergie réactive importée et exportée

L’unité dispose d’écrans protégés par des mots de passe pour :

  • changer le mot de passe
  • les temps d’intervalle de demande
  • réinitialiser les mesures de demande
  • la durée des impulsions de sortie

Deux sorties pulsations indiquent une mesure en temps réel de l’énergie. Une sortie RS485 permet le contrôle à distance à partir d’un autre écran ou ordinateur.

1.2 Transformateur de courant en courant primaire

L’unité peut être configurée pour fonctionner avec un TC possédant une sortie 0,33 V. Le secondaire du TC est fixé à 0,33 V et le primaire du TC est optionnel.

1.3 Série RS485 – Modbus RTU

Ce système utilise un port série RS485 avec un protocole Modbus RTU pour fournir un moyen de le contrôler à distance et de contrôler l’unité.
Des écrans d’installation sont fournis pour installer le port RS485. Se référer au chapitre 4.8.

1.4 Sortie impulsions

Le capteur fournit deux sorties à impulsions dont la période mesure les énergies actives et réactives. La constante pour l’énergie réactive est 3200 imp/kVArh. La largeur de l’impulsion pour l’énergie active peut être configurée dans le menu de paramétrage.

2. Écrans de démarrage

capture d’écran 2026 07 31 093346
Le premier écran montre tous les segments d’affichage et peut être utilisé comme un écran de contrôle.
capture d’écran 2026 07 31 093939Le second écran indique le type de firmware installé sur l’unité et son numéro de construction.
capture d’écran 2026 07 31 094035L’interface s’auto-teste et indique le résultat si le test est réussi.

Après un court délai, l’écran affiche les mesures d’énergie active.

3. Mesures

Les boutons ont les fonctions ci-dessous :

capture d’écran 2026 07 31 094856Sélectionne les écrans d’affichage de la tension et du courant.
Dans le mode set-up, il correspond au bouton « gauche » ou « retour ».
capture d’écran 2026 07 31 094947Sélectionne les écrans d’affichage de la fréquence et du facteur de puissance.
Dans le mode set-up, il correspond au bouton « haut ».
capture d’écran 2026 07 31 095210Sélectionne les écrans d’affichage de la puissance. Dans le mode set-up il correspond au bouton « bas ».
capture d’écran 2026 07 31 095315Sélectionne les écrans d’affichage de l’énergie. Dans le mode set-up il correspond au bouton «entrée» ou « droite ».

3.1 Tension et courants

A chaque pression du bouton capture d’écran 2026 07 31 094947 une nouvelle gamme apparaît :

capture d’écran 2026 07 31 095913Tension simple (entre phase et neutre)
capture d’écran 2026 07 31 100024Courant à chaque phase
capture d’écran 2026 07 31 100110Tension simple DHT %
capture d’écran 2026 07 31 100203Courant DHT % pour chaque phase

3.2 Fréquence, facteur de puissance et demandes

Chaque pression successive du bouton capture d’écran 2026 07 31 094947 sélectionne une nouvelle gamme :

capture d’écran 2026 07 31 100651Fréquence et facteur de puissance (total)
capture d’écran 2026 07 31 100738Facteur de puissance de chaque phase
capture d’écran 2026 07 31 100815Demande de puissance maximale
capture d’écran 2026 07 31 100918Demande de courant maximale

3.3 Puissance

Chaque pression successive du bouton capture d’écran 2026 07 31 095210 sélectionne une nouvelle gamme :

capture d’écran 2026 07 31 102347Puissance active instantanée en kW
capture d’écran 2026 07 31 102520Puissance réactive instantanée en kVAr
capture d’écran 2026 07 31 102620Volt-amper instantanée en kVA
capture d’écran 2026 07 31 102725kW, kVArh, kVA totaux

3.4 Mesures d’énergie

Chaque pression successives du bouton capture d’écran 2026 07 31 095315 sélectionne une nouvelle gamme :

capture d’écran 2026 07 31 103022Energie active importée en kWh
capture d’écran 2026 07 31 103106Energie active exportée en kWh
capture d’écran 2026 07 31 103201Energie réactive importées en kVArh
capture d’écran 2026 07 31 103312Energie réactive exportée en kVArh
capture d’écran 2026 07 31 103420Energie active totale en kWh
capture d’écran 2026 07 31 103508Energie totale réactive kVAh

4. Installation

Pour accéder aux options d’installation, presser le bouton capture d’écran 2026 07 31 095315 durant 3 secondes, jusqu’à ce que l’écran de mot de passe apparaisse.

capture d’écran 2026 07 31 103818

L’installation est protégée par un mot de passe, il faut entrer le mot de passe correct ( » 1000  » par défaut), avant de procéder. Si le mot de passe est incorrect, l’écran affichera : PASS Err

capture d’écran 2026 07 31 104105

Pour sortir de la page d’installation, presser capture d’écran 2026 07 31 094856 de manière répétée jusqu’à ce que l’écran des mesures réapparaisse.

4.1 Méthode de configuration des entrées

Certains éléments du menu tels que le mot de passe et le TC nécessite un nombre d’entrée à 4 chiffres tandis que d’autres tel que le système d’alimentation nécessite la sélection d’un nombre dans le menu des options.

4.1.1 Sélection du menu d’options

  1. Utiliser les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner l’élément requis dans le menu. La sélection n’est pas reconduite entre le haut et le bas de la liste.
  2. Presser capture d’écran 2026 07 31 095315 pour confirmer votre sélection.
  3. Si un élément clignote, il peut être ajusté grâce aux boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210

Si ce n’est pas le cas, il y a peut-être une couche supplémentaire.

4. Après avoir sélectionné une option dans la couche actuelle, presser capture d’écran 2026 07 31 095315 pour confirmer votre sélection. L’indicateur SET apparaîtra.

5. Après avoir configuré un paramètre, pressez capture d’écran 2026 07 31 094856 pour revenir au menu supérieur. L’indicateur SET disparaîtra et vous pourrez utiliser les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour accéder aux autres menus.

6. Après avoir configuré l’ensemble des paramètres, pressez capture d’écran 2026 07 31 094856 plusieurs fois jusqu’à ce que l’écran des mesures réapparaisse.

4.1.2 Procédure d’entrée des nombres

Durant la configuration de l’unité, certains écrans nécessitent d’entrer un nombre. Il faut notamment entrer un mot de passe dans la section configuration. Les chiffres sont choisis un à un, de gauche à droite. Suivez la procédure suivant :

  1. Le chiffre sélectionné clignote et et réglé en utilisant les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210
  2. Pressez capture d’écran 2026 07 31 095315 pour confirmer la configuration de chaque chiffre. L’indicateur SET apparaît après que le dernier chiffre ait été déterminé.
  3. Après avoir configuré le dernier chiffre, presser capture d’écran 2026 07 31 094856 pour sortir de ce menu. L’indicateur SET disparaît alors.

4.2 Changer le mot de passe

capture d’écran 2026 07 31 110254Utilisez capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner l’option de changement de mot de passe.
capture d’écran 2026 07 31 110412
Pressez capture d’écran 2026 07 31 095315 pour accéder au changement de mot de passe. L’écran du nouveau mot de passe apparaîtra avec un premier chiffre clignotant.
capture d’écran 2026 07 31 110626

Utilisez capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour définir le premier chiffre et pressez capture d’écran 2026 07 31 095315 pour confirmer votre sélection. Le chiffre suivant se mettra à clignoter
capture d’écran 2026 07 31 110926Répétez la procédure pour les 3 derniers chiffres.
capture d’écran 2026 07 31 111016Après avoir configurer le dernier chiffre, SET apparaîtra.

Pressez capture d’écran 2026 07 31 094856 pour sortir de ce paramétrage et revenir au menu de configuration.

4.3 DTI : Demande du Temps d’Intégration

Cela configure la période de temps en temps en minute, durant laquelle les relevés de courant et de puissance sont intégrés à la mesure de a demande maximale. Les options sont : Off, 5, 10, 15, 30, 60 minutes.

capture d’écran 2026 07 31 111450

A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner les options DTI (DIT). L’écran affichera le temps d’intégration sélectionné à ce moment là.
capture d’écran 2026 07 31 111514Pressez capture d’écran 2026 07 31 095315 pour entrer dans le menu de sélection. Le temps d’intervalle actuel clignotera.
capture d’écran 2026 07 31 111618Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner le temps requis.
capture d’écran 2026 07 31 111701Pressez capture d’écran 2026 07 31 095315 pour confirmer votre choix. L’indicateur SET apparaîtra.

Pressez capture d’écran 2026 07 31 094856 pour sortir du menu DTI et retourner au menu principal.

4.4 TC

L’option TC configure le courant primaire (CT2 fixé 0.333 V) du transformateur de courant (TC) qui est relié au capteur.

capture d’écran 2026 07 31 114010

A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner le TC primaire (CT1). C’est par défaut 5A, avec une fourchette de 0005 à 9999
capture d’écran 2026 07 31 114212CT secondaire (CT2)
Il est fixé à 0.333 et ne peut pas être paramétré.

4.5 PT

L’option PT configure la tension secondaire (PT2 100 à 500 V), du transformateur de tension (TT ou PT) qui est relié au capteur.

capture d’écran 2026 07 31 114432


A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner l’option PT. L’écran affichera la valeur de tension secondaire du PT. La valeur par défaut est 400 V.
capture d’écran 2026 07 31 114649

Configuration des PT secondaires.
Pressez capture d’écran 2026 07 31 095315 pour entrer dans le menu de la tension du PT secondaire. La fourchette des valeurs est de 100 à 500 V.
capture d’écran 2026 07 31 114723
Configurez les valeurs de ratio du PT.
Pressez capture d’écran 2026 07 31 095315 pour accéder à l’écran de ration du PT. La fourchette des valeurs va de 0001 à 9999.

Par exemple, si le ratio est configuré à 100, cela signifie que la tension primaire égale la tension secondaire x100.

4.6 Sortie impulsion

Cette option permet de configurer la sortie impulsion. La sortie peut être configurée pour fournir une pulsion à la quantité d’énergie active ou réactive définie.

Utilisez ce chapitre pour configurer la sortie impulsion de relais -Unités : kWh, kVArh

capture d’écran 2026 07 31 115429
A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner l’option de la sortie impulsion.
capture d’écran 2026 07 31 115501Pressez capture d’écran 2026 07 31 095315 pour entrer sur le menu sélection. Le symbole de l’unité clignotera.
capture d’écran 2026 07 31 115614Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir kWh ou KVArh.

Après avoir complété la procédure, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.6.1 Fréquence d’impulsion

Utilisez cette option pour configurer l’énergie représentée par chaque impulsion. La fréquence peut être fixée à 1 impulsion par 0.01 kWh/0.1 kWh/1 kWh/10 kWh/100 kWh.

capture d’écran 2026 07 31 140236

Cela montre une impulsion = 10 kW/kVArh

capture d’écran 2026 07 31 140355
A partir du menu de configuration utilisez les boutons capture d’écran 2026 07 31 095210 et capture d’écran 2026 07 31 094947 pour choisir l’option fréquence d’impulsion.
capture d’écran 2026 07 31 140421
Pressez capture d’écran 2026 07 31 095315 pour obtenir les options. La configuration actuelle clignotera. 0.01/ 0.1/ 1/ 10/ 100 kVArh par pulsation.

Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir la fréquence d’impulsion. Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer vos choix et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.6.2 Durée d’impulsions

L’énergie contrôlée peut être active ou inactive et la largeur d’impulsion peut être choisie parmi 200, 100, ou 60 ms.

capture d’écran 2026 07 31 141050

Cela donne une largeur d’impulsion de 200 ms

capture d’écran 2026 07 31 141135
A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner les options de largeur d’impulsion.
capture d’écran 2026 07 31 141203Pressez capture d’écran 2026 07 31 095315 pour entrer dans le menu de sélection. Le réglage actuel clignotera.

Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir la largeur d’impulsion. Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramètre et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.7 Communication

Le port RS485 peut être utilisé pour communiquer en utilisant le protocole Modbus RTU. Pour le Modbus RTU les paramètres sont sélectionnés via le panneau de contrôle.

4.7.1 Adresse RS485

capture d’écran 2026 07 31 141737

La gamme de valeur s’étend de 001 à 247.

capture d’écran 2026 07 31 141948A partir du menu configuration utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner Adresse ID
capture d’écran 2026 07 31 142022Pressez le bouton capture d’écran 2026 07 31 095315 pour accéder à la sélection. Le paramétrage actuel clignotera.
capture d’écran 2026 07 31 142104Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir l’adresse Modbus (001 à 247)

Après complété cette procédure d’entrée, pressez le bouton capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.7.2 Vitesse de transmission

capture d’écran 2026 07 31 142529
A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 095210 et capture d’écran 2026 07 31 094947 pour sélection l’option Vitesse de transmission
capture d’écran 2026 07 31 142601Pressez capture d’écran 2026 07 31 095315 pour accéder aux sélection. Le paramétrage actuel clignotera.
capture d’écran 2026 07 31 142701Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir la vitesse de transmission 2.4 k, 4.8 k, 9.6 k, 19.2 k, 38.4 k.

Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.7.3 Parité

capture d’écran 2026 07 31 143308partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour sélectionner l’option parité
capture d’écran 2026 07 31 143401Pressez capture d’écran 2026 07 31 095315 pour accéder aux sélection. Le paramétrage actuel clignotera.
capture d’écran 2026 07 31 143428Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir la parité (EVEN/ ODD/ NONE)

Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.7.4 Bits de stop

capture d’écran 2026 07 31 143803A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 095210 et capture d’écran 2026 07 31 094947 pour sélection l’option bits de stop
capture d’écran 2026 07 31 143827Pressez capture d’écran 2026 07 31 095315 pour accéder aux sélection. Le paramétrage actuel clignotera.
capture d’écran 2026 07 31 143850Utilisez les boutons capture d’écran 2026 07 31 094947 et capture d’écran 2026 07 31 095210 pour choisir le bit stop (2 ou 1)

Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

4.8 CLR

Le capteur contient une fonction qui permet de reset la valeur de demande maximale du courant et de la puissance.

capture d’écran 2026 07 31 144145A partir du menu de configuration, utilisez les boutons capture d’écran 2026 07 31 095210 et capture d’écran 2026 07 31 094947 pour sélection l’option reset
capture d’écran 2026 07 31 144230Pressez capture d’écran 2026 07 31 095315 pour accéder aux sélection. Le dlt clignotera.

Après avoir complété la procédure d’entrée, pressez capture d’écran 2026 07 31 095315 pour confirmer le paramétrage et pressez capture d’écran 2026 07 31 094856 pour revenir au menu principal.

5. Spécifications

5.1 Paramètre de mesure

L’unité peut contrôler et afficher les paramètres suivant de l’alimentation trois phases quatre câbles (3p4w) suivant :

5.1.1 Tension et courant

Phase à tension neutre 100 à 289 V AC.
Tension entre les phases 173 à 500 V AC.
Pourcentage de la distorsion de la tension harmonique totale(THD%) de chaque phase à N Pourcentage de la tension THD % entre les phases
THD % actuel pour chaque phase

5.1.2 Facteur de puissance, fréquence et demande maximale

Fréquence en Hz
Puissance instantanée :

  • Puissance de 0 à 3600 MW
  • Puissance réactive de 0 à 3600 MVAr
  • Volt-amper de 0 à 3600 MVA
  • Puissance maximale demandée depuis la dernière demande de reset du facteur de puissance
    Demande neutre maximale actuelle, depuis la dernière demande de reset (pour les alimentations 3 phases seulement)

5.1.3 Mesures d’énergie

  • Énergie active importée de 0 à 9999999.9 kWh
  • Énergie active exportée de 0 à 9999999.9 kWh
  • Énergie réactive importée de 0 à 9999999.9 kVArh
  • Énergie réactive exportée de 0 à 9999999.9 kWh
  • Anergie active totale de 0 à 9999999.9 kWh
  • Énergie réactive totale de 0 à 9999999.9 kVArh

5.2 Entrées mesurées

Entrées de tension par connecteur fixe à 4 voies avec une capacité de 2,5 mm ² de fil torsadé. Trois phases quatre fils (3P4W) déséquilibrés. Fréquence de ligne mesurée à partir de la tension L1 ou L3.
Trois entrées de courant (six bornes physiques) avec une capacité de 2.5 mm ² de fil échoué pour la connexion de TCs externes. Courant d’entrée au taux nominal 5A ou 1a c.a. Rms.

5.3 Précision

  • Tension
  • Courant
  • Fréquence
  • Facteur de puissance
  • Puissance active (W)
  • Puissance réactive (VAr)
  • Puissance apparente (VA)
  • Énergie active (Wh)
  • Énergie réactive (VArh)
  • Distorsion harmonique totale
  • 0-5 % de fourchette maximale
  • 0-5 % de nominal
  • 0-2 % de mi-fréquence
  • 1 % de l’unité (0,01)
  • ±1% de la gamme maximale
  • ±2% de la gamme maximale
  • ±1% de la gamme maximale
  • IEC 62053-21 classe 1
  • ±2% de la gamme maximale
  • 1 % jusqu’au 31ème harmonique

5.4 Alimentation auxiliaire

Connecteur fixe bi-voie avec 2 · 5mm2 de fil torsadé.
85 à 275V AC. 50/60 Hz ± 10% ou 120 V à 380 V d.c. ± 20%. Consommation < 10W.

5.5 Interfaces pour le contrôle externes

Trois interfaces sont fournies :

  • un canal de communication RS485 qui peut être programmé pour le protocole Modbus RTU
  • une sortie relais indiquant l’énergie mesurée en temps réel (configurable)
  • une sortie d’impulsion 3200 imp/kWh (non configurable)
    La configuration Modbus (vitesse de transmission, etc.) et les affectations de sortie du relais Pulse (kW/kvarh, importation/exportation, etc.) sont configurés à travers les écrans de configuration

5.5.1 Sortie d’impulsion

La sortie d’impulsion peut être réglée pour générer des impulsions pour représenter kWh ou kVarh.
Le taux peut être réglé pour générer 1 impulsion par:
0,01 = 10 Wh/VArh
0,1 = 100 Wh/VArh
1 = 1 kWh/kvarh
10 = 10 kWh/kvarh
100 = 100 kWh/kvarh
Largeur d’impulsion 200/100/60 ms.
Note de relais 240V c.a. 50mA

5.5.2 Sortie RS485 pour Modbus RTU

Pour Modbus RTU, les paramètres de communication RS485 suivants peuvent être configurés à partir du Menu de configuration:

  • vitesse de transmission 2400, 4800, 9600, 19200, 38400
  • Parité : None(par défaut)/Odd/Even
  • Bits stop : 1 ou 2
  • Adresse réseau RS485 nnn – numéro à 3 chiffres, 1 à 247
  • L’ordre des octets Modbus ™ : La commande de bits Hi/Lo est réglé automatiquement sur normal ou inversement. Il ne peut pas être configuré à partir du menu de configuration

5.6 Conditions de référence des quantités d’influence

Les quantités d’influence sont des variables qui affectent les erreurs de mesure à un degré mineur.
La précision est vérifiée sous la valeur nominale (dans la tolérance spécifiée) de ces conditions.

  • température ambiante
  • entrée d’onde
  • entrée d’onde
  • tension d’alimentation auxiliaire
  • fréquence d’alimentation auxiliaire
  • d’onde d’alimentation auxiliaire (si AC)
  • champ magnétique d’origine extérieure
  • 23 ° c ± 1 ° c
  • 50 ou 60Hz ± 2%
  • sinusoïdale (facteur de distorsion < 0 · 005)
  • nominale ± 1%
  • nominale ± 1%
  • sinusoïdal (facteur de distorsion < 0 · 05)
  • flux terrestre

5.7 Environnement

  • température de fonctionnement
  • température de stockage
  • humidité relative
  • Altitude
  • temps de réchauffement
  • Vibration
  • Choc
  • -25 ° c à + 55 ° c *
  • -40 ° c à + 70 ° c *
  • 0 à 90%, sans condensation
  • jusqu’à 2000 m
  • 1 minute
  • 10 Hz à 50 Hz, IEC 60068-2-6, 2 g
  • 30 G en 3 plans

* les températures maximales de fonctionnement et de stockage sont dans le cadre de la normale quotidienne et des variations saisonnières.

5.8 Mécanique

  • dimensions rail DIN
  • montage
  • scellant
  • matériel
  • 72 x 94,5 mm (LxH) par DIN 43880
  • rail DIN (DIN 43880)
  • IP20 (minimum)
  • auto-extinction UL94 V_0

6 Dimensions

capture d’écran 2026 07 31 151440

7. Installation

capture d’écran 2026 07 31 151818
capture d’écran 2026 07 31 151846

8. V1.2 du protocole d’installation du capteur intelligent Modbus SDM630MV

8.1 Présentation du protocole Modbus

Cette section fournit les informations basiques pour mettre en place l’interface du capteur intelligent sur un réseau de protocole Modbus. Si plus d’informations de fond ou sur l’installation sont nécessaires, se référer à la section 8.2 et 8.3.

SIREA offre les options de l’installation de communication du RS485 pour la connexion directe au SCADA ou tout autre système de communication utilisant le protocole Modbus RTU. Le protocole Modbus établit le format pour les demandes du maître en plaçant à l’intérieur l’adresse de l’équipement , un code fonction définissant l’action requise, les données à envoyer, et un champ de vérification des erreurs. Le message réponse de l’esclave est aussi construit en utilisant le protocole Modbus. Il contient les champs confirmant les actions prises, les données à retourner, et un champ de vérification des erreurs. Si une erreur apparaît dans la réception du message, SDM630 ne donnera pas de réponse. Si le SDM630 est incapable de réaliser une action demandée, il construira un message d’erreur et l’enverra en tant que réponse.

L’interface électrique est RS485 à deux câbles, via 2 borniers à vis. Les connexions devraient être faites avec des paires de câbles torsadés (comme 22 gauge belden 8761 ou équivalent). Toutes les connexions A et B sont enchaînées ensemble en guirlande. La topologie de ligne nécessite ou non une charge terminale selon le type et la longueur du câble utilisé. La topologie de boucle (anneau) ne nécessite pas de charge terminale. L’impédance de la charge terminale dit correspondre à l’impédance du câble et être à chaque bout de la ligne. Le câble doit avoir une résistance de 120
ohm (0,25 Watt min) à chaque extrémité. Une longueur maximale totale de 1200 mètres est autorisée pour le réseau RS485. Un maximum de 32 nœuds électriques peuvent être connectés en incluant le contrôleur. L’adresse de chaque capteur peut-être paramétrer avec une valeur de 1 à 247. Le mode de diffusion n’est pas soutenu (adresse 0).

Le format de chaque bit en mode RTU est :
Système de codage : 8 bits par octet
Format des données : 4 octets (2 registres) par paramètres
Point de format flottant (de IEEE 754)
Le premier registre est le plus significatif (par défaut). Par défaut peut être
changé si nécessaire. Voir le paramètre « Ordre des registres »

Champ de vérification des erreurs : Vérification cyclique redondante à 2 octets (VRC)
Cadrage : 1 bit de début
8 bits de données, le bit le moins significatif est envoyé en premier
1 bit pour la parité paire/impaire (ou sans parité)
1 bit stop si la parité est utilisée ; 1 ou 2 bits si il n’y a pas de parité

Codage des données
Dans le capteur SDM630, toutes les valeurs de donnée sont transférées en nombre de points flottants à 32 bit IEEE754 (entrée et sortie), c’est pourquoi chaque valeur du capteur SDM630 est transférée en utilisant deux registres du Protocole Modbus. Toutes les requêtes de lecture du registre et les requêtes d’écriture de données doivent spécifier un nombre pair de registre. Toutes les tentatives d’écriture/lecture d’un nombre impair de registre invite le capteur intelligent SDM630 à renvoyer un message d’exception de protocole Modbus. Cependant, pour la compatibilité avec certains systèmes SCADA, le capteur intelligent SDM630 répondra à un seul registre d’entrée ou de maintien lu avec une valeur spécifique de type d’instrument.

Le SDM630 peut transférer un maximum de 40 valeurs dans une seule transaction; par conséquent, le nombre maximal de registres demandés est de 80. Dépasser cette limite le SDM630 génère une réponse d’exception.

La vitesse de transmission de données est sélectionnable entre 2400, 4800, 9600, 19200, 38400 Baud.

8.2 Registre d’entrée

Les registres d’entrée servent à indiquer les valeurs actuelles des quantités électriques mesurées et calculées. Chaque paramètre est détenu dans deux registres consécutifs à 16 bit. Le tableau suivant détaille l’adresse de Registre 3X et les valeurs des adresse d’octets dans le message. A (*) dans la colonne indique que le paramètre est valide pour un système de câblage particulier. Tout paramètre avec une croix (X) renverra la valeur zéro. Chaque paramètre est tenu dans les registres 3X. Le code de fonction 04 du protocole Modbus est utilisé pour accéder à tous les paramètres.
Par exemple, pour demander:

Amps 1 adresse de départ = 0006
Nombre de registres = 0002
Amps 2 adresse de départ = 0008
Nombre de registres = 0002
Chaque demande de données doit être limitée à 40 paramètres ou moins. Dépasser cette limite de 40 entraîne le retour d’un code d’exception de protocole Modbus.

Registres d’entrée SDM630

capture d’écran 2026 07 31 152748
capture d’écran 2026 07 31 152949
capture d’écran 2026 07 31 153027
capture d’écran 2026 07 31 153109
capture d’écran 2026 07 31 153147

8.3 Registres de paramétrage du protocole Modbus et du capteur numérique

Les registres de maintien sont utilisés pour stocker et afficher les paramètres de configuration de l’instrument. Tous les registres de maintien qui ne figurent pas dans le tableau ci-dessous doivent être considérés comme réservés à l’usage du fabricant et aucune tentative ne devrait être prise pour modifier leurs valeurs.
Les paramètres de registre de maintien peuvent être visualisés ou modifiés à l’aide du protocole Modbus. Chaque paramètre est maintenu dans deux registres consécutifs 4X. Le code de fonction03 de protocole Modbus est utilisé pour lire le paramètre, et le code de fonction 16 est utilisé pour écrire. Écrire à un seul paramètre par message.

Paramètres du registre de maintien du protocole Modbus SDM630

Adresse
du
registre
Nombre
du
paramètre
ParamètreAdresse Hex
du début de
protocole
Modbus
Gamme valideMode
Octet hautOctet
bas
400011Heure de
demande
0000Lire les minutes en première
demande de calcul. Lorsque la
demande temps atteint la demande
Période, les valeurs de la demande
sont valables.
r
400032Période
de
demande
0002Période de demande d’écriture: 0, 5,
8, 10,15, 20, 30 ou 60 minutes, 60 par
défaut. Le réglage de la période à 0
fera en sorte que la demande
montre la valeur du paramètre
actuel, et que la demande maximale
montre la valeur de paramètre
maximale depuis la dernière
réinitialisation de demande.
R/w
400074Système
de
tension
0006La tension du système de lecture,
VLL pour 3P3W, VL pour les autres.
r
400095Système
de
courant
0008Le courant du système de lecture,
limité à 1 ou 5A.
r
400116Type de
système
000AType du système d’écriture 3p4w = 3,
3p3w = 2 & 1p2w= 1. Nécessite un
mot de passe, voir paramètre 13.
R/wp
400137Largeur
de
l’impulsio
n relais
00OCRelais d’écriture sur une période en
milliseconde : 60, 100 ou 200, 200
par défaut.
R/w
400158Cadenas
mot de
passe
00OEÉcrit n’importe quelle valeur au
verrou de mot de passe des registres
protégés.
Lire l’état du verrou de mot de
passe:
0 = verrouillé. 1 = déverrouillé. La lecture permettra également de
réinitialiser le
délai du mot de passe à une minute.
r
4001910Réseau
de stop
de parité
0012Écrire le port réseau
bits de parité/d’arrêt pour le
Protocole Modbus
, où: 0 = un bit d’arrêt
et pas de parité, par défaut. 1 = un
bit d’arrêt et parité paire. 2 = un
bit d’arrêt et parité impair. 3 = deux
bits d’arrêt et pas de parité. Exige
un redémarrage pour devenir
effectif.
R/w
4002111Réseau
de nœuds
0014Écrire l’adresse du nœud du port
réseau : 1 à 247 pour le Protocole
Modbus, 1 par défaut. Nécessite de
redémarrer pour devenir effectif.
Notez :les adresses de nœuds du
Protocole Modbus et Johnson
Controls peuvent être modifiées
via les menus de configuration
d’affichage.
R/w
4002312Diviseur
d’impulsi
ons
0016Écriture de l’index des diviseurs
d’impulsion : n
= 1 à 5
1–0.01kw/imp
2–0.1kw/imp
3–1kw/imp
4-10kw/imp
5-100kw/imp
R/w
4002513Mot de
passe
0018Écrit les mots de passe pour accéder
aux registres protégés.
R/w
4002915Réseau
du taux
de baud
001CÉcrit le taux du réseau des ports
baud pour protocole Modbus, ou : 0
= 2400 baud. 1 = 4800 baud.
2 = 9600 baud, par défaut.
3 = 19200 baud. 4 = 38400
baud. Nécessite un redémarrage
pour devenir effectif.
R/w
4003719Puissance
système
0024Lit la puissance du système totale,
par exemple, pour 3w4w revient le
système volts x système amper x 3.
r
4004322Numéro
de série
002ALit le numéro de série du premier
produit .
r
4008744Type
d’énergie
du relais 1
0056Écrit le paramètre d’entrée du
protocole Modbus pour le relais
d’impulsion 1: 37 = Total Wh ou 39 =
Total VArh, 39 par défaut.
r
4008945Type
d’énergie
du relais 2
0058Paramètre d’entrée du protocole
Modbus pour le relais d’impulsion 2 :
37 = Total Wh 3200imp/kwh
r

L’ordre de Registre contrôle l’ordre dans lequel le capteur numérique SIREA reçoit ou envoie des nombres à virgule flottant:
-ordre de Registre normal ou inversé. En mode normal, les deux registres qui constituent un nombre à virgule flottante sont envoyés au premier registre le plus significatif. En mode de registre inversé, les deux registres qui constituent un nombre à virgule flottante sont envoyés avec le registre le moins significatif en premier. Pour régler le mode, écrire la valeur ‘2141,0’ dans ce registre
– l’instrument détectera l’ordre utilisé pour envoyer cette valeur et définira cette commande pour toutes les transactions de protocole Modbus impliquant des nombres à virgule flottante.
Il est parfaitement possible de changer la configuration du capteur numérique SIREA à l’aide d’un Maître de protocole Modbus, mais il est souvent plus facile d’utiliser l’affichage numérique du capteur SIREA ou le logiciel de Configuration de capteurs numérique SIREA, en particulier pour obtenir un accès protégé par mot de passe. Le logiciel de Configuration de capteurs numérique SIREA dispose d’installations pour stocker des configurations sur disque pour une récupération ultérieure et la mise en place rapide de produits configurés de la même façon.

Mot de passe
Certains des paramètres décrits ci-dessus sont protégés par un mot de passe et nécessitent donc de saisir un mot de passe dans le registre des mots de passe avant qu’ils ne puissent être modifiés. Le mot de passe par défaut est 0000. Lorsque le mot de passe a été entré, il sera arrêté en une minute, sauf si le mot de passe ou le registre des verrous de mot de passe est lu pour réinitialiser la minuterie d’arrêt. Une fois les modifications requises apportées aux paramètres protégés le verrou de mot de passe doit être ré-appliqué en :
a) permettant le mot de passe à s’arrêter (ou temporiser), ou
b) écrivant n’importe quelle valeur au registre de verrous de mot de passe, ou
c) faisant un cycle d’alimentation de l’instrument.

9. Informations générales du RS485

Certaines des informations de cette section concernent d’autres familles de produits de capteurs numériques SIREA, et sont incluses pour aider dans le cas l’installation d’un réseau mixte. RS485 ou EIA (électronique Association des industries) RS485 est une ligne équilibrée, un système de transmission semi-duplex permettant des distances de transmission jusqu’à 1,2 km. Le tableau suivant résume les standards du RS-485 :

Paramètre
Mode d’opérationDifférentiel
Nombre de pilotes et de receveurs32 pilotes, 32 receveurs
Longueur maximale du câble1200m
Taux de données maximal10 M baud
Tensions maximale du mode tension12 V à –7 V
Niveaux minimum des pilotes sorties (chargés)+/– 1.5 V
Niveaux minimum des pilotes sorties (déchargés)+/– 6 V
Charge piloteMinimum 60 ohms
Limite courant de circuit court sortie pilote150 mA à Gnd,
250 mA à 12 V
250 mA à –7 V
Entrée de résistance minimale du receveur12 kohms
Sensibilité du receveur+/– 200 mV

D’autres informations relatives au RS485 peuvent être obtenues soit auprès de l’EIE, soit par les fabricants de dispositifs RS485, par exemple Texas Instruments ou Maxim semiconducteurs. Cette liste n’est pas exhaustive.

9.1 Demi duplex

Demi duplex est un système dans lequel un ou plusieurs émetteurs (talkers) peuvent communiquer avec un ou plusieurs récepteurs (listeners) avec un seul émetteur actif à un moment quelconque. Par exemple, une «conversation» est commencée en posant une question, la personne qui a posé la question écoutera alors jusqu’à ce qu’il obtienne une réponse ou jusqu’à ce qu’il remarque que la personne à qui a été posé la question ne répondra pas.
Dans un réseau 485, le «maître» va lancer la «conversation» avec une «requête» adressée à un « esclave » spécifique, le « maître » sera alors à l’écoute de la réponse de « l’esclave ». Si « l’esclave» ne répond pas dans la période prédéfinie (définie par le logiciel de contrôle dans le «Master»), le «maître» abandonnera la « conversation ».

9.2 Connexion des instruments

Si vous connectez un réseau RS485 à un PC, faites attention si vous envisagez l’utilisation d’un RS232 pour convertisseur 485 avec un adaptateur USB – RS485. Considérez soit un convertisseur RS232 à RS485, connecté directement à une prise RS232 appropriée sur le PC, ou utilisez un convertisseur USB à RS485 ou, pour un PC de bureau une prise appropriée dans la carte RS485. (beaucoup de convertisseurs 232/485 consomment l’énergie de la prise RS232. Si vous utilisez un adaptateur USB vers RS232, il se peut que l’adaptateur n’ai pas assez de puissance disponible pour exécuter le convertisseur 232:485.)

Le câble à paires torsadées blindées doit être utilisé. Pour des passages de câble plus longs ou des environnements plus bruyants, l’utilisation d’un câble spécifiquement conçu pour RS485 peut être nécessaire pour obtenir une performance optimale. Toutes les bornes « A » doivent être connectées ensemble à l’aide d’un conducteur de câble à paires torsadées, toutes les bornes « B » doivent être connectées ensemble à l’aide de l’autre conducteur de la paire. Le blindage du câble doit être raccordé aux bornes « GND ».
Un câble Belden de type 9841 (paire unique) ou 9842 (deux paires) ou similaire avec une impédance caractéristique de 120 ohms est recommandé. Le câble doit posséder à chaque extrémité avec résistance 120 Ohm, ou quart de Watt (ou plus). Remarque: le diagramme montre uniquement la topologie du câblage. Suivez toujours l’identification du terminal sur l’étiquette du capteur numérique SIREA.

capture d’écran 2026 07 31 160956

Il ne doit pas y avoir plus de deux fils connectés à chaque borne, pour garantir qu’une chaîne en guirlande ou une configuration « ligne droite » est utilisée. Un réseau »Star » avec « stubs (Tees) » n’est pas recommandé car des réflexions dans le câble peuvent entraîner une altération des données.

capture d’écran 2026 07 31 161039

9.3 Terminaux A et B

Les connexions A et B des produits du capteur numérique SIREA peuvent être identifiées par les signaux présent sur eux alors qu’il y a une activité sur le bus RS485:

capture d’écran 2026 07 31 161125

9.4 Résolution des problèmes

· Commencez par un réseau simple, un maître et un esclave. Avec les produits capteur numérique SIREA ceci est facilement réalisable car le réseau peut être laissé intact tandis que les instruments individuels sont déconnectés en retirant la connexion RS485 de l’arrière de l’appareil.
· Vérifiez que le réseau soit correctement connecté. C’est-à-dire que tous les « A » soient connectés ensemble, et tous les « B » soient connectés ensemble, et aussi que tous les « GND » soient connectés ensemble.
· Confirmez que la donnée « transmise » sur le RS485 ne soit pas raisonnée vers le PC sur les lignes RS232 (cette installation est parfois une option de liaison dans le convertisseur). Beaucoup de packages basés sur des PC semblent moins performants lorsqu’ils reçoivent un écho du message qu’ils transmettent. SpecView et PCView (logiciel PC) utilisés avec un convertisseur RS232 à RS485 sont censés inclure cette fonctionnalité.
· Confirmez que l’adresse de l’instrument est la même que celle que le « Master » attend.
· Si le «réseau» fonctionne avec un seul instrument mais pas plus d’un, vérifiez que chaque instrument ait une adresse unique.
· Chaque demande de données doit être limitée à 40 paramètres ou moins. Passer outre cette condition pourrait impacter sur la performance de l’instrument et entraîner un temps de réponse supérieur à la spécification.
· Vérifiez que le mode de protocole Modbus (RTU ou ASCII) et les paramètres série (Baud rate, nombre de bits de données, nombre de bits d’arrêt et parité) sont les mêmes pour tous les périphériques du réseau.
· Vérifiez que le «maître» demande des variables à virgule flottante (complète) et ne «fractionne» pas ces variables.
· Vérifiez que l’ordre d’octet à virgule flottante attendu par le «maître» est le même que celui utilisé par les produits de capteur numérique SIREA (les packages PCView et Citect peuvent utiliser un certain nombre de formats y compris celui pris en charge par le capteur numérique SIREA).
· Si possible, obtenez un second convertisseur RS232/RS485 et branchez-le entre le bus RS485 et un PC supplémentaire équipé d’un package logiciel, qui peut afficher les données sur le bus. Vérifier l’existence de demandes valides.

10. Informations générales sur le protocole Modbus

La communication sur un protocole de réseau Modbus est initiée (démarrée) par un «maître» envoyant une requête à un « esclave ». L’esclave, qui surveille constamment les requêtes adressées au réseau, répondra en effectuant l’action demandée et en envoyant une réponse au « maître ».
Seul le « maître » peut lancer une requête.

capture d’écran 2026 07 31 161451

Dans le protocole Modbus, le maître peut s’adresser à des esclaves individuels, ou, peut lancer un message de diffusion à tous les esclaves en utilisant une adresse de « Diffusion Broadcast » spécifique. Le capteur numérique SIREA ne prend pas en charge l’adresse de diffusion.

10.1 Format de message du protocole Modbus

Le protocole Modbus définit le format de la requête du maître et la réponse de l’esclave.
La requête contient l’adresse de périphérique (ou de diffusion), un code de fonction définissant l’action requise, toutes les données à envoyer et un champ de vérification des erreurs.
La réponse contient des champs confirmant l’action entreprise, toutes les données à retourner et un champ de vérification des erreurs. Si une erreur s’est produite lors de la réception du message, le message est ignoré, si l’esclave n’est pas en mesure d’exécuter l’action demandée, il va construire un message d’erreur et l’envoyer comme réponse. Les fonctions de protocole Modbus utilisées par le capteur numérique SIREA copient les valeurs de registre 16 bits entre le maître et
les esclaves. Toutefois, les données utilisées par le capteur numérique SIREA est en format à virgule flottante 32 bit IEEE 754. Ainsi, chaque paramètre d’instrument est conceptuellement détenu dans deux registres de protocole Modbus adjacents.
L’exemple suivant illustre une demande pour un seul paramètre à virgule flottante, à savoir 2 registres 16 bits du protocole Modbus.

Premier bit Dernier bit

Adresse
de
l’esclave
Code
fonction
Adresse
de
départ
(Hi)
Adresse
de
départ
(Lo)
Nombre
de
points
(Hi)
Nombre
de
points
(Lo)
Nombre
de
points
(Lo)
Verificati
on
erreur
(Lo)
Verificati
on
erreur
(Hi)

Adresse esclave: valeur de 8 bits représentant l’esclave en cours d’adressage (1 à 247), 0 est réservé pour l’adresse de diffusion. Les capteurs numériques SIREA ne prennent pas en charge l’adresse de diffusion.
Code de fonction: valeur 8-bit indiquant à l’esclave concerné quelle action doit être exécutée. (3, 4, 8 ou 16 sont valides pour les capteurs numériques SIREA)
Adresse de départ (HI): les huit bits de point fort (les plus significatif) d’un nombre de 16 bits spécifiant l’adresse de commencement des données demandées.
Adresse de départ (Lo): les huit de point faible (les moins significatif) d’un numéro 16 bits spécifiant l’adresse de commencement des données demandées. Comme les registres sont utilisés par paires et commencent à zéro, alors ce doit être un nombre pair.
Nombre de points (HI): les huit bits de point fort (les plus significatif) d’un nombre de 16 bits spécifiant le nombre de registres demandés.
Nombre de points (Lo): les huit bits de point faible (moins significatif) d’un nombre 16 bits spécifiant le nombre de registres demandés. Comme les registres sont utilisés par paires, cela doit être un nombre pair.
Vérification des erreurs (Lo): les huit bits de point faible (les moins significatif) d’un numéro 16 bits spécifiant la valeur de vérification d’erreur.
Vérification des erreurs (HI): les huit bits de point fort (les plus significatif) d’un nombre 16 bits représentant la valeur de vérification d’erreur.
Réponse
L’exemple illustre la réponse normale à une demande pour un seul paramètre à virgule flottante par exemple les deux registres de protocole Modbus 16 bits.

Premier bit Dernier bit

Adresse
de
l’esclave
Code
fonction
Nombre
de bit
Premier
registre
(Hi)
Premier
registre
(Lo)
Second
registre
(Hi)
Second
registre
(Lo)
Verificati
on
erreur
(Lo)
Verificati
on
erreur
(Hi)

Adresse esclave: valeur 8 bits représentant l’adresse de l’esclave qui répond.
Code de fonction: valeur de 8 bits qui, lorsqu’une copie du code de fonction dans la requête, indique que l’esclave a reconnu la requête et a répondu (voir aussi réponse aux exceptions).
Nombre d’octets: valeur de 8 bits indiquant le nombre d’octets de données contenus dans cette réponse.
Premier registre (HI) *: les huit bits de point fort (les plus significatif) d’un nombre de 16 bits représentant le premier registre demandé dans la requête.
Premier registre (Lo) *: les huit bits bas de point faible (moins significatif) d’un nombre 16 bits représentant le premier registre demandé dans la requête.
Deuxième Registre (HI) *: les huit bits de point fort (les plus significatif) d’un nombre de 16 bits représentant le deuxième registre demandé dans la requête.
Deuxième Registre (Lo) *: les huit bits de point faible (moins significatif) d’un nombre 16 bits représentant le deuxième registre demandé dans la requête.
Vérification des erreurs (Lo): les derniers bits de point faible (moins significatif) d’un nombre de 16 bits représentant la valeur de vérification d’erreur.
Vérification des erreurs (HI): les huit bits de point faible (le plus significatif) d’un nombre 16 bits représentant la valeur de vérification d’erreur.
* ces quatre octets ensemble donnent la valeur du paramètre de virgule flottante demandée.
Réponse d’exception
Si une erreur est détectée dans le contenu de la requête (à l’exclusion des erreurs de parité et de vérification des erreurs incompatibilité), une réponse d’erreur (appelée réponse d’exception) sera envoyée au maître. Cette réponse d’exception est identifiée car le code de fonction est une copie de le code fonction de requête, mais avec le jeu de bit le plus significatif. La donnée contenue dans une réponse d’exception est un code d’erreur d’octet unique.

Premier bit Dernier bit

Adresse de
l’esclave
Code fonctionCode erreurVerification
erreur (Lo)
Verification
erreur (Hi)

Adresse esclave: valeur 8 bits représentant l’adresse de l’esclave qui répond.
Code de fonction: valeur de 8 bits qui est le code de fonction dans la requête OR’ed avec 80 Hex, indiquant que l’esclave soit ne reconnaît pas la requête ou n’a pas pu exécuter l’action demandée. Code d’erreur: valeur 8 bits indiquant la nature de l’exception détectée (voir «tableau des Codes d’exception » plus loin).
Vérification des erreurs (Lo): les huit bits de point faible (moins significatif) d’un nombre de 16 bits représentant la valeur de vérification d’erreur.
Vérification des erreurs (HI): les huit bits de point fort (le plus significatif) d’un nombre 16 bits représentant la valeur de vérification d’erreur.

10.2 Modes de transmission en série

Il existe deux modes de transmission en série de protocole Modbus, RTU et ASCII. Les capteurs numériques SIREA ne prennent pas en charge le mode ASCII.
En Modbus RTU (Remote Terminal Unit), chaque octet 8 bits est utilisé dans la plage binaire complète et n’est pas limité aux caractères ASCII comme en mode ASCII. La densité de données plus grande permet un meilleur débit de données pour le même bauds rate, cependant chaque message doit être transmis en flux continu. Il est très peu probable que ce soit un problème pour les équipements de communications modernes.

Système de codage: 8-bit binaire complet par octet. Dans ce document, la valeur de chaque octet sera indiquée comme deux caractères hexadécimaux chacun dans la plage 0-9 ou A-F.
Protocole de ligne: 1 bit de début, suivi des 8 bits de données. Les 8 bits de données sont envoyés avec le moins significatif en premier.
Option utilisateur de parité sans parité et 2 bits d’arrêt
Et bits de stop:
-pas de parité et 1 bit de stop
-parité paire et 1 bit de stop
-parité impaire et 1 bit de stop

Option utilisateur de baud 4800; 9600; 19200; 38400
Taux: les capteurs numériques ne soutiennent pas 38400 mais ne proposent 2400 à la place.
Le baud rate, la parité et les bits d’arrêt doivent être sélectionnés pour correspondre aux paramètres du maître.

10.3 Synchronisation des messages de protocole Modbus (mode RTU)

Un message de protocole Modbus a défini des points de début et de fin. Les périphériques receveurs reconnaissent le début du message, lisent l’«adresse esclave» pour déterminer si elles sont traitées et savoir quand le message est terminé, ils peuvent utiliser l’octet de versification des erreurs et les bits de parité pour confirmer l’intégrité du message. Si le contrôle d’erreur ou de parité échoue alors le message est écarté.
En Modbus RTU, les messages commencent par un intervalle silencieux d’au moins 3,5 fois le caractère.
Le premier octet d’un message est ensuite transmis, à l’adresse du périphérique.
Les périphériques Master et Slave surveillent continuellement le réseau, y compris pendant les intervalles silencieuses. Lorsque le premier octet (l’octet d’adresse) est reçu, chaque périphérique le vérifie pour savoir si c’est le périphérique adressé. Si le périphérique détermine que c’est celui qui est adressé, il enregistre tout le message et agit en conséquence, si elle n’est pas traitée, elle continue de surveiller le message suivant.
Après le dernier octet transmis, un intervalle silencieux d’au moins 3,5 caractères temps marque la fin du message. Un nouveau message peut commencer après cet intervalle.
Dans les SIREA 1000 et 2000, un intervalle silencieux de 60 msec minimum est requis afin de garantir la réception réussie de la prochaine demande.
Le message entier doit être transmis sous forme de flux continu. Si un intervalle silencieux de plus de 1,5 caractères temps se produit avant l’achèvement du message, le périphérique de réception vide le message incomplet et suppose que l’octet suivant sera l’octet d’adresse d’un nouveau message.
De même, si un nouveau message commence plus tôt que 3,5 caractères temps à la suite d’un précédent message, l’appareil récepteur peut considérer qu’il s’agit de la suite du message précédent. Cela se traduira par une erreur, car la valeur du champ CRC final ne sera pas valide pour l’ensemble des messages.

10.4 Comment les caractères sont transmis en série

Lorsque les messages sont transmis sur des réseaux série de protocole Modbus standard, chaque octet est envoyé dans cet ordre (de gauche à droite):
Caractère de transmission = bit de début + octet de données + bit de parité + 1 bit de stop (total de 11 bits):

image

Les capteurs numériques SIREA ne supportent en outre aucune parité, un bit d’arrêt.
Caractère de transmission = bit de début + octet de données + 1 bit de stop (total de 10 bits):):

image

Le maître est configuré par l’utilisateur pour un délai d’attente prédéterminé. Le maître attendra durant cette période de temps avant de décider que l’esclave ne va pas répondre et que la transaction devrait être abandonnée. Il faut prendre soin de déterminer le délai d’attente des spécifications du maître et des esclaves. L’esclave peut définir le «temps de réponse» comme étant la période de réception du dernier bit de la requête à la transmission du premier bit de la réponse. Le maître peut définir le «temps de réponse» comme période entre la transmission du premier bit de la requête à la réception du dernier bit de la réponse. On peut voir que le temps de transmission du message, qui est fonction du bauds rate, doit être inclus dans le calcul de délai.

image

10.5 Méthodes de vérification des erreurs

Les réseaux en série du Protocole Modbus standard utilisent deux processus de vérification des erreurs, l’octet de vérification des erreurs mentionné ci-dessus vérifie l’intégrité du message tout en vérifiant la parité (pair ou impair) et peut être appliqué à chaque octet dans le message.

10.5.1 Vérification de la parité

Si la vérification de parité est activée – en sélectionnant la parité pair ou impair- la quantité de « 1 » sera compté dans la partie de données de chaque caractère de transmission. Le bit de parité sera alors réglé sur un 0 ou 1 pour aboutir à un total pair ou impair de « 1 ».
Notez que la vérification de parité peut seulement détecter une erreur si un nombre impair de bits sont ramassés ou jetés dans un caractère d’émission pendant la transmission, si par exemple deux 1 sont corrompus à 0 le contrôle de parité ne trouve pas l’erreur.
Si aucun contrôle de parité n’est spécifié, aucun bit de parité n’est transmis et aucun contrôle de parité ne peut être effectué. En outre, si aucun contrôle de parité n’est spécifié et qu’un bit d’arrêt est sélectionné, le caractère d’émission est effectivement raccourcie d’un bit.

10.5.2 Contrôle CRC

Les octets de contrôle des erreurs des messages du protocole Modbus contiennent une vérification de la redondance cyclique (CRC) utilisée pour vérifier le contenu du message entier. Ils doivent toujours être présents pour se conformer au protocole Modbus, il n’y a pas d’option pour les désactiver.
Les octets de contrôle d’erreur représentent une valeur binaire de 16 bits calculée par le périphérique émetteur.
L’appareil récepteur doit recalculer le CRC pendant la réception du message et comparer la valeur calculée à la valeur reçue dans les octets de contrôle d’erreur. Si les deux valeurs ne sont pas égales, le message doit être écarté.
Le calcul de vérification des erreurs commence par un premier pré-chargement d’un registre 16 bits à tous les 1 (par exemple hex (ffff)) chaque octet 8 bits successif du message est appliqué au contenu actuel du registre. Note: seuls les huit bits de données dans chaque caractère de transmission sont utilisés pour générer le CRC, bits de démarrage, bits d’arrêt et le bit de parité, si l’un est utilisé, ne sont pas inclus dans les octets de vérification des erreurs.

Pendant la génération des octets de contrôle d’erreur, chaque octet de message de 8 bits est changé en OU exclusif avec la moitié inférieure du registre de 16 bits. Le registre est ensuite déplacé huit fois dans la direction du bit le moins significatif (LSB), avec un zéro inséré à la position du bit le plus significatif (DSG). Après chaque changement le LSB avant le déplacement est extraite et examinée. Si le LSB vaut 1, le registre est alors changé en OU exclusif avec une valeur prédéfinie et fixe. Si le LSB vaut 0, il n’y aurait pas d’OU exclusif.
Ce processus est répété jusqu’à ce que les huit changements aient été effectués. Après le dernier changement, l’octet suivant est changé en OU exclusif avec les 8 bits de poid faible du registre de 16 bits, et le processus se répète. Le contenu final du registre, après que tous les octets du message aient été appliqué, est la valeur de vérification d’erreur. Dans le pseudo-code suivant, « mot d’erreur » est une valeur de 16 bits représentant les valeurs de vérification d’erreur.

Commencer
Mot d’erreur = hex (ffff)
Pour chaque octet dans le message
Mot d’erreur = octet mot erreur XOR dans le message
Pour chaque bit en octet
LSB = mot d’erreur et Hex (0001)
Si LSB = 1 alors mot d’erreur = mot d’erreur-1
Mot d’erreur = mot d’erreur/2
If LSB = 1, puis mot d’erreur = erreur mot XOR hex (A001)
Bit suivant en octet
Octet suivant dans le message
Fin

10.6 Codes de fonction

La partie code fonction d’un message de protocole Modbus définit l’action à prendre par l’esclave. Les capteurs numériques SIREA prennent en charge les codes de fonction suivants:

CodeNom de protocole ModbusDescription
03Registre de lecture des d’exploitationLit le contenu d’emplacement lu/écrit
(références 4X)
04Registre de lecture des entréesLit le contenu d’emplacement lu uniquement
(références 3X)
08DiagnosticsSeule la sous-fonction zéro est prise en charge.
Cela renvoie l’élément de données de la
requête inchangée.
15Registre des multiples pré-configurésConfigure le contenu d’emplacement lu/écrit
(références 4X)

10.7 Format de virgule flottante IEEE

Le protocole Modbus définit des « registres » 16 bits pour les variables de données. Un nombre de 16 bits s’avérerait trop restrictif, pour les paramètres énergétiques par exemple, comme la portée maximale d’un nombre 16 bits est 65535.
Toutefois, un certain nombre d’approches ont été adoptées pour surmonter cette restriction. Les capteurs numériques SIREA utilisent deux registres consécutifs pour représenter un nombre à virgule flottante, en augmentant effectivement la plage à + ou – 1037.
Les valeurs produites par les capteurs numériques SIREA peuvent être utilisées directement sans aucune exigence pour « dimensionner » les valeurs, par exemple, les unités pour les paramètres de tension sont volts, les unités pour les paramètres de puissance sont watts etc.

Qu’est-ce qu’un nombre à virgule flottante?
Un nombre à virgule flottante est un nombre avec deux parties, un mantisse et un exposant et est écrit sous la forme 1,234 x 105. Le mantisse (1,234 dans cet exemple) doit avoir la virgule décimale déplacé vers la droite avec le nombre de places déterminées par l’exposant (5 places dans cet exemple) i.e. 1.234 x 105 = 123400. Si l’exposant est négatif, la virgule décimale est déplacée vers la gauche.

Qu’est-ce qu’un nombre à virgule flottante au format IEEE 754?
Un nombre à virgule flottante IEEE 754 est l’équivalent binaire d’un nombre à virgule flottante décimale décrit ci-dessus. La différence majeure étant que le bit le plus significatif de la mantisse est toujours arrangé pour être 1 et n’est donc pas nécessaire dans la représentation du nombre. Le processus par lequel le bit le plus significatif est arrangé pour être 1 est appelé normalisation, le mantisse est donc désigné comme un «mantisse normal». Pendant la normalisation, les bits du mantisse sont décalés vers la gauche tandis que l’exposant est réduit jusqu’à ce que le bit le plus significatif de la mantisse soit un. Dans le cas particulier où le nombre est zéro la mantisse et l’exposant sont nuls.

Les bits d’un format IEEE 754 ont la signification suivante :

image

Où:
S représente le bit de signe où 1 est négatif et 0 est positif
E est l’exposant 8 bits avec un décalage de 127 i.e. un exposant de zéro est représenté par 127, un exposant de 1 par 128 etc.
M est le 23-bit normal mantisse. Le 24e bit est toujours 1 et, par conséquent, n’est pas stocké.

En utilisant le format ci-dessus le nombre à virgule flottante 240,5 est représenté comme 43708000 hex:

image

L’exemple suivant montre comment convertir des nombres à virgule flottante IEEE 754 de leur forme hexadécimale à la forme décimale. Pour cet exemple, nous allons utiliser la valeur de 240,5 montrée ci-dessus.
Notez que la représentation de stockage en virgule flottante n’est pas un format intuitif. Pour convertir cette valeur décimale, les bits doivent être séparés comme spécifié dans Tableau de format de stockage de nombres à virgule flottante ci-dessus.

Par exemple :

image

Vous pouvez ainsi déterminer les informations suivantes.
· Le bit de signe est 0, indiquant un nombre positif.
· La valeur de l’exposant est 10000110 binaire ou 134 décimale. Soustraire 127 de 134 feuilles 7, qui est l’exposant réel.
· Le mantisse apparaît comme le nombre binaire 11100001000000000000000

Il y a un point binaire implicite à gauche du mantisse qui est toujours précédé d’un 1. Ce bit n’est pas stocké dans la représentation hexadécimale du nombre à virgule flottante. Ajout de 1 et du point binaire jusqu’au début du mantisse donne les éléments suivants: 1.11100001000000000000000
Maintenant, nous ajustons le mantisse pour l’exposant. Un exposant négatif déplace le point binaire vers la gauche. Un exposant positif déplace le point binaire vers la droite. Parce que l’exposant est 7, le mantisse est ajusté comme suit: 11110000.1000000000000000
Enfin, nous avons un nombre binaire à virgule flottante. Les bits binaires qui sont à gauche du point binaire représentent la puissance de deux correspondant à leur position. Par exemple, 11110000 représente (1 x 27) + (1 x 26) + (1x 25) + (1 x 24) + (0 x 23) + (0 x 22) + (0 x 21) + (0 x 20) = 240.
Les bits binaires qui se trouvent à droite du point binaire représentent également une puissance de 2 correspondant à leur position. Comme les chiffres sont à droite du point binaire, les puissances sont négatives. Par exemple: 100 représente (1 x 2-1) + (0 x 2-2) + (0 x 2-3) +… ce qui équivaut à 0,5.
Ajouter ces deux nombres ensemble et faire référence au bit de signe produit le nombre + 240,5.
Pour chaque valeur à virgule flottante demandée, deux registres de protocole Modbus (quatre octets) doivent être demandé. L’ordre et la signification reçus de ces quatre octets pour les capteurs numériques SIREA est montré ci-dessous:

image

10.8 Commandes prises en charge par le protocole Modbus

Tous les capteurs numériques SIREA prennent en charge les commandes de Protocole RTU de protocole Modbus : « le registre de lecture d’entrée » (registres 3X), le « registre de lecture d’exploitation » (registres 4X) et les » registres de plusieurs pré-configurés » (registres écriture 4x).
Toutes les valeurs stockées et retournées sont au format virgule flottante à IEEE 754 avec le registre le plus significatif en premier.

Les registres de lecture d’entrée
Le code 04 de protocole Modbus lit le contenu des registres 3x.

Exemple
La requête suivante demandera ‘volts 1’à partir d’un instrument avec l’adresse de nœud 1:

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction04
Adresse de départ Haute00
Adresse de départ Basse00
Nombre de points Haut00
Nombre de points Bas02
Verification erreur Haute71
Verification erreur BasseCB

Note: les données doivent être demandées dans les paires de registres, c’est-à-dire l’«adresse de départ» et le «nombre de points » doivent être des nombres pairs pour demander une variable à virgule flottante. Si l’«adresse de départ» ou le « nombre de points » est étrange, alors la requête va tomber au milieu d’une variable à virgule flottante le produit renverra un message d’erreur.
La réponse suivante renvoie le contenu de volts 1 comme 230,2. Mais voir aussi « exception Réponse » plus loin.

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction04
Nombre de bits04
Donnée, Registre haut, bit de point fort43
Donnée, registre haut, bit de point faible66
Donnée, registre bas, bit de point fort33
Donnée, registre bas, bit de point faible34
Verification erreur Basse1B
Verification erreur Haute38

10.9 Registres d’exploitation

10.9.1 Registres de lecture d’exploitation

Le code 03 de protocole Modbus lit le contenu des registres 4x.
Exemple
La requête suivante demandera le «temps de demande» en vigueur:

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction03
Adresse de départ Haute00
Adresse de départ Basse00
Nombre de points Haut00
Nombre de points Bas02
Verification erreur HauteC4
Verification erreur Basse0B

Note: les données doivent être demandées dans les paires de registres i.e. « l’adresse de départ» et le «nombre de points» doivent être des nombres pairs pour demander une variable à virgule flottante. Si l’«adresse de départ» ou le «nombre de points» est impair, alors la requête tombera au milieu d’une variable à virgule flottante, le produit renverra un message d’erreur.
La réponse suivante renvoie le contenu du temps de demande en tant que 1, mais voir aussi «réponse d’exception» plus tard.

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction03
Nombre de bits04
Donnée, Registre haut, bit de point fort3F
Donnée, registre haut, bit de point faible80
Donnée, registre bas, bit de point fort00
Donnée, registre bas, bit de point faible00
Verification erreur BasseF7
Verification erreur HauteCF

10.9.2 Registres d’écriture d’exploitation

Le code 10 de protocole Modbus (16 décimal) écrit le contenu des registres 4x.

Exemple
La requête suivante définit la période de demande à 60, ce qui réinitialise effectivement le temps de demande:

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction10
Adresse de départ Haute00
Adresse de départ Basse02
Nombre de registres Haut00
Nombre de registres Bas02
Nombre de bits04
Donnée, Registre haut, bit de point fort42
Donnée, registre haut, bit de point faible70
Donnée, registre bas, bit de point fort00
Donnée, registre bas, bit de point faible00
Verification erreur Haute67
Verification erreur BasseD5

Note: les données doivent être écrites dans des paires de registres, c’est-à-dire que « l’adresse de départ » et le « nombre de points » doivent être des nombres pairs pour écrire une variable à virgule flottante. Si l’«adresse de départ» ou le «nombre de points» est impair, alors la requête tombera au milieu d’une variable à virgule flottante, le produit renverra un message d’erreur. En général, une seule valeur à virgule flottante peut être écrite par requête

La réponse suivante indique que l’écriture a été réussie. Voir aussi « réponse d’exception » plus loin.

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction10
Adresse de départ Haute00
Adresse de départ Basse02
Nombre de registres Haut00
Nombre de registres Bas02
Verification erreur HauteE0
Verification erreur Basse08

10.10 Réponse d’exception

Si l’esclave dans l’exemple ci-dessus, n’avait pas appuyé cette fonction, il aurait répondu avec une réponse d’exception comme indiqué ci-dessous. Le code de fonction d’exception est le code de fonction d’origine de la requête avec le set MSB, c’est-à-dire qu’il a eu 80 hex logiquement changé en OU avec elle. Le code d’exception indique la raison de l’exception. L’esclave ne répondra pas à tous s’il y a une erreur avec la parité ou CRC de la requête. Toutefois, si l’esclave ne peut pas traiter la requête, il répondra avec une exception. Dans ce cas, un code 01, la fonction demandée n’est pas prise en charge par cet esclave.

La requête suivante demandera ‘volts 1’ à partir d’un instrument avec l’adresse de nœud 1:

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction10 ou 80 = 90
Code d’exeption01
Verification erreur Haute8D
Verification erreur BasseC0

10.11 Codes d’exception

Table des codes d’exception

Les capteurs numériques SIREA prennent en charge les codes de fonction suivants:

Code
d’exception
Nom de protocole ModbusDescription
01Fonction illégaleLe code fonction n’est pas soutenu par le produit
02Adresse de donnée illégaleTentative d’accéder à une adresse invalide ou
tentative de lire ou d’écrire une partie de la valeur à
virgule flottante
03Valeur de donnée illégaleTentative de donner une valeur non valide à une
variable à virgule flottante
05Échec d’instrument esclaveUne erreur est apparue lorsque l’instrument à essayer
de garder une mise à jour dans sa configuration

10.12 Diagnostics

Le code de protocole Modbus 08 fournit un certain nombre de sous-fonctions diagnostiques.
Seule la sous-fonction « Return Query Data » (sous-fonction 0) est prise en charge sur les capteurs numériques SIREA.

Exemple
La requête suivante enverra une requête de diagnostic « Return Query Data » avec les éléments de données définis sur hex (AA) et Hex (55) et s’attendra à ce que celles-ci soient retournées dans la réponse:

Nom du champExemple (Hex)
Adresse de l’esclave01
Fonction08
Sub-fonction Haute00
Sub-fonction Basse00
Octet de données 1AA
Octet de données 255
Verification erreur Haute5E
Verification erreur Basse94

Remarque: il faut envoyer exactement un registre de données (deux octets) avec cette fonction.

La réponse suivante indique la réponse correcte à la requête, c’est-à-dire les mêmes octets que la requête.

SmartEMS : Flexibilité

Dernière modification le

Table des matières

1. Lecteurs ciblés

Cette documentation est à destination des opérateurs de flexibilité ayant pour mission d’opérer une installation de production ou de gestion d’énergie pilotée par un gestionnaire d’énergie SIREA déléguée dans le cadre d’un contrat d’agrégation.

2. Introduction

Ce document décrit le rôle et les méthodes d’utilisation des variables de lecture et d’écriture permettant la supervision et le pilotage d’un produit équipé d’un EMS développé par SIREA.

L’accès en lecture et en écritures des variables présentées ci-dessous est strictement réservé opérateurs autorisés par SIREA, dans un cadre sécurisé et contractualisé.

2. Variables disponibles en lecture

2.1. Données du site

Les variables suivantes permettent d’obtenir des informations sur les caractéristiques techniques du site.

VariableTypeDescriptionUnitéÉtat
PinstallINTPuissance crête photovoltaïque installéekWcDisponible
PsouscINTPuissance souscrite auprès du fournisseur d’électricitéVADisponible

2.2. Données de puissance

Les variables suivantes permettent d’obtenir les différentes puissances mesurées et collectées par le système en temps réel. Les données étant historisées, il est possible de visualiser l’historique des puissances collectées.

VariableTypeDescriptionUnitéÉtat
R_P_GenTotFLOATPuissance de production photovoltaïque réelle.WDisponible
R_P_ConsoTotFLOATPuissance de la consommation totale du siteWDisponible
R_P_ResFLOATPuissance soutirée ou injectée sur le réseauW
Positif = Soutirage
Négatif = Injection
Disponible

2.3. Données d’énergie

Les variables suivantes permettent d’obtenir l’historique des énergies calculées sur la période souhaitée.

VariableTypeDescriptionÉtat
R_EaImpBrute_GenTotFLOATÉnergie photovoltaïque réellement produite.Disponible
R_EaImp_AutoconsoFLOATÉnergie photovoltaïque autoconsommée directementDisponible
R_EaImpBrute_ResFLOATÉnergie soutirée au réseauDisponible
R_EaExpBrute_ResFLOATÉnergie injectée au réseauDisponible
R_EaImpBrute_ConsoTotFLOATÉnergie totale consomméeDisponible

2.4. Informations liées à la batterie

La délégation à un opérateur externe d’une batterie SIREA ne peut se faire que dans un cadre sécurisé et contractualisé. Pour savoir si l’actif est disponible, il convient de vérifier les données en puissance et en énergie disponibles dans la batterie pour s’assurer de la quantité d’énergie nécessaire pour le besoin.

VariableTypeDescriptionUnitéÉtat
RM_SOCINTÉtat de charge de la batterie%Disponible
RM_SOHINTÉtat de santé de la batterie%Disponible
RM_PbattFLOATPuissance de la batterieW
Positif = Charge
Négatif = Décharge
Disponible
RM_EposBattFLOATÉnergie chargée en batterie (toutes sources)kWhDisponible
RM_EnegBattFLOATÉnergie déchargée de la batterie (toutes directions)kWhDisponible
R_Nb_cyclesINTNombre de cycles équivalents réalisés par le système batterieIndisponible
R_CapaciteINTCapacité moyenne du module batterie (prise en compte du SOH)AhIndisponible
WC_NbEltBattINTNombre de modules batteries présents dans le systèmeDisponible
RC_UbatNominaleINTTension nominale d’un module batterieVDisponible
RC_CapaEltBatINTCapacité nominale d’un module batterieAhDisponible

2.5. Données utiles pour le pilotage

VariableTypeDescriptionUnitéÉtat
PuissanceDispoChargeFLOATPuissance disponible en temps réel par la batterie en chargeWIndisponible
PuissanceDispoDechargeFLOATPuissance disponible en temps réel par la batterie en déchargeWIndisponible
EnergieDispoChargeFLOATÉnergie disponible en temps réel par la batterie en chargekWhIndisponible
EnergieDispoDechargeFLOATÉnergie disponible en temps réel par la batterie en déchargekWhIndisponible

Description : Variable dynamique calculée en temps réel, tenant compte de :

  • IMD (courant max de décharge).
  • IMR (courant max de charge).
  • SOC (état de charge).
  • Température de la batterie.
  • Dédauts (batterie/onduleur).
  • SOC min et SOC max.

2.6. Données des batteries détaillées par BMS

Pour plus de détail et d’informations sur le système batterie, de nombreuses données sont disponibles en lecture par BMS. Les variables portent à la fin _BX avec X le numéro du BMS dans le système.

VariableTypeDescriptionUnitéÉtat
B_DefCom_BXBOOLDéfaut de communication avec le BMS XDisponible
B_Defaut_BXBOOLDéfaut sur le BMS XDisponible
W_Ibatt_BXFLOATCourant dans le BMS XADisponible
W_BattTemp_BXFLOATTempérature maximale des batteries du BMS X°CDisponible
W_Tmin_BXFLOATTempérature minimale des batteries du BMS X°CDisponible
W_Pbatt_BXFLOATPuissance dans le BMS XWDisponible
W_SOC_BXFLOATÉtat de charge des batteries du BMS X%Disponible
W_SOH_BXFLOATÉtat de santé des batteries du BMS X%Disponible
W_Ubatt_BXFLOATTension des batteries du BMS XVDisponible
W_VcellMax_BXFLOATTension cellule maximale des batteries dans le BMS XmVDisponible
W_VcellMin_BXFLOATTension cellule minimale des batteries dans le BMS XmVDisponible
W_IMD_BXFLOATCourant maximal autorisé en décharge par le BMS XADisponible
W_IMR_BXFLOATCourant maximal autorisé en charge par le BMS XADisponible

3. Variables disponibles en écriture

3.1. Consignes générales sur le pilotage du site

VariableTypeDescriptionUnitéÉtat
ActivationZeroInjectionBOOLActiver le bridage automatique de la puissance PV de sorte éviter l’injection d’énergie au réseau. (0 = désactivé / 1 = activé)Disponible
WC_TauxLimitationPuissanceSouscriteINTTaux de sécurité de limitation de puissance souscrite à ne pas dépasser%Disponible
WC_SOCminINTLimite de SOC en décharge de la batterie%Disponible
WC_SOCmaxINTLimite de SOC en charge de la batterie.%Disponible

3.2. Reset des batteries en cas de défaut

En cas de défaut, il peut être utile de faire un reset sur les batteries afin d’acquitter le défaut.

VariableTypeDescriptionUnitéÉtat
B_ResetBMSBOOLPermet de réaliser un reset sur l’ensemble des BMS du système (0 = désactivé / 1 = activé)Disponible
B_ResetRequest_BXBOOLPermet de réaliser un reset uniquement sur le BMS X du système (0 = désactivé / 1 = activé)Disponible

3.3. Utilisation des batteries en mode forcé

Ce mode peut être utilisé si vous souhaitez prendre la main sur le système batterie en indiquant une consigne en puissance. Attention, le système répondra par une puissance selon la demande tout en regardant l’état du shelter et la disponibilité des batteries. Il est évident que vous ne pouvez pas demander une puissance de consigne supérieure à la puissance disponible en temps réel sur les batteries (en charge ou en décharge). Auquel cas, la consigne ne sera pas honorée. Il est important que vous contrôliez ces variables de puissance et énergie disponible en charge et décharge avant de demander une consigne. Pour utiliser ce mode, il suffit de passer la variable ForceChargeDechargeBattDistance à 1 et d’indiquer la consigne en puissance souhaitée en W dans la variable ForcePuissanceChargeDechargeAC.

VariableTypeDescriptionUnitéÉtat
ForceChargeDechargeBattDistanceBOOLActive la consigne de forçage de la puissance de la batterie (0 = désactivé / 1 = activé)Disponible
ForcePuissanceChargeDechargeACINTConsigne en puissance demandée en mode forcée en DC W
(Positif = charge / Négatif = décharge)
Disponible
# Forcer une décharge de 50 kW

ForceChargeDechargeBattDistance = 1
ForcePuissanceChargeDechargeAC = -50000

3.4. Utilisation des batteries en mode programmée

Ce mode peut être utilisé si vous souhaitez programmer sur la batterie des charges ou des décharges. Le principe est le même en charge ou en décharge mais les variables sont différentes. Dans le cas de la charge, il faut activer ce mode avec la variable EnableChargeProgrammee, saisir l’heure de début de la charge programmée dans HeureChargeProgrammeeStart et l’heure de fin dans HeureChargeProgrammeeStop, saisir également le SOC souhaité à atteindre SOC_CHARGE_PROGRAMMEE. Vous pouvez également choisir de limiter la puissance max de la charge programmée avec la variable WC_PmaxChargeProgrammee. Si ce n’est pas le cas, vous pouvez laisser la variable à 0.

Attention
Éviter les chevauchements entre les programmations de charge. Il est possible que le SOC désiré ne soit pas atteint sur la période programmée si la limite de puissance ou la durée de charge n’est pas suffisante.

Cas de la charge

VariableTypeDescriptionUnitéÉtat
EnableChargeProgrammeeBOOLActive/désactive le programme de charge planifiée.
(0 = désactivé / 1 = activé)
Disponible
HeureChargeProgrammeeStartINTHeure de début de la charge planifiée.HDisponible
HeureChargeProgrammeeStopINTHeure de fin de la charge planifiée.HDisponible
SOC_CHARGE_PROGRAMMEEINTLimite de SOC (%) visée pour une charge planifiée.%Disponible
WC_PmaxChargeProgrammeeINTPermet de définir la puissance max. de charge, sinon, la puissance de charge est également à (Psousc * 0.8)W
Positif = charge
Négatif = décharge
Disponible
# Activation de la charge planifiée de 20h à 22h avec un SOC visé  à 80 % sans limitation de puissance

EnableChargeProgrammee = 1
HeureChargeProgrammeeStart = 20
HeureChargeProgrammeeStop = 22
SOC_CHARGE_PROGRAMMEE = 80

Cas de la décharge

VariableTypeDescriptionUnitéÉtat
EnableDechargeProgrammeeBOOLActive/désactive le programme de décharge planifiée.
(0 = désactivé / 1 = activé)
Indisponible
HeureDechargeProgrammeeStartINTHeure de début de la décharge planifiée.HIndisponible
HeureDechargeProgrammeeStopINTHeure de fin de la décharge planifiée.HIndisponible
SOC_DECHARGE_PROGRAMMEEINTLimite de SOC (%) visée pour une décharge planifiée.%Indisponible
WC_PmaxDechargeProgrammeeINTPermet de définir la puissance max. de décharge, sinon, la puissance de charge est également à (Psousc * 0.8)W
Positif = charge
Négatif = décharge
Indisponible

3.5. Exemple d’utilisation

# Activation des programmes

EnableChargeProgrammee = 1


# Plages horaires

HeureChargeProgrammeeStart = 22
HeureChargeProgrammeeStop = 6


# Seuil max. de puissance sur la plage programmée à 80 kW

WC_PmaxChargeProgrammee = 80000


# Seuil SOC

SOC_CHARGE_PROGRAMMEE = 95

Interprétation :

  1. Nous activons le mode charge programmée.
  2. Nous indiquons ensuite les heures que la batterie commencera sa charge à 22h et arrêtera sa charge à 6h.
  3. Le seuil maximal de puissance de charge lorsque nous sommes en charge programmée permet de lisser la puissance sur la durée. Il limitera donc sur la période de 22h à 6h la puissance de charge à 80 kW jusqu’à ce que le SOC visé soit atteint ou que la durée soit terminée.
  4. La charge se coupera automatiquement si jamais le seuil de 95% d’état de charge (SOC) est atteint avant l’heure d’arrêt de charge ou si l’heure de fin est atteinte. Si la charge est terminée avant l’heure de fin, la batterie est maintenue à son SOC visé jusqu’à l’heure de fin. Il est impossible de décharger la batterie tant que l’heure de fin de la charge programmée n’a pas été atteinte.

Tores Rogowski

Dernière modification le

Bobine de Rogowski flexible fixe

1 page 1 eastron
  • Haute linéarité de 10A à 500 kA
  • Large plage dynamique
  • Très utile pour les conducteurs de grande taille ou de forme difficile, ou dans les endroits à accès limité
  • Non endommagé par les surcharges importantes
  • Non intrusif, ne prélève aucune puissance du circuit principal
  • Uniformité de mesure quelle que soit la position du conducteur à l’intérieur de la bobine
  • Excellente immunité aux conducteurs de courant externes
  • Grâce à son faible poids, elle peut être changée facilement sur le conducteur mesuré
  • Totalement blindée

Description

Les bobines ESCT-RRC sont des transducteurs de courant flexibles basés sur le principe de Rogowski, particulièrement adaptés aux mesures en combinaison avec des appareils portables. Elles sont disponibles en différentes tailles et peuvent être fournies selon les spécifications du client. Elles sont donc utilisables dans toutes les applications où les transducteurs traditionnels ne conviennent pas en raison de leur taille et/ou de leur poids. Grâce à ses caractéristiques spécifiques, la bobine de Rogowski flexible est une solution extrêmement confortable pour la mesure de courant et peut être utilisée dans de nombreux cas où un transducteur de courant traditionnel n’est pas adapté. Les bobines ESCT-RC sont équipées d’un blindage contre l’influence des champs magnétiques externes, garantissant ainsi une mesure stable des courants faibles jusqu’à des centaines de kA. Les bobines de Rogowski doivent être connectées à un intégrateur électronique pour la compensation du déphasage de 90° et l’égalisation de fréquence. Les appareils portables et les compteurs peuvent interfacer directement les bobines de Rogowski sans besoin d’intégrateurs externes, ce qui est un avantage car il n’y a pas de boîtiers externes ou d’alimentation électrique, ce qui facilite l’utilisation. Les caractéristiques particulières des bobines de Rogowski combinées à la programmation d’entrée extrêmement flexible des appareils portables permettent de réaliser des mesures pour toutes les applications.

Caractéristique

  • Diamètre de bobine très fin
  • Calibré à 0,5%
  • Uniformité de mesure quelle que soit la position du conducteur à l’intérieur de la bobine
  • Excellente immunité aux conducteurs de courant externes
  • Livré déjà calibré

Applications

  • Appareils de mesure, instrumentation de laboratoire
  • Systèmes de surveillance et de contrôle de puissance
  • Mesure des ondulations de courant continu
  • Surveillance des harmoniques et des transitoires
  • Capteur pour compteur de puissance, analyseur de puissance

Produits Associés

  • Intégrateurs : S10, S9.1, D1, S1, DA01/05, 01/03

Avantages

  • Grâce à sa structure, les bobines de Rogowski flexibles permettent d’enlacer des conducteurs ou des câbles groupés, qui sont grands et difficiles d’accès, sans aucun danger.
  • La sortie de la bobine donne un signal de basse tension, donc il n’y a aucun danger de circuit secondaire ouvert. Cela rend les transducteurs de Rogowski extrêmement adaptés aux mesures temporaires, par exemple en combinaison avec des analyseurs portables.
  • Contrairement aux transformateurs de courant traditionnels à noyau magnétique, la bobine de Rogowski est un transducteur non intrusif. Comme elle n’a pas de noyau dur, elle ne prélève aucune puissance du circuit principal transportant le courant à mesurer.

Qu’est-ce qu’une bobine de Rogowski ?

Les bobines de Rogowski sont utilisées depuis des décennies pour la détection et la mesure des courants électriques. Elles sont basées sur un principe simple : une bobine « sans noyau » est placée autour du conducteur de manière toroïdale et le champ magnétique produit par le courant induit une tension dans la bobine. La tension de sortie est proportionnelle à la vitesse de variation du courant. Cette tension est intégrée, produisant ainsi une sortie proportionnelle au courant. Grâce à des techniques d’enroulement de précision, spécialement développées à cet effet, les bobines sont fabriquées de manière à ce que leur sortie ne soit pas influencée par la position du conducteur à l’intérieur du tore, et à rejeter les interférences des champs magnétiques externes, causées par exemple par des conducteurs proches. Un système de mesure de courant à bobine de Rogowski se compose d’une combinaison de bobine et d’électronique de conditionnement. Les transducteurs de courant à bobine de Rogowski sont utilisés pour la mesure de courant alternatif. Ils peuvent être utilisés dans des circonstances similaires aux transformateurs de courant, mais pour de nombreuses applications, ils présentent des avantages considérables :

  • Large plage dynamique
  • Haute linéarité
  • Très utile pour les conducteurs de grande taille ou de forme difficile, ou dans les endroits à accès limité
  • Contrairement aux transformateurs de courant traditionnels, il n’y a aucun danger de circuit secondaire ouvert
  • Ils ne peuvent pas être endommagés par de grandes surcharges
  • Ils sont non intrusifs. Ils ne prélèvent aucune puissance du circuit principal transportant le courant à mesurer
  • Ils sont également légers et, dans certaines applications, suffisamment légers pour être suspendus au conducteur mesuré

Le transducteur ne mesure pas les courants continus, mais contrairement à un transformateur de courant, il peut effectuer des mesures précises de la composante alternative même s’il y a une grande composante continue superposée, car il n’y a pas de noyau de fer causant la saturation. Cette caractéristique est particulièrement utile pour mesurer les courants d’ondulation, par exemple dans les systèmes de charge de batterie.

Spécifications

Transducteur
Longueur de la bobine :de 20 cm à 1000 cm
Diamètre de la bobine :Ø8, Ø6, Ø12 mm
Fixation :support à baïonnette
Poids :150 g
Matériau :thermoplastique UL94-V0
Niveau de sortie (RMS) :ESCT-RC Series : 50 mV/kA @50Hz, 85 mV/kA @50Hz / 80mV/kA @60Hz, 100mV/kA @60Hz
ESCT-SRC Series : 120 mV/kA @50Hz, 240 mV/kA @50Hz / 200V/kA @60Hz, 333mV/kA @60Hz
Plage de courant :10A à 500 kA
Tolérance de sensibilité de sortie :±5% (non calibré)
Sensibilité de sortie/tolérance :±5%, 25°C (calibré)
Erreur de position :±1
Résistance de la bobine :de 70 à 900 Ω
Erreur de positionnement :meilleure que ±1% de la lecture (avec câble de 15 mm de diamètre)
Plage de fréquence :environ 40 Hz à 20 kHz
Tension de travail :1000 VRMS CAT III / 600 VRMS CAT IV degré de pollution 2
Tension d’essai :7400 VRMS / 1 min
Câble de connexion
Type :2 x 0,15 mm + blindage
Longueur :sur demande
Conditions environnementales
Température de fonctionnement :de -30°C à +80°C
Température de stockage :de -40°C à +80°C
Degré de protection :IP68 Type A B D,
IP65 Type E (ESCT-SRC Series),
IP54 Type C (ESCT-RC16/24/36)
Conformité aux normes
Sécurité :EN61010-1, EN61010-031, EN61010-2-031, EN61010-2-032

Tableau des Modèles

Ref de la bobineTaille de la fenêtre (mm)Longueur de la bobine (mm)Longueur du câble (mm)RatioN° de typeRemarque
AB
ESCT-RC606050200200085 mV/kA @50HzA 1. Couleurs de bobine différentes : Noir, Jaune, Rouge, Vert, Bleu (quantité minimale de commande requise)
2. Autres longueurs de câble, supérieures à la norme (2 m), jusqu’à 15 m
3. Autres longueurs de bobine que celles répertoriées, jusqu’à 1000 cm
4. Code produit : ESCT-RC-xxx (taille de la fenêtre)
ESCT-RC100135100395200085 mV/kA @50HzB
ESCT-RC105105100350200085 mV/kA @50HzA
ESCT-RC150165150525200085 mV/kA @50HzB
ESCT-RC200240200665200085 mV/kA @50HzB
ESCT-RC240245240800200085 mV/kA @50HzA
ESCT-RC16221680200050 mV/kA @50HzC
ESCT-RC2427,52497200050 mV/kA @50HzC
ESCT-RC363637130200050 mV/kA @50HzC
ESCT-RC456545205200085 mV/kA @50HzD
ESCT-SRC1001151003802000240 mV/kA @60HzE
ESCT-SRC1501751505552000240 mV/kA @60HzE
ESCT-SRC30031530010002000240 mV/kA @60HzE

Référence de Sélection

ESCT-RC60-2M-85-B

  • RC : < 120 mV/kA
  • SRC : ≥ 120 mV/kA
  • Longueur du câble (personnalisable)
  • Ratio : 85 mV/kA (personnalisable)
  • Couleur (R : Rouge, B : Bleu, O : Orange, Y : Jaune, G : Vert)

ESCT-RC60-2M-85-B signifie : taille de la fenêtre 60 mm, longueur du câble 2 mètres, ratio nominal 85 mV/kA et couleur bleue.

Tout les paramètres sont modifiables, contactez nous pour plus de détails.

Comment l’utiliser

Sensibilité de position

12 page 4 a bis

Position du conducteurErreur typique (%)
À côté du mécanisme de clip ensemble< 0,5%
À côté du bord intérieur de la bobine< 0,8%
À côté du clip opposé< 1%

13 page 4 b bis

Position du conducteurErreur typique (%)
À côté du mécanisme de clip ensemble< 0,5%
À côté du bord intérieur de la bobine< 0,8%
À côté du clip opposé< 1%

14 page 4 c bis

Position du conducteurErreur typique (%)
À côté du mécanisme de clip ensemble< 0,5%
À côté du bord intérieur de la bobine< 0,8%
À côté du clip opposé< 1%

15 page 4 d bis

Position du conducteurErreur typique (%)
À côté du mécanisme de clip ensemble< 0,5%
À côté du bord intérieur de la bobine< 0,8%
À côté du clip opposé< 1%

16 page 4 e bis

Position du conducteurErreur typique (%)
À côté du mécanisme de clip ensemble< 0,5%
À côté du bord intérieur de la bobine< 0,8%
À côté du clip opposé< 1%

Dimensions

Tolérance des dimensions A, B, C, F : ±5 mm, D : ±0,2 mm, E : ±10 mm

Type A : RC60, RC105, RC240

Type A:RC60RC105RC240
A. Taille de la fenêtre A60105245
B. Taille de la fenêtre B100150300
C. Diamètre extérieur de la bobine66121261
D. Section de la bobine8
E. Longueur total du câble2000
F. Longueur de la bobine200350800
Ratio (Calibré)80mV/kA@50Hz; 85mV/kA@50Hz; 100mV/kA@50Hz
Bande passante1 Hz to 50 kHz (-3dB)
17 page 5 dimension 1

Type B : RC100, RC150, RC200, RC300

Type B:RC100RC150RC200RC300
A. Taille de la fenêtre A135165210325
B. Taille de la fenêtre B100150200300
C. Diamètre extérieur de la bobine151181226340
D. Section de la bobine8
E. Longueur totale du câble2000
F. Longueur de la bobine3955256651050
Ratio (Calibré)80mV/kA@50Hz;85mV/kA@50Hz;100mV/kA@50Hz
Bande passante1Hz to 50kHz(-3dB)
18 page 5 dimension 2

Type C : RC16, RC24, RC36

Type C:RC16RC24RC36
A. Taille de la fenêtre A2227.536
B. Taille de la fenêtre B162437
C. Diamètre extérieur de la bobine3439.548
D. Section de la bobine6
E. Longueur totale du câble2000
F. Longueur de la bobine8097130
Ratio (Calibré)50mV/kA @50Hz
Bande passante1 Hz to 20 kHz (-3dB)
19 page 6 dimension 3

Type D : RC45

Type D:RC45
A. Taille de la fenêtre A65
B. Taille de la fenêtre B45
C. Diamètre extérieur de la bobine81
D. Section de la bobine8
E. Longueur totale du câble2000
F. Longueur de la bobine205
Ratio (Calibré)50mV/kA @50Hz;85mV/kA@50Hz;100mV/kA@50Hz
Bande passante1 Hz to 50 kHz (-3dB)
20 page 6 dimension 4

Type E : SRC100, SRC150, SRC300

Type E:RC100RC150RC300
A. Taille de la fenêtre A115175315
B. Taille de la fenêtre B100150300
C. Diamètre extérieur de la bobine139199399
D. Section de la bobine12
E. Longueur totale du câble2000
F. Longueur de la bobine3805551000
Ratio (Calibré)240mV/kA @60Hz
Bande passante1 Hz to 10 kHz (-3dB)
21 page 7 dimension 5

Protégé : Shelter PSS : Mise en service

Dernière modification le

Ce contenu est protégé par un mot de passe. Pour le voir, veuillez saisir votre mot de passe ci-dessous :

Table d’échange modbus

Dernière modification le

AdresseNomTypeDescriptionUnité
1000FaultBOOLAu moins 1 défaut sur l’installation
1001ForceChargeDechargeBattDistanteBOOLPilotage manuel : Activation (1) ou désactivation (0)
22000ForcePuissanceChargeDechargeACINT32Pilotage manuel : Puissance de charge (+) ou décharge (-) des batteriesW
32006R_EaExpBrute_ResFLOAT32Énergie injectée au réseaukWh
32012R_EaImpBrute_ConsoTotFLOAT32Énergie consomméekWh
32008R_EaImpBrute_GenTotFLOAT32Énergie produite par le solaire photovoltaiqekWh
32004R_EaImpBrute_ResFLOAT32Energie soutirée du réseaukWh
32010R_P_ConsoTotFLOAT32Puissance de la consommationW
32000R_P_GenTotFLOAT32Puissance du solaire photovoltaiqeW
32002R_P_ResFLOAT32Puissance réseau (soutirage signe positif / injection signe négatif)W
32022RM_EnegBattFLOAT32Energie déchargée de la batteriekWh
32020RM_EposBattFLOAT32Energie chargée dans la batteriekWh
32018RM_PbattFLOAT32Puissance de la batterie (charge signe positif / décharge signe négatif)W
32014RM_SOCFLOAT32État de charge de la batterie%
32016RM_SOHFLOAT32État de santé de la batterie%

Protégé : MQTT comment faire ?

Dernière modification le

Ce contenu est protégé par un mot de passe. Pour le voir, veuillez saisir votre mot de passe ci-dessous :

Protégé : API serveur de prédiction

Dernière modification le

Ce contenu est protégé par un mot de passe. Pour le voir, veuillez saisir votre mot de passe ci-dessous :

MicroSERVER

Dernière modification le

1. Lecteurs ciblés

Cette documentation est à destination des utilisateurs de l’application MicroSERVER, permettant la visualisation de données collectées depuis des automates SIREA.

2. Présentation de l’application

A venir …

3. API

3.1 Obsolescence

Cette API est disponible sur MicroSERVER jusqu’à la version vX.

3.2 Généralités

Ce document détaille les requêtes HTTP permettant à l’utilisateur d’interagir avec MicroSERVER au travers de fonctions PHP, fournissant ainsi une interface de communication entre le serveur Web et d’autres services externes.

3.3 Fonctions

3.3.1 Authentification

Syntaxe Python :

import requests
server_uri = 'URI'
user = 'USER'
password = 'PASS'
query = 'QUERY'
resp = requests.post(server_uri + query, {'usr': user, 'pwd': password})

Syntax AJAX :

var user = 'USER';
var password = 'PASS';
var query = 'QUERY';
function on_response(data, status, xhr) {
    // do something
}
$.post(query, {usr: user, pwd: password}, on_response);
ParamètreCommentaire
URIAdresse IP ou nom d’hôte du serveur hébergeant la base de données
USERIdentifiant de connexion
PASSWORDMot de passe associé à l’identifiant de connexion
QUERYRequête selon les fonctions PHP listées dans le document suivant
Avertissement
Pour des raisons de sécurité, veuillez utiliser la méthode POST pour les paramètres "usr" et "pwd".

Exemple de requête Python :

import requests
server_uri = 'https://192.168.43.108'
user = 'username'
password = 'password'
query = '/get_variables?dev=1'
resp = requests.post(server_uri + query, {'usr': user, 'pwd': password})

Exemple de requête AJAX :

var user = 'username';
var password = 'password';
var query = '/get_variables?dev=1';
function on_response(data, status, xhr) {
    // do something
}
$.post(query, {usr: user, pwd: password}, on_response);

3.3.2 get_variables.php

Cette requête récupère la valeur d’une ou plusieurs variables.

/get_variables.php?dev=DEV&var1=N1&var2=N2&...&varn=Nn
ParamètreCommentaire
DEVID de l’équipement
N1, N2, NnID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée. Une même requête permet de récupérer la valeur d’une ou plusieurs variables, sans limite
Information
Vous pouvez utiliser le paramètre "dev" OU les paramètres "var", mais un seul d'entre eux est obligatoire.

Syntaxe de la réponse XML :

<update>
   <variable>
	<timestamp></timestamp>
	<rowid></rowid>
      <address></address>
      <name></name>
	<value></value>
	<fvalue></fvalue>
	<alarm></alarm>
      <ack></ack>
   </variable>
   <variable>
	<timestamp></timestamp>
	<rowid></rowid>
      <address></address>
      <name></name>
	<value></value>
	<fvalue></fvalue>
	<alarm></alarm>
      <ack></ack>
   </variable>
</update>
TagCommentaire
<timestamp>Moment du dernier changement de la variable, mesuré en secondes depuis le 1er septembre 1970
<rowid>Identifiant de la variable
<address>Adresse de la variable
<name>Mnémonique de la variable
<value>Valeur de la variable, non formatée
<fvalue>Valeur de la variable, formatée selon le format défini dans MicroSERVER
<alarm>0 lorsqu’il n’y a pas d’alarme active associée à cette variable et 1 s’il y a des alarmes actives associées à cette variable
<ack>0 lorsque l’alarme n’est pas acquittée et 1 si l’alarme est acquittée

Exemple de requête :

https://192.168.43.108/get_variables.php?dev=4&var1=17&var2=18

Exemple de la réponse XML :

<update>
   <variable>
      <timestamp>1415788199.94717</timestamp>
      <rowid>17</rowid>
      <value>12</value>
      <address>%POW</address>
      <name>power</name>
      <fvalue>12 W</fvalue>
      <alarm>0</alarm>
      <ack>0</ack>
   </variable>
   <variable>
      <timestamp>1415788167.98588</timestamp>
      <rowid>18</rowid>
      <address>%POW</address>
      <name>power</name>
      <value>10</value>
      <fvalue>10 A</fvalue>
      <alarm>1</alarm>
      <ack>0</ack>
   </variable>
</update>

3.3.3 get_al.php

Cette requête récupère toutes les alarmes actives dans MicroSERVER, ou toutes les alarmes actives associées à une variable ou à un équipement.

/get_al.php?dev=DEV&var=VAR
ParamètreCommentaire
DEVID de l’équipement
VARID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée.
Information
Vous pouvez utiliser le paramètre "dev" OU les paramètres "var".

Syntaxe de la réponse XML :

<update>
   <entry>
      <timestamp></timestamp>
      <log_index></log_index>
      <var_index></var_index>
      <dev_index></dev_index>
      <alarm></alarm>
      <ack_timestamp></ack_timestamp>
      <ack_user></ack_user>
      <ack_comment></ack_comment>
   </entry>
</update>
TagCommentaire
<timestamp>Moment du dernier changement de la variable, mesuré en secondes depuis le 1er septembre 1970
<log_index>ID de l’entrée du journal concernant l’alarme
<var_index>ID de la variable associée à l’événement
<dev_index>ID de l’équipement auquel appartient la variable
<alarm>Libellé de l’alarme associé à l’alarme active
<ack_timestamp>Moment de l’acquittement de l’alarme, si acquitté ; sinon ce champ reste vide
<ack_user>Identification de l’utilisateur qui a acquitté l’alarme, si acquittée ; sinon ce champ reste vide
<ack_comment>Commentaire relatif à l’acquittement d’alarme indiqué par ack_user si acquitté ; sinon ce champ reste vide

Exemple de requête :

https://192.168.43.108/get_al.php?dev=4&var=10

Exemple de la réponse XML :

<update>
   <entry>
      <timestamp>1415788199.94717</timestamp>
      <log_index>7693</log_index>
      <var_index>10</var_index>
      <dev_index>4</dev_index>
      <alarm>Communication default</alarm>
      <ack_timestamp></ack_timestamp>
      <ack_user></ack_user>
      <ack_comment></ack_comment>
   </entry>
</update>

3.3.4 get_bg.php

Cette requête récupère les données à partir d’une date de début et les regroupe selon la période demandée pour chaque variable.

/get_bg.php?time=TIME&period=PERIOD&tz=TZ&var1=N1&var2=N2&...&varn=Nn
ParamètreCommentaire
TIMEDébut de la période sous forme de timestamp
PERIODType de période:
– 1 = Une année de données cumulées par mois
– 2 = Un mois de données cumulées par jour
– 3 = Un jour de données cumulées par heure
– 4 = Une heure de données cumulées par pas de 5 minutes
TZChaîne du fuseau horaire, par exemple “Europe/Paris” 
N1, N2, NnID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée. Une même requête permet de récupérer la valeur d’une ou plusieurs variables, sans limite
Information
Le paramètre « var1 » est obligatoire.

Syntaxe de la réponse XML :

<update>
   <entry>
      <var_index></var_index>
      <timestamp></timestamp>
      <value1></value1>
   </entry>
</update>
TagCommentaire
<var_index>ID de la variable définie
<timestamp>Moment du début de la période, mesuré en secondes depuis le 1er septembre 1970
<value1>Valeur de la variable, non formatée

Exemple de requête :

https://192.168.43.108/get_bg.php?time=1415788199.94717&period=1&var=10

Exemple de la réponse XML :

<update>
   <entry>
      <var_index>10</var_index>
      <timestamp>1415788199.94717</timestamp>
      <value1>4</value1>
   </entry>
   <entry>
      <var_index>10</var_index>
      <timestamp>1418380199.94717</timestamp>
      <value1>4</value1>
   </entry>
</update>
Information
Le nom de champ correct pour "valeur" est <valeur1> et non <valeur>.

3.3.5 get_tr.php

Cette requête récupère un ensemble de valeurs sur une période définie pour chaque variable.

/get_tr.php?mintime=MINTIME&maxtime=MAXTIME&np=NP&pval=PVAL&pmult=PMULT&var1=N1&...&varn=Nn
ParamètreCommentaire
MINTIMEDébut de la période sous forme de timestamp
MAXTIMEFin de la période sous forme de timestamp
NPLimite maximale de valeurs à récupérer
N1, NnID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée. Une même requête permet de récupérer la valeur d’une ou plusieurs variables, sans limite
PVAL, PMULTPériode sous la forme « pval * pmult » secondes. Par exemple, pour « 4 heures », pval = 4 et pmult = 3600
Information
Le paramètre « var1 » est obligatoire.

Syntaxe de la réponse XML :

<update>
   <entry>
      <timestamp></timestamp>
      <rowid></rowid>
      <var_index></var_index>
      <value></value>
   </entry>
</update>
TagCommentaire
<timestamp>Moment du point, mesuré en secondes depuis le 1er septembre 1970
<rowid>ID de l’entrée de journal du point
<var_index>ID de la variable définie
<value>Valeur du point, non formatée

Exemple de requête :

https://192.168.43.108/get_tr.php?mintime=1415788199.94717&maxtime=1418380199.94717&np=1&pval=4&pmult=3600&var1=10

Exemple de la réponse XML :

<update>
   <entry>
      <timestamp>1415788199.94717</timestamp>
      <rowid>546</rowid>
      <var_index>10</var_index>
      <value>24</value>
   </entry>
   <entry>
      <timestamp>1418380199.94717</timestamp>
      <rowid>547</rowid>
      <var_index>10</var_index>
      <value>26</value>
   </entry>
</update>

3.3.6 get_log.php

Cette requête récupère un ensemble d’événements sur une période définie pour chaque variable.

/get_log.php?cat=CAT&lastid=LASTID&period=PERIOD&mintime=MINTIME&maxtime=MAXTIME&var1=N1&...&varn=Nn
ParamètreCommentaire
CATCatégorie du journal à récupérer :
– 2 = Événements
– 3 = Alarmes
– 4 = Valeurs
LASTIDID de l’entrée du journal à partir duquel récupérer les résultats suivants
PERIODDurée de la période en secondes depuis la date actuelle.
MINTIMEDébut de la période sous forme de timestamp
MAXTIMEFin de la période sous forme de timestamp
N1, NnID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée. Une même requête permet de récupérer la valeur d’une ou plusieurs variables, sans limite
Information
Le paramètre « var1 » est obligatoire et si « period » est fourni, « mintime » et « maxtime » sont ignorés.

Syntaxe de la réponse XML :

<log>
   <entry>
      <rowid></rowid>
      <dev_index></dev_index>
      <var_index></var_index>
      <var_address></var_address>
      <var_name></var_name>
      <value></value>
      <ack_timestamp></ack_timestamp>
      <ack_user></ack_user>
      <ack_comment></ack_comment>
      <timestamp></timestamp>
   </entry>
</log>
TagCommentaire
<rowid>ID de l’entrée de journal du point
<dev_index>ID de l’équipement défini (si pas de variable définie)
<var_index>ID de la variable définie
<var_address>Adresse de la variable définie (si pas de variable définie)
<var_name>Nom de la variable définie (si pas de variable définie)
<value>Valeur du point, non formatée
<ack_timestamp>Timestamp de l’acquittement, mesuré en secondes depuis le 1er septembre 1970 (si « cat » = 3)
<ack_user>Identifiant de l’utilisateur qui a acquitté (si “cat” = 3)
<ack_comment>Commentaire de l’acquittement (si “cat” = 3)
<timestamp>Moment du dernier changement de la variable, mesuré en secondes depuis le 1er septembre 1970

Exemple de requête :

https://192.168.43.108/get_log.php?cat=3&lastid=1234&period=60&var1=10

Exemple de la réponse XML :

<log>
   <entry>
      <rowid>1235</rowid>
      <var_index>10</var_index>
      <value>1</value>
      <ack_timestamp>1415788199.94717</ack_timestamp>
      <ack_user>admin</ack_user>
      <ack_comment>ok</ack_comment>
      <timestamp>1415785429</timestamp>
   </entry>
</log>

3.3.7 set_variables.php

Cette requête met à jour une ou plusieurs variables.

/set_variables.php?var1=N1&...&varn=Nn&value1=V1&...&valuen=Vn
ParamètreCommentaire
N1, N2ID (ou adresse ou mnémonique) de la variable à partir de laquelle la valeur doit être récupérée. Une même requête permet de récupérer la valeur d’une ou plusieurs variables, sans limite
V1, V2Valeur de la variable à partir de l’ordre des paramètres “var” de la requête.
Information
Le paramètre « var1 » et le paramètre « value1 » sont obligatoires.

Syntaxe de la réponse XML :

<update>
   <variable>
      <status></status>
      <error></error>
   </variable>
</update>
TagCommentaire
<status>« OK » ou « ERR »
<error>Correspond à un code d’erreur

Exemple de requête :

https://192.168.43.108/set_variables.php?var1=10&var2=11&value1=25&value2=27

Exemple de la réponse XML :

<update>
   <variable>
      <status>OK</status>
   </variable>
   <variable>
      <status>ERR</status>
      <error>XXX</error>
   </variable>
</update>

3.3.8 set_user.php

Cette requête met à jour les informations relatives à l’utilisateur connecté.

/set_user.php?new_pwd=NPASS&locale=LOCALE&email=EMAIL&phone_number=PHONE&active_report_filter=ARF&inactive_report_filter=IRF
ParamètreCommentaire
NPASSNouveau mot de passe de l’utilisateur
LOCALEFormat régional sous forme de code ISO 639-1 de l’utilisateur
EMAILE-mail de l’utilisateur
PHONENuméro de téléphone de l’utilisateur
ARF, IRFPériode de filtre de rapport actif ou inactif de l’utilisateur. Chaque point doit être séparé par un point virgule, et chaque point est composé de 4 champs :
– Premier champ : Jour de la semaine (lundi = 1, dimanche = 7)
– Deuxième champ : Jour du mois (1 à 31)
– Troisième champ : Mois (1 à 12)
– Quatrième champ : Heure (0 à 23)
Chaque champ doit être séparé par un espace. Vous pouvez mettre une valeur, ou plusieurs séparées par une virgule, ou une étoile pour dire « tout ». Par exemple : « 2,5 * * *;7 1 2,10 3 » signifie tous les mardis ou vendredis de l’année ET le dimanche 1er de février ou d’octobre à 3h du matin.
Avertissement
Seuls les codes ISO 639-1 "fr", "gb" et "us" sont pris en charge par le paramètre "locale".

Syntaxe de la réponse XML :

<update>
   <variable>
      <status></status>
   </variable>
</update>
TagComment
<status>« OK » ou « ERR »

Exemple de requête :

https://192.168.43.108/set_user.php?new_pwd=newpass&locale=fr&email=contact@exemple.com&phone_number=0600000000&inactive_report_filter=2,5+*+*+*;7+1+2,10+3
Information
Les espaces doivent être remplacés par "+" ou "%20" dans la requête HTTP pour être considérés comme des espaces.

Exemple de la réponse XML :

<update>
   <variable>
	<status>OK</status>
   </variable>
</update>

MicroSERVER UI

Dernière modification le

1. Lecteurs ciblés

Cette documentation est à destination des utilisateurs de l’application MicroSERVER, permettant la visualisation de données collectées depuis des automates SIREA.

2. Présentation de l’application

2.1 Widgets du tableau de bord

Le tableau de bord contient toutes les données que vous jugez utiles à afficher en premier lieu. Ces données sont contenues dans des cadres appelés « widgets ». Il existe ainsi plusieurs widgets différents afin de visualiser au mieux les données sous différentes formes (tableau, graphe, diagramme…). Le tableau de bord est facilement personnalisable selon les besoins. On peut y ajouter, supprimer, ou déplacer facilement un widget.

2.2 Modes du tableau de bord

Le tableau de bord possède deux modes:

  • le mode visualisation : c’est le mode par défaut. Il permet de visualiser l’ensemble des widgets avec leurs résultats.
  • le mode édition : il permet de créer, modifier et bouger les widgets.

Pour accéder au mode visualisation quand on est dans le mode édition, il faut cliquer sur le bouton:

Pour accéder accède au mode édition à partir du mode visualisation, il faut cliquer sur le bouton:

Ces deux boutons se situent en bas à droite de l’écran.

2.3 Attribut d’un widget

2.3.1 Créer un widget

Pour ajouter un widget, il est nécessaire d’être dans le mode édition.
Cliquez ensuite sur le champ « + Ajouter un widget » en bas de la page.
Cette action ouvre une fenêtre popup permettant de créer un nouveau widget. Trois types de widgets sont proposés:

widgets microserver
widgets microserver
  • Mise en page
  • Visualisation
  • Pilotage

Le choix d’un widget ouvrira une nouvelle fenêtre popup sur la droite qui vous permettra de renseigner un certains nombres de champs. Les indications pour compléter cette fenêtre sont fournies dans Widget Mise en page, Widget Données et Widgets Dédiés. Cliquer sur “Enregistrer” pour confirmer la création. On passe alors dans le mode visualisation.

2.3.2 Déplacer un widget

Quand un widget est créé, on peut le déplacer sur le tableau de bord en cliquant sur cet icône. Elle se trouve en haut à droite du widget et est disponible seulement dans le mode édition.

2.3.3 Modifier le widget

Quand un widget est créé, on peut le modifier en cliquant sur cet icône. Elle se trouve en haut à droite du widget et est disponible seulement dans le mode édition.

2.3.4 Dupliquer le widget

Quand un widget est créé, on peut le dupliquer en cliquant sur cet icône. Elle se trouve en haut à droite du widget et est disponible seulement dans le mode édition. La copie est créé en dessous du widget actuel.

2.3.5 Supprimer le widget

Quand un widget est créé, on peut le supprimer en cliquant sur l’icône:
Cette icône se trouve en haut à droite du widget et est disponible seulement dans le mode édition. Cette action est irréversible.

2.4 Catégorie de widgets : Mise en page

2.4.1 Widget Encart

Ce widget permet de créer un cadre (blanc) dans lequel on va pouvoir créer d’autres widgets. Le but est que l’encart serve de cadre dans lequel on va venir y insérer des widgets comme des photos. Dans l’encart, les widgets pourront changer de place.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un Titre à l’encart et un commentaire en remplissant les deux formulaires optionnels.

Capture d’écran de la fenêtre popup de création/modification du widget Encart

2.4.2 Widget Encart avec onglets

Création et modification

Ce widget s’inspire du widget encart. Il permet de créer un cadre (blanc) dans lequel on va pouvoir créer d’autres widgets à l’intérieur. Ces widgets seront rangés dans des onglets. Ainsi un encart pourra avoir 0, 1 ou plusieurs onglets.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un Titre à l’encart et un commentaire en remplissant les deux formulaires optionnels.

Pour créer un onglet, il suffit de renseigner le « Nom de l’onglet » voulu dans la partie « Onglets » dans le cadre gris.

Si on veut rajouter un nouvel onglet, cliquez sur
+ ONGLET.
Un nouveau cadre gris apparaît. Il est à remplir comme le précédent.

Si on veut supprimer un onglet, cliquez sur la croix en haut du cadre gris de l’onglet concerné. On ne peut supprimer un onglet que si il y en a plus de deux.

Capture d’écran de la fenêtre popup de création/modification du widget Encart avec Onglets

Dans le mode visualisation, on peut changer d’onglets en cliquant sur l’onglet désiré.

Capture d’écran d’un exemple de Widget Encart avec Onglets ayant 3 onglets (Onglet 1, Onglet 2 et Onglet 3)
arrow collapse vertical

2.4.3 Widget Volets

Création et modification

Ce widget s’inspire du widget encart avec onglet. Il permet de créer des espaces refermables qui vont permettre d’insérer d’autres widgets. Ces widgets seront rangés dans des volets. Ainsi un encart pourra avoir 0, 1 ou plusieurs volets.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Pour créer un onglet, il suffit de renseigner le « Nom de l’onglet » voulu dans la partie « Onglets » dans le cadre gris.

bouton ajouter volet

Si on veut rajouter un nouveau volet, cliquez sur
+ VOLET. Un nouveau cadre gris apparaît. Il est à remplir comme le précédent.

Si on veut supprimer un volet, cliquez sur la croix en haut du cadre gris de l’onglet concerné. On ne peut supprimer un volet que si il y en a plus de deux.

widget volets configuration
Capture d’écran de la fenêtre popup de création/modification du widget Volets

Dans le mode visualisation, on peut changer de volet en cliquant sur le volet désiré.

widget volets
Capture d’écran de la fenêtre popup de création/modification du widget Volets
code array

2.4.4 Widget Code

Ce widget permet de coder et de créer des fonctionnalités qui ne sont pas disponibles avec les autres widgets.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Le widget sera composé des trois encart suivants:

  • HTML
  • CSS
  • Javascript

Un exemple de fonctionnalité à créer est l’affichage dynamique de la valeur d’une variable (nommé « X » de l’équipement d’index 1) et la possibilité de modifier cette valeur. Ci-dessous, le code associé à cette fonctionnalité:

  • HTML

<form id="form1" data-table="variables" data-mnemonic="X@1">
    <label class="form-label">Exemple X</label>
    <input type="text" data-field="rawValue" />
    <input type="button" value="Valider" class="btn btn-primary" onclick    ="submitForms()"/>
</form>
  • JS
var submitForms = () => {
        $('#form1').submit();
    } 

Le visuel final de cette fonctionnalité sera le suivant:

exemple widget code
Capture d’écran du visuel pour l’exemple du widget code

2.5 Catégorie de widgets : Visualisation

2.5.1 Widget Valeur

Le widget valeur permet de visualiser la valeur d’une variable à un moment donné.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Pour choisir la variable souhaitée, il faut dans un premier temps sélectionner dans le menu déroulant, l’équipement et le nom de la variable.
Il y a aussi la possibilité de renommer la variable par un autre nom et de rajouter un commentaire.

Le champ « Type de valeur » permet de choisir quel type de valeur on souhaite avoir parmi trois options:

  • si on veut une valeur ponctuelle (instantanée), cliquer sur « ponctuelle »
  • si on veut une valeur moyennée, cliquer sur « moyenne ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer la moyenne sur:

–  une période statique. Un intervalle de temps avec une date de début et de fin est alors à renseigner
– une période calendaire. En fonction de la période choisie, si on clique sur précédente, l’intervalle s’étendra alors de l’heure, du jour, de la semaine, du mois ou de l’année précédente jusqu’à la date actuelle. En fonction de la période choisie, si on clique sur actuelle, alors la moyenne sera calculée sur l’heure, la journée, la semaine, le mois ou l’année actuelle. Par défaut la période est celle de la journée actuelle.
– une période glissante. En fonction de la durée N rentrée et de la période, l’intervalle de temps s’étendra sur les N dernière(s) heure(s), les N dernier(s) jour(s), les N dernière(s) semaine(s), les N dernier(s) mois ou les N dernière(s) année(s)

  • si on veut un écart entre deux valeurs, cliquer sur « écart ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer l’écart entre deux valeurs  sur:

–  une période statique. L’écart sera calculé entre la date de fin et la date de début renseignées.
– une période calendaire. En fonction de la période choisie, si on clique sur actuelle/précédente, alors l’écart sera calculé entre l’heure, la journée, la semaine, le mois ou l’année actuelle/précédente et la date actuelle. Par défaut, la date sera celle de la journée actuelle.
– une période glissante. L’écart sera alors calculé entre la date actuelle et la N dernière heure, le N dernier jour, la N dernière semaine, le N dernier mois ou la N dernière année

Par défaut, le graphe affichera une valeur ponctuelle.

En fonction des besoins, il est possible d’afficher la valeur brute en cochant « Afficher la valeur brute ». Néanmoins, l’unité ne sera pas affichée.

La taille de l’affichage est réglable puisque la taille de la police diminue si vous cliquez sur la taille petite. Elle augmente si vous cliquez sur « Moyenne » et elle est de taille maximale si vous cliquez sur « Grande ». Par défaut la taille est cochée à « Moyenne ».

Capture d’écran de la fenêtre popup de création/modification du widget Valeur

2.5.2 Widget Voyant

Le widget voyant permet de visualiser si la valeur d’une variable respecte une/des condition(s) grâce à un voyant de couleur.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Pour choisir la variable souhaitée, il faut dans un premier temps sélectionner dans le menu déroulant, l’équipement et le nom de la variable. Il y a aussi la possibilité de renommer la variable par un autre nom et de rajouter un commentaire.

Le champ « Type de valeur » permet de choisir sur quel type de valeur la condition va être exécutée parmi trois options:

  • si on désire que la condition soit sur une valeur ponctuelle (instantanée), cliquer sur « Ponctuelle »
  • si on veut que la condition soit sur une valeur moyennée, cliquer sur « Moyenne ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer la moyenne sur:

–  une période statique. Un intervalle de temps avec une date de début et de fin est alors à renseigner
– une période calendaire. En fonction de la période choisie, si on clique sur précédente, l’intervalle s’étendra alors de l’heure, du jour, de la semaine, du mois ou de l’année précédente jusqu’à la date actuelle. En fonction de la période choisie, si on clique sur actuelle, alors la moyenne sera calculée sur l’heure, la journée, la semaine, le mois ou l’année actuelle. Par défaut la période est celle de la journée actuelle.
– une période glissante. En fonction de la durée N rentrée et de la période, la moyenne sera calculée sur les N dernière(s) heure(s), les N dernier(s) jour(s), les N dernière(s) semaine(s), les N dernier(s) mois ou les N dernière(s) année(s)

  • si on désire que la condition soit sur un écart entre deux valeurs, cliquer sur « Écart ». De nouvelles informations de Temporalité sont alors demandées. On a ainsi le choix de calculer l’écart entre deux valeurs  sur:

–  une période statique. L’écart sera calculé entre la la date de fin et la date de début renseignés.
– une période calendaire. En fonction de la période choisie, si on clique sur actuelle/précédente, alors l’écart sera calculé entre l’heure, la journée, la semaine, le mois ou l’année actuelle/précédente et la date actuelle. Par défaut la date sera celle de la journée actuelle.
– une période glissante. L’écart sera alors calculé entre la date actuelle et la N dernière heure, le N dernier jour, la N dernière semaine, le N dernier mois ou la N dernière année

Par défaut, la condition sera sur une valeur ponctuelle.

Capture d’écran de la fenêtre popup de création/modification du widget Voyant

La partie « Conditions » sert à établir les conditions qui vont lever une alarme si elles sont validées.

La condition est construite de la manière suivante:

variable OPÉRATEUR_LOGIQUE valeur

La variable correspond à celle renseignée au-dessus.
Pour créer une condition, il faut compléter l’encart en gris en choisissant tout d’abord l’opérateur logique parmi:

  • Est égale à (==)
  • N’est pas égale à (!=)
  • Est inférieure ou égale à (<=)
  • Est strictement inférieure à (<)
  • Est supérieure ou égale à (>=)
  • Est strictement supérieure à (>)

L’opérateur logique par défaut est « Est égale à » (==).

Enfin, remplissez le champ « Valeur ». La valeur écrite dans cette case  correspondra à la valeur dont la variable sera soit égale, non égale, inférieure ou égale, strictement inférieure, supérieure ou égale ou bien strictement supérieure. 

En cliquant sur le champ « Couleur du voyant », il est possible de modifier la couleur du voyant à l’aide d’un sélectionneur de couleur. On peut aussi directement y écrire la valeur hexadécimale de la couleur souhaitée. Le voyant aura cette couleur tant que la condition n’est pas vérifiée. Par défaut la couleur est bleue (#276cb8).

Si la condition est vérifiée, un texte peut être affiché plutôt que la valeur de la variable. Le texte voulu doit alors être écrit dans le champ « Texte à afficher ». Si on laisse ce champ vide, c’est la valeur d’origine qui sera affichée.

En bas de l’encart gris à droite, le champ « Afficher la valeur brute » sert, si elle est cochée, à afficher la valeur brute de la variable sans unité.

En dessous de l’encart, la couleur du voyant quand la condition est vérifiée est modifiable en cliquant sur le champ correspondant. Par défaut, la couleur est rouge.

A droite, toujours si la condition est vérifiée, un texte peut être affiché plutôt que la valeur de la variable. Le texte voulu doit alors être écrit dans le champ « Texte à afficher ». Si on laisse ce champ vide, c’est la valeur d’origine qui sera affichée.

Le champ Afficher la valeur brute sert, si elle est cochée, à afficher la valeur brute de la variable sans unité.

Pour l’instant on a une seule condition. Si on désire rajouter d’autres conditions, cliquer sur « + CONDITION ». Un nouvel encart gris s’affiche alors. Il est à remplir comme le précédent explicité ci-dessus. 

Ainsi le voyant changera de couleur lorsque la condition1 ET la condition2 seront vraies. Si on a trois conditions, le voyant changera de couleur lorsque la condition1 ET la condition2 ET la condition3 seront vraies, etc.

La taille de l’affichage est réglable puisque la taille de la police diminue si vous cliquez sur la taille petite. Elle augmente si vous cliquez sur « Moyenne » et elle est de taille maximale si vous cliquez sur « Grande ». Par défaut la taille est cochée à « Moyenne ».

widget led condition
Capture d’écran de la partie « Condition » de la fenêtre popup de création/modification du widget Voyant
Exemple de widget Voyant

2.5.3 Widget Courbe

Le widget courbe permet d’accéder à une vue d’ensemble de l’évolution des valeurs d’une variable sous forme de courbe.
La fenêtre popup de ce widget se compose de trois onglets:

  • l’onglet « Apparence »
  • l’onglet « Données »
  • l’onglet « Prédiction »
Onglet « Apparence »

Cet onglet permet de configurer l’aspect général du widget et son en-tête.
La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un titre au graphique et un commentaire en remplissant les deux formulaires optionnels.
En cochant, « Activer la navigation depuis le widget », on débloque les fonctionnalités de changement des dates de début et de fin sur le widget dans le mode visualisation.

widget courbes apparence
Capture d’écran de l’onglet « Apparence » de la fenêtre popup de création/modification du widget Courbe
Onglet « Données »

Cet onglet permet de configurer les caractéristiques du graphe voulu.

La partie « Temporalité » permet de sélectionner le type de période souhaité parmi trois options disponibles: 

  • « Période statique » définit un intervalle de temps d’affichage. Une date de début et de fin est à renseigner.
Capture d’écran de la partie « Période statique » de l’onglet « Données » de la fenêtre popup du widget Courbe
  • « Période calendaire » définit un intervalle de temps d’affichage par rapport à la date actuelle ou à la date précédente. On peut choisir d’afficher les données de l’heure, du jour, de la semaine, du mois ou de l’année précédente ou actuelle en sélectionnant dans le menu déroulant la période souhaitée ainsi que le décalage. Par défaut la période est celle de la journée actuelle.
Capture d’écran de la partie « Période calendaire » de l’onglet « Données » de la fenêtre popup du widget Courbe

Après avoir choisi une période, on peut modifier la précision des points. Cette précision correspond à l’écart de temps entre deux points affichés sur le graphe. Par défaut, cet écart est d’une heure.

Capture d’écran de la partie « Précision » de l’onglet « Données » du widget Courbe
Avertissement
Plus on choisit une longue période avec une petite précision, plus le temps que la courbe se construise et s'affiche sera long.

La partie « Variables » permet de choisir les variables dont on souhaite que les valeurs soient affichées.
Par défaut, une seule variable est affichée sur le widget. Une variable et ses caractéristiques sont dans un encart gris.

Capture d’écran d’un exemple de variable sélectionnée de la fenêtre popup du widget Courbe

Pour choisir la variable, sélectionner son équipement et son nom dans les menus déroulants prévus à cet effet. Il est aussi possible de renommer la variable.

Selon les valeurs que l’on a et l’usage dont on veut en faire, deux formes de graphe sont disponibles dans le champ Forme:

  • graphe en Ligne. Un exemple de graphe en ligne est représenté ci-dessous:
Capture d’écran d’un graphe en ligne (widget Courbe)
  • graphe en Barre. Un exemple de graphe en barre est représenté ci-dessous:
Capture d’écran d’un graphe en barre (widget Courbe)
Avertissement
Il est possible de combiner graphe en ligne et graphe en barre mais il faut faire attention à l’échelle qui risque de ne pas être la même. 

La partie « Type de valeur » permet de choisir quel type de valeur, on souhaite avoir pour chaque point parmi trois options:

  • si on veut une valeur ponctuelle (valeur de l’instant), cliquer sur « ponctuelle »
  • si on veut une valeur moyennée (moyenne calculée entre deux points), cliquer sur « moyenne »
  • si on veut un écart entre deux valeurs (écart entre le point actuel et le point précédent), cliquer sur « écart ».

Par défaut, le graphe affichera des valeurs ponctuelles.

Pour finir on peut choisir l’aspect qu’auront les valeurs de la variable sur le graphe. 
Si on a un graphe en ligne, la partie « Aspect » contient six caractéristiques modifiables:

  • la couleur principale. Si on clique sur ce champ, on peut modifier la couleur par une autre. La couleur par défaut est bleu (#276cb8).
  • l’épaisseur du trait. Cette valeur va de 1 à 4 pour un trait fin vers épais. L’épaisseur par défaut est 1.
  • le champ « Trait en pointillé ». Si ce champ est coché alors le trait de la courbe sera en pointillé. Par défaut le champ est décoché.
  • les mêmes informations apparaissent pour configurer l’aspect de la courbe de comparaison
widget courbe aspect
Capture d’écran de l’aspect d’une variable d’une ligne de l’onglet « Données » de la fenêtre popup de création/modification du widget Courbe

Si on a un graphe en barre, la partie « Aspect » contient trois caractéristiques modifiables:

  • la couleur principale. Si on clique sur ce champ, on peut modifier la couleur par une autre. La couleur par défaut est bleu (#276cb8)
  • les mêmes informations apparaissent pour configurer l’aspect de la barre de comparaison
widget courbe aspect barre
Capture d’écran de l’aspect d’une variable d’un graphe barre de l’onglet « Données » de la fenêtre popup de création/modification du widget Courbe
Information
Il est à noter que la couleur en hexadécimal peut-être écrite dans les cases de couleurs.
Onglet « Prédiction »

Cet onglet comporte une fonctionnalité avancée du widget courbe: la prédiction. Grâce au logiciel NeurEco développé par Adagos, on aura la possibilité de créer un modèle d’intelligence artificielle permettant de prédire les valeurs des variables demandées dans l’onglet « Données ». Ces valeurs dépendront des paramètres que l’on va renseigner dans l’onglet « Prédiction ».

Le bouton « Activer la prédiction » débloque les fonctionnalités de génération de modèle sur le widget ainsi que ces informations dans le mode visualisation. De plus, si le modèle a été généré alors les courbes et/ou les barres prédites seront affichées en plus des courbes réelles.

La partie « Données météorologiques » permet de sélectionner quels paramètres météorologiques on souhaite que notre modèle prennent en compte pour générer le modèle. Les paramètres sélectionnables sont:

  • la radiation solaire 
  • la température réelle de l’air
  • la couverture nuageuse
  • l’humidité de l’air
  • la vitesse du vent
  • la direction du vent
  • la durée d’ensoleillement
  • la précipitation de pluie

Dans cette partie, on nous demande aussi de compléter le champ « Adresse postale » ainsi que les coordonnées géographiques avec la latitude et la longitude à laquelle les données on été récoltées.

La « Période d’apprentissage » permet de sélectionner la période sur laquelle l’algorithme va se baser pour apprendre et construire le modèle. Il y a 4 choix:

  • « Aucune période définie ». La période s’étendra alors du premier jour ou il a commencé à y avoir des données jusqu’à maintenant.
  • « Période statique » définit un intervalle de temps d’affichage. Une date de début et de fin est à renseigner
Capture d’écran de la partie « Période statique » de l’onglet « Prédiction » de la fenêtre popup du widget Courbe
  • « Période calendaire » définit un intervalle de temps d’affichage par rapport à la date actuelle ou à la date précédente. On peut choisir d’afficher les données de l’heure, du jour, de la semaine, du mois ou de l’année précédente ou actuelle en sélectionnant dans le menu déroulant la période souhaitée ainsi que le décalage. Par défaut la période sera celle de la journée actuelle.
Capture d’écran de la partie « Période calendaire » de l’onglet « Prédiction » de la fenêtre popup du widget Courbe
  • « Période glissante » définit un intervalle de temps des dernier(e)(s) heure(s)/ jour(s)/ semaine(s)/ mois jusqu’à la date actuelle. Pour cela, il suffit de renseigner une durée et un type de période dans le menu déroulant. Par défaut, la période s’étendra de hier à aujourd’hui
Capture d’écran de la partie « Période glissante » de l’onglet « Prédiction » de la fenêtre popup du widget Courbe

En dessous du choix de la période, on peut décider de la précision des points dans un menu déroulant. La précision est soit à l’heure, au jour, à la semaine ou au mois en sachant qu’il faut une certaines quantités de points pour que le modèle soit fiable. Cette quantité varie en fonctions des données que l’on a. Par défaut la précision est à l’heure.

Capture d’écran de la précision dans l’onglet « Prédiction » de la fenêtre popup de création/modification du widget Courbe

La partie « Période de la prédiction » permet de sélectionner la période sur laquelle on souhaite avoir une prédiction. Pour cela, il suffit d’incrémenter et de décrémenter la durée et de choisir une période parmi prochaine(s) heure(s), prochain(s) jour(s), prochaine(s) semaine(s), prochain(s) mois, prochaine(s) année(s). Cette période va se rajouter à la suite de la période d’affichage que l’on a déjà défini dans l’onglet « Données ».

Avertissement
Le temps de génération d'un modèle peut prendre beaucoup de temps en fonction de la quantité de données passées. Par exemple, il est normal que pour une période de deux an avec une précision à l'heure combinée avec plusieurs paramètres météo, le modèle prennent plus d'une heure à se générer.
Fonctionnalités générales

Une fois que l’on a cliqué sur le bouton « Enregistrer », on peut observer notre widget Courbe.

Information
Si on ne veut que visualiser les valeurs d'une ou de plusieurs variables, on ne va compléter que les onglets "Apparence" et "Données" puis cliquez sur Enregistrer.

Pour zoomer sur une partie du graphe, cliquez sur la zone du graphe que l’on veut agrandir.

Si le champ « Activer la navigation sur le widget  » a été coché alors on peut modifier la période d’affichage de la courbe en changeant les dates des champs « Date de début » et « Date de fin » puis en cliquant sur » Appliquer ».

Capture d’écran de la navigation depuis un widget Courbe en mode visualisation

Sur le widget, il est possible de visualiser la date de dernière variation de la variable en bas à gauche du du widget.

Fonctionnalités propres à la prédiction

Si on a aussi rempli l’onglet « Prédiction », alors on va pouvoir dans un premier temps générer un modèle en cliquant sur le bouton « Générer un modèle »

La génération d’un modèle peut prendre un certains temps en fonction de la quantité de données qu’on lui donne en paramètres. On peut donc suivre l’avancée de la génération de ce modèle avec le barre d’avancement située en bas du widget. Plusieurs états d’avancée sont possibles:

  • Envoi des données pour l’apprentissage
  • Génération du modèle
  • Apprentissage terminée

Si un modèle n’a pas encore généré, l’information « Apprentissage non démarré » est affichée

De plus, certaines erreurs peuvent être levées lors de la création du modèle:

  • Erreur de communication avec le serveur de prédictions

La génération du modèle sera alors interrompu.

Lorsque la génération s’est déroulée correctement alors on va pouvoir observer que la courbe prédite s’affiche sur le widget (couleur plus claire que les courbe réelle). On peut alors vérifier si notre modèle est correct ou pas en fonction de si la courbe réelle et la courbe prédite se chevauchent (si la période est dans le passé).

Capture d’écran d’un graphe en ligne avec une courbe réelle (rose foncé) et une courbe prédite (rose pâle) (widget Courbe)

2.5.4 Widget Diagramme

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un titre au graphique et un commentaire en remplissant les deux formulaires optionnels.

Ensuite, on peut sélectionner la forme du diagramme parmi les trois formes suivantes:

  • camembert
  • anneau
  • polaire

Le champ « Type de valeur » permet de choisir quel type de valeur on souhaite que notre diagramme représente parmi trois options:

  • si on veut des valeurs ponctuelles (instantanées), cliquer sur « Ponctuelle »
  • si on veut des valeurs moyennées, cliquer sur « Moyenne ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer les moyennes sur:

–  une période statique. Un intervalle de temps avec une date de début et de fin est alors à renseigner
– une période calendaire. En fonction de la période choisie, si on clique sur précédente, l’intervalle s’étendra alors de l’heure, du jour, de la semaine, du mois ou de l’année précédente jusqu’à la date actuelle. En fonction de la période choisie, si on clique sur actuelle, alors la moyenne sera calculée sur l’heure, la journée, la semaine, le mois ou l’année actuelle. Par défaut la période est celle de la journée actuelle.
– une période glissante. En fonction de la durée N rentrée et de la période, l’intervalle de temps s’étendra sur les N dernière(s) heure(s), les N dernier(s) jour(s), les N dernière(s) semaine(s), les N dernier(s) mois ou les N dernière(s) année(s)

  • si on veut un écart entre deux valeurs, cliquer sur « Écart ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer l’écart entre deux valeurs  sur:

–  une période statique. L’écart sera calculé entre la la date de fin et la date de début renseignés.
– une période calendaire. En fonction de la période choisie, si on clique sur actuelle/précédente, alors l’écart sera calculé entre l’heure, la journée, la semaine, le mois ou l’année actuelle/précédente et la date actuelle. Par défaut la date sera celle de la journée actuelle.
– une période glissante. L’écart sera alors calculé entre la date actuelle et la N dernière heure, le N dernier jour, la N dernière semaine, le N dernier mois ou la N dernière année

Par défaut, des valeurs ponctuelles seront représentées sur le diagramme.

Pour que le diagramme soit construit, il a besoin de valeurs. Pour cela, il faut compléter la partie « Variables ».

Pour chaque variable, sélectionnez l’équipement auquel elle appartient ainsi que son nom dans les menus déroulants. 

Si le nom de la variable ne convient pas, on peut le renommer en remplissant le champ « Renommer ». 

La variable aura aussi une couleur sur le diagramme. Cette couleur est par défaut bleue (#276cb8) mais est modifiable en cliquant sur le champ « Couleur ». Un sélectionneur de couleur s’affiche.

Information
Il est à noter que la couleur en hexadécimal peut-être écrite dans les cases de couleurs.

Pour ajouter une variable sur le diagramme, cliquez sur + Variable. Un nouvel encart apparaît. Il est à compléter de la même manière qu’explicitée précédemment.

2.5.5 Widget Radar

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un titre au graphique et un commentaire en remplissant les deux formulaires optionnels.

Le champ « Type de valeur » permet de choisir quel type de valeur on souhaite que notre radar représente parmi trois options:

  • si on veut des valeurs ponctuelles (instantanées), cliquer sur « Ponctuelle »
  • si on veut des valeurs moyennées, cliquer sur « Moyenne ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer les moyennes sur:

–  une période statique. Un intervalle de temps avec une date de début et de fin est alors à renseigner
– une période calendaire. En fonction de la période choisie, si on clique sur précédente, l’intervalle s’étendra alors de l’heure, du jour, de la semaine, du mois ou de l’année précédente jusqu’à la date actuelle. En fonction de la période choisie, si on clique sur actuelle, alors la moyenne sera calculée sur l’heure, la journée, la semaine, le mois ou l’année actuelle. Par défaut la période est celle de la journée actuelle
– une période glissante. En fonction de la durée N rentrée et de la période, l’intervalle de temps s’étendra sur les N dernière(s) heure(s), les N dernier(s) jour(s), les N dernière(s) semaine(s), les N dernier(s) mois ou les N dernière(s) année(s)

  • si on veut un écart entre deux valeurs, cliquer sur « Écart ». De nouvelles informations de temporalité sont alors demandées. On a ainsi le choix de calculer l’écart entre deux valeurs  sur:

–  une période statique. L’écart sera calculé entre la la date de fin et la date de début renseignés
– une période calendaire. En fonction de la période choisie, si on clique sur actuelle/précédente, alors l’écart sera calculé entre l’heure, la journée, la semaine, le mois ou l’année actuelle/précédente et la date actuelle. Par défaut la date sera celle de la journée actuelle
– une période glissante. L’écart sera alors calculé entre la date actuelle et la N dernière heure, le N dernier jour, la N dernière semaine, le N dernier mois ou la N dernière année

Par défaut, des valeurs ponctuelles seront représentées sur le diagramme.

Les données que le widget va représenter vont être celles d’équipements. Dans la partie « Équipement », sélectionnez dans le menu déroulant du champ « Équipement », l’équipement souhaité.
On peut renommer son nom sur le widget en remplissant le champ « Renommer ». Cependant, ce remplissage est optionnel.
Pour ajouter un axe, cliquez sur + Équipement.

Les axes du diagramme vont être des variables. Dans la partie « Variable », sélectionnez dans le menu déroulant du champ « Variable », la variable souhaitée.
On peut renommer son nom sur le widget en remplissant le champ « Renommer ». Cependant, ce remplissage est optionnel.
Pour ajouter un axe, cliquez sur + Variable.

Information
Le diagramme en radar sert à représenter sur un plan en deux dimensions au moins trois ensembles de données. Il est donc recommandé de sélectionner trois équipements.
Capture d’écran de la fenêtre popup de création/modification du widget Radar
Capture d’écran d’un exemple de diagramme Radar

2.5.6 Widget Tableau

Ce widget sert à créer et visualiser un tableau. Plusieurs types de tableaux sont déjà pré-configurés mais on a la possibilité de personnaliser nos propres tableaux en fonction des besoins.

Onglet « Apparence »

Cet onglet permet de configurer l’aspect général du widget et son en-tête.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un Titre au graphique et un commentaire en remplissant les deux formulaires optionnels.

Onglet « Données »

Le tableau peut afficher différentes informations en fonction du type de contenu voulu. En cliquant sur le champ « Type de contenu », on a le choix entre les informations sur:

  • le calendrier
  • les comptes utilisateurs
  • les équipements
  • les procédures
  • les profils utilisateurs
  • les reports
  • les variables

Une fois que l’on a sélectionné le type de contenu, on observe les colonnes par défaut du tableau. Une colonne est représentée dans un encart gris suivant l’exemple:

Capture d’écran d’une colonne de l’onglet « Données » de la fenêtre popup du widget Tableau

Le nom de la colonne est écrit dans le champ « Contenu ». On peut sélectionner une autre colonne dans le menu déroulant.

Avertissement
Si on choisit un nouvelle colonne alors il se peut déjà qu’elle soit sélectionnée plus bas. Il est ainsi bien important de visualiser l’ensemble des colonnes pour ne pas se retrouver avec deux fois ou plus la même colonne.

En remplissant, le champ « Renommer », on renomme le nom de la colonne. Cette action est optionnelle et par défaut le nom de la colonne sera celui inscrit dans le champ « Contenu ».

On a aussi la possibilité de choisir la taille de la largeur de la colonne. Par défaut, la taille de la colonne sera ajustée automatiquement mais on peut la changer en cliquant sur « Largeur de la Colonne ». Elle pourra être ainsi:

  • petite (10%)
  • moyenne (25%)
  • grande (50%)

En cochant, « Tronquer la valeur si trop longue » alors le tableau va afficher des variables tronquées dont le nombre de chiffres significatifs dépendra de la taille du widget.

Pour supprimer la colonne, cliquez sur la croix rouge en haut à droite.

Pour changer l’ordre des colonnes, cliquez sur le bouton en haut à droite puis faites glisser la colonne vers l’endroit souhaité.

Pour ajouter une colonne, cliquez sur le bouton
+ COLONNE. Une nouveau encart gris à compléter apparaît.

Chaque type de contenu, il y a des colonnes par défaut et des colonnes additionnelles disponibles (se référer au tableau ci-dessous).

Type de contenuColonnes par défautColonnes disponibles
Calendrier– Catégorie
– Équipement
– Variable
– Commentaire
– Date de début
– Date de fin
– Valeur de début
– Valeur de retour
– Occurrence
– Catégorie de la variable
Comptes utilisateurs– Intitulé 
– Commentaire
– Profil
– Activé
– Format régional
– Adresse email
– Numéro de téléphone
– Filtre zones
– Filtres équipements
– Période de disponibilité
– Période d’indisponibilité
Équipements– Index
– Type
– Intitulé
– Zones
– Etat de la com.
– Alarmes
– Activé
– Commentaire
– Timeout (en secondes)
– Délai de rafraîchissement (en secondes)
– Protocole de com.
– Port de com.
– Numéro d’esclaves
Procédures– Intitulé 
– Commentaire
– Variables associées
– Exécuter au démarrage
– Exécuter périodiquement
– Jours de la semaine
– Jours du mois
– Mois
– Heures 
– Minutes
– Secondes 
– Code
Profils utilisateurs– Intitulé 
– Commentaire
– Peut administrer le système
– Peut gérer les utilisateurs
– Filtre catégories
– Peut rafraîchir les équipements
– Peut forcer les variables
– Peut acquitter les alarmes
Reports– Intitulé 
– Commentaire
– Type
– Destinataire
– Envoyé sur déclenchement d’alarme
– Sujet sur déclenchement d’alarme
– Message sur déclenchement d’alarme
– Envoyer sur arrêt d’alarme
– Sujet sur arrêt d’alarme
– Message sur arrêt d’alarme
– Filtre zones
– Filtre équipements
– Filtre catégories
– Filtre types de variables
Variables– Équipement
– Adresse
– Mnémonique
– Libellé
– Valeur
– Dernière variation
– Type
– Registre
– Commentaire
– Interne
– Publique
– Forçable 
– Priorité
– Valeur de forçage min.
– Valeur de forçage max.
– Catégories
– Format
– Précision
– Valeur brute min.
– Valeur brute max.
– Valeur mise à l’échelle min.
– Valeur mise à l’échelle max.
– Générer des alarmes
– Libellé des alarmes
– Condition de l’alarme
– Générer des événements
– Libellé des événements
– Condition de l’événement
– Historiser les valeurs
– Moyenner la courbe
– Délai entre deux points (en secondes)
– Hystérésis
Tableau des différentes colonnes pour chaque contenu
Information
Pour créer le tableau que l’on souhaite, il faut modifier les colonnes par défaut, ajouter de nouvelle(s) colonne(s) ou bien en supprimer selon les indications explicitées au dessus.
Onglet « Tri & filtre »
Tri par défaut

Pour visualiser la tableau, il est nécessaire de sélectionner une colonne (dans le menu déroulant Colonne) dont les éléments seront triés soit par ordre ascendant ou descendant (dans le menu déroulant Ordre). 

Filtre par défaut

Si on souhaite visualiser des éléments précis, on peut filtrer en sélectionnant le ou les attributs de filtrage d’une colonne. Il est tout à fait possible de filtrer sur une ou plusieurs colonnes.

On peut supprimer un attribut en cliquant sur la croix à sa gauche (sur l’attribut même)(par exemple pour supprimer l’attribut AEA Formation, cliquez sur la croix à sa gauche).

Pour exclure un filtre sur une colonne, cliquez sur le bouton

La case de la colonne est alors entourée en rouge

Pour vider un filtre de tous ses attributs, cliquez sur l’icône du balai à droite dans la case filtrée.

Pour chaque type de contenu, on peut filtrer sur différentes colonnes (se référer au tableau ci-dessous).

ContenuFiltre sur la/les colonnes
Calendrier– Équipement
– Variable
– Catégorie
Comptes utilisateurs– Intitulé 
– Activé
– Commentaire
– Profil
– Format régional
– Adresse email
– Numéro de téléphone
– Filtre zones
– Filtres équipements
Équipements– Index
– Activé
– Type
– Intitulé
– Commentaire
– Zones
– Timeout (en secondes)
– Délai de rafraîchissement (en secondes)
– Protocole de com.
– Port de com.
– Numéro d’esclaves
Procédures– Intitulé 
– Commentaire
– Variables associées
– Exécuter au démarrage
– Exécuter périodiquement
– Jours de la semaine
– Jours du mois
– Mois
– Heures 
– Minutes
– Secondes 
– Code
Profils utilisateurs– Intitulé 
– Commentaire
– Filtre catégories
– Peut administrer le système
– Peut gérer les utilisateurs
– Peut rafraîchir les équipements
– Peut forcer les variables
– Peut acquitter les alarmes
Reports– Intitulé
– Commentaire
– Type
– Destinataire
– Envoyé sur déclenchement d’alarme
– Sujet sur déclenchement d’alarme
– Message sur déclenchement d’alarme
– Envoyer sur arrêt d’alarme
– Sujet sur arrêt d’alarme
– Message sur arrêt d’alarme
– Filtre zones
– Filtre équipements
– Filtre catégories
– Filtre types de variables
Variables– Équipement
– Type
– Mnémonique
– Libellé
– Catégorie
– Valeur
Tableau des colonnes sur lesquelles on peut filtrer en fonction du type de contenu

2.5.7 Widget Alarmes

Ce widget sert à afficher la liste des alarmes qui se sont levées. Ces alarmes peuvent toujours être levées ou bien éteintes. Elles peuvent être aussi acquittées.

Onglet « Apparence »

Cet onglet permet de configurer l’aspect général du widget et son en-tête.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un nom au widget et un commentaire en remplissant les deux formulaires optionnels.

En cochant, « Activer le filtre depuis le widget », on débloque les fonctionnalités de filtrage des alarmes sur le widget depuis le mode visualisation.

Onglet « Données »

La liste des alarmes va être présentée sous forme d’un tableau modulable.
Un tableau possède plusieurs colonnes.
Une colonne est représentée dans un encart gris suivant l’exemple suivant:

Capture d’écran d’un exemple de colonne dans l’onglet « Données » de la fenêtre popup de création/modification du widget Alarme

Le nom de la colonne est écrit dans le champ « Contenu ». On peut sélectionner une autre colonne dans son menu déroulant.

Avertissement
Si on choisit un nouvelle colonne alors il se peut déjà qu’elle soit sélectionnée plus bas. Il est ainsi bien important de visualiser l’ensemble des colonnes pour ne pas se retrouver avec 2 fois ou plus la même colonne.

Le tableau par défaut sera composé de quatre colonnes dont les noms par ordre sont:

  • Date
  • Équipement
  • Variable
  • Alarme

Une cinquième colonne (Catégorie de la variable) est disponible dans le menu déroulant du champ « Contenu ». 

En remplissant, le champ « Renommer », on renomme le nom de la colonne. Cette action est optionnelle et par défaut le nom de la colonne sera celui inscrit dans le champ « Contenu ».

On a aussi la possibilité de choisir la taille de la largeur de la colonne. Par défaut la taille de la colonne sera ajustée automatiquement mais on peut la changer en cliquant sur « Largeur de la Colonne ». Elle pourra être ainsi:

  • petite (10%)
  • moyenne (25%)
  • grande (50%)

En cochant, « Tronquer la valeur si trop longue » alors le tableau va afficher des variables tronquées dont le nombre de chiffre significatif dépendra de la taille du widget.

Pour supprimer la colonne, cliquez sur la croix rouge en haut à droite.

Pour changer l’ordre des colonnes, cliquez sur l’icône à quatre flèches en haut à droite puis faites glisser la colonne vers l’endroit souhaité.

Pour ajouter une colonne, cliquez sur le bouton
+ COLONNE en bas. Une nouveau encart gris à compléter apparaît.

Onglet « Tri & filtre »
Tri par défaut

Pour visualiser la tableau, il est nécessaire de sélectionner une colonne (dans le menu déroulant Colonne) dont les éléments seront triés soit par ordre ascendant ou descendant (dans le menu déroulant Ordre). 

On a le choix de trier selon cinq colonnes:

  • Alarme
  • Catégories de la variable
  • Date
  • Équipement
  • Variable
Filtre par défaut

Si on souhaite visualiser des éléments précis, on peut filtrer en sélectionnant le ou les attributs de filtrage d’une colonne. Il est tout à fait possible de filtrer sur plusieurs colonnes.

On peut supprimer un attribut en cliquant sur la croix à sa gauche (sur l’attribut même)(par exemple pour supprimer l’attribut AEA Formation, cliquez sur la croix à sa gauche).

Le filtre sur une colonne en particulier peut-être mis en place en non. Pour exclure un filtre sur une colonne, cliquez sur le bouton suivant:

La case de la colonne est alors entourée en rouge.

Pour vider un filtre de tous ses attributs, cliquez sur l’icône du balai à droite dans la case filtrée.

Pour le type de contenu calendrier, on peut filtrer sur la/les colonne(s) qui constitue(nt) notre tableau. Ces colonnes sont les mêmes que celles déclarées précédemment dans l’onglet « Données ».

En plus de réaliser un filtrage sur les colonnes, on peut filtrer les alarmes sur une période précise dans la partie « Date ».

Quatre choix de période s’offre à nous: 

  • « Aucune période définie »: toutes les alarmes vont être affichées.
  • « Période statique »: on doit choisir la date de début et de fin délimitant la période. En cliquant sur la case Date de début ou Date de fin, on a la possibilité de rentrer la date en l’écrivant ou bien en la sélectionnant grâce au sélectionneur de date affiché.
Capture d’écran de la partie « Période statique » de l’onglet « Filtre » de la fenêtre popup du widget Alarme
  • « Période calendaire »: définit un intervalle de temps d’affichage par rapport à la date actuelle ou à la date précédente. On peut choisir d’afficher les alarmes de l’heure, du jour, de la semaine, du mois ou de l’année précédente ou actuelle en sélectionnant dans le menu déroulant la période souhaitée ainsi que le décalage. Par défaut la période est celle de la journée actuelle.
Capture d’écran de la partie « Période calendaire » de l’onglet « Filtre » de la fenêtre popup du widget Alarme
  • « Période glissante »: définit un intervalle de temps des dernier(e)(s) heure(s)/ jour(s)/ semaine(s)/ mois jusqu’à la date actuelle. Pour cela, il suffit de renseigner une durée et un type de période dans le menu déroulant. Par défaut, la période s’étend de hier à aujourd’hui.
Capture d’écran de la partie « Période glissante » de l’onglet « Filtre » de la fenêtre popup du widget Alarme
Filtrage en mode visualisation

Une fois le widget créé, si on a coché « Activer le filtre depuis le widget » alors on peut directement sur le widget filtrer les alarmes en cliquant sur « Filtre » depuis le mode visualisation. On peut filtrer les alarmes sur les colonnes Équipement, Variable et Catégorie.

Si on recherche une ou des alarme(s) précise(s) alors on peut écrire un de leur mot-clé dans le champ « Rechercher » pour que seules les alarmes concernées par ce mot-clé s’affichent.

La période peut aussi être modifié dans la partie « Date ». Les mêmes champs que précédemment sont disponibles.

Une fois le filtrage réalisé, cliquez sur « Appliquer ».

Si on veut ré-initialiser les champs (pour qu’ils soit tous vierges à nouveau), cliquez sur le bouton « Ré-initialisé les champs ». 

Capture d’écran du filtrage des événements depuis le widget Alarme
Acquitter une alarme

Acquitter une alarme signifie que l’on a bien remarqué qu’il y avait une alarme. En aucun cas l’alarme va s’éteindre à la suite d’un acquittement. Il faut régler le problème que soulève l’alarme pour qu’elle s’éteigne. L’acquittement est un pense-bête.

Ainsi, quand une alarme se lève, on a la possibilité de l’acquitter en cliquant sur l’icône:

Un message Acquitter apparaît, cliquez y dessus. Une fenêtre popup s’ouvre. On peut y écrire un message (par exemple, « Problème à régler d’ici 2 jours »). Cliquez ensuite sur « Enregistrer ».
Si on s’est trompé et que l’on ne veut pas acquitter l’alarme, il faut cliquer sur « Annuler ».

Capture d’écran de la fenêtre popup pour acquitter une alarme dans le widget Alarme
Tri des colonnes

On peut changer le tri des colonnes, en cliquant sur les flèches haut et bas à coté de la colonne sur laquelle on veut que le tri s’effectue. Par exemple, sur la capture d’écran, on observe les flèches haut et bas à droite de la colonne nommée « Date ».

2.5.8 Widget Événements

Ce widget sert à afficher la liste des événements qui se sont levés sur une certaine période.

Onglet « Apparence »

Cet onglet permet de configurer l’aspect général du widget et son en-tête.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un nom au widget et un commentaire en remplissant les deux formulaires optionnels.

En cochant, « Activer le filtre depuis le widget » on débloque les fonctionnalités de filtrage des événements sur le widget depuis le mode visualisation.

Onglet « Données »

La liste des événements va être présentée sous forme d’un tableau modulable.
Un tableau possède plusieurs colonnes.
Une colonne est représentée dans un encart gris suivant l’exemple:

Capture d’écran d’un exemple de colonne dans l’onglet « Données » de la fenêtre popup de création/modification du widget Événement

Le nom de la colonne est dans le champ « Contenu ». On peut sélectionner une autre colonne dans son menu déroulant.

Avertissement
Attention, si on choisi un nouvelle colonne alors il se peut déjà qu’elle soit sélectionnée plus bas. Il est ainsi bien important de visualiser l’ensemble des colonnes pour ne pas se retrouver avec 2 fois ou plus la même colonne.

Le tableau par défaut sera composé de 5 colonnes dont les noms par ordre sont:

  • Date
  • Équipement
  • Variable
  • Libellé
  • Action

Une sixième colonne (Catégorie de la variable) est disponible dans le menu déroulant du champ « Contenu ». 

En remplissant, la case « Renommer », on renomme le nom de la colonne. Cette action est optionnelle et par défaut le nom de la colonne sera celui inscrit dans le champ « Contenu ».

On a aussi la possibilité de choisir la taille de la largeur de la colonne. Par défaut la taille de la colonne sera ajustée automatiquement mais on peut la changer en cliquant sur « Largeur de la Colonne ». Elle pourra être ainsi:

  • petite (10%)
  • moyenne (25%)
  • grande (50%)

En cochant, « Tronquer la valeur si trop longue » alors le tableau va afficher des variables tronquées dont le nombre de chiffre significatif dépendra de la taille du widget.

Pour supprimer la colonne, cliquez sur la croix rouge en haut à droite.

Pour changer l’ordre des colonnes, cliquez sur l’icône à quatre flèches en haut à droite puis faites glisser la colonne vers l’endroit souhaité.

Pour ajouter une colonne, cliquez sur le bouton
+ COLONNE. Une nouveau encart gris à compléter apparaît.

Onglet « Filtre »
Filtre par défaut

Si on souhaite visualiser des éléments précis, on peut filtrer en sélectionnant le ou les attributs de filtrage d’une colonne. Il est tout à fait possible de filtrer sur plusieurs colonnes.

On peut supprimer un attribut en cliquant sur la croix à sa gauche (sur l’attribut même)(par exemple pour supprimer l’attribut AEA Formation, cliquez sur la croix à sa gauche).

Le filtre sur une colonne en particulier peut-être mis en place en non. Pour exclure un filtre sur une colonne, cliquez sur le bouton suivant:

La case de la colonne est alors entourée en rouge

Pour vider un filtre de tous ses attributs, cliquez sur l’icône du balai à droite dans la champ filtré.

Pour le type de contenu calendrier, on peut filtrer sur les colonnes:

  • Équipement
  • Variable
  • Catégorie.

En plus de réaliser un filtrage sur les colonnes, on peut filtrer les évènement sur une période précise dans la partie « Date ».

Quatre choix de période s’offre à nous: 

  • « Aucune période définie »: toutes les alarmes vont être affichées.
  • « Période statique »: on doit choisir la date de début et de fin délimitant la période. En cliquant sur le champ « Date de début » ou « Date de fin », on la possibilité de rentrer la date en l’écrivant au format jj-mm-aaaa hh:mm (jour/mois/année heure:minute) ou bien en la sélectionnant grâce au sélectionneur de date qui s’affiche.
Capture d’écran de la partie « Période statique » de l’onglet « Filtre » de la fenêtre popup du widget Événement
  • « Période calendaire »: définit un intervalle de temps d’affichage par rapport à la date actuelle ou à la date précédente. On peut choisir d’afficher les événements de l’heure, du jour, de la semaine, du mois ou de l’année précédente ou actuelle en sélectionnant dans le menu déroulant la période souhaitée ainsi que le décalage. Par défaut la période est celle de la journée actuelle.
Capture d’écran de la partie « Période calendaire » de l’onglet « Filtre » de la fenêtre popup du widget Événement
  • « Période glissante »: définit un intervalle de temps des dernier(e)(s) heure(s)/ jour(s)/ semaine(s)/ mois jusqu’à la date actuelle. Pour cela, il suffit de renseigner une durée et un type de période dans le menu déroulant. Par défaut, la période s’étend de hier à aujourd’hui.
Capture d’écran de la partie « Période glissante » de l’onglet « Filtre » de la fenêtre popup du widget Événement
Information
Il est à noter que les événements sont triés par ordre chronologique.
Capture d’écran de l’onglet « Filtre » de la fenêtre popup de création/modification du widget Événement

Une fois le widget créé, si on a coché « Activer le filtre depuis le widget » alors on peut directement sur le widget filtrer les événement en cliquant sur « Filtre ». On peut filtrer sur les colonnes Équipement, Variable et/ou Catégorie.

Si on recherche un ou des événement(s) précis alors on peut écrire un de leur mot-clé dans le champ « Rechercher » pour que seuls les évènements concernés par ce mot-clé s’affichent.

La période peut aussi être modifiée dans la partie « Date ». Les mêmes champs que précédemment sont disponibles.

Une fois le filtrage réalisé, cliquez sur « Appliquer ».

Si on veut ré-initialiser les champs (pour qu’ils soient tous vierges à nouveau), cliquez sur « Ré-initialisé les champs ».

Capture d’écran du filtrage des événements depuis le widget Évènement

2.6 Catégorie de widgets : Pilotage

2.6.1 Widget Bouton

Ce widget permet de créer un bouton qui tant qu’il est actif va modifier la valeur d’une variable. 

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Un bouton est lié à une variable. Choisissez ainsi l’équipement dans le menu déroulant des « Équipements » et le nom de la variable souhaitée dans le menu déroulant « Variable ».

Quand le bouton sera activé, la variable va prendre une nouvelle valeur. Cette nouvelle valeur est à écrire dans le champ du même nom. Seules les variables autorisées à être forcées sont sélectionnables.

On a la possibilité d’ajouter un nom au bouton. Ce nouvel intitulé est à écrire dans le champ « Libellé » mais cette démarche est optionnelle. Ce nouveau nom se placera à droite sur le bouton. 

A sa gauche, le bouton est marqué d’une icône. Par défaut, l’icône affiché sera celle d’un fichier.
On peut modifier cette icône, en en sélectionnant une autre en cliquant sur le champ « Icône ». Cette démarche est optionnelle.

La couleur de fond du bouton par défaut est bleu (#01a49e). On peut la changer facilement en cliquant sur le champ « Couleur du fond ». Un sélectionneur de couleur apparaît. Cette démarche est optionnelle.

On peut aussi changer la couleur du texte en cliquant sur le champ « Couleur du texte ». Un sélectionneur de couleur apparaît alors permettant de faire notre choix parmi un grand nombre de couleurs.

Information
Il est à noter que la couleur en hexadécimal peut-être écrite dans les cases de couleurs.

La taille de l’affichage du bouton est réglable:

  • le bouton sera petit si vous cochez « Petite »
  • le bouton sera de taille normale si vous cochez « Moyenne »
  • le bouton sera de grande taille si vous cochez « Grande »

Par défaut la taille est cochée à moyenne.

Capture d’écran de la fenêtre popup de création/modification du widget Bouton
interrupteur 1

2.6.2 Widget Interrupteur

Ce widget permet de créer un interrupteur qui lorsqu’il est allumé (état ON) modifie la valeur d’une variable. Lorsque le bouton est éteint, la variable aura  la valeur de son état OFF.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼ – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

Un interrupteur est lié à une variable. Choisissez ainsi l’équipement dans le menu déroulant des « Équipements » et le nom de la variable souhaitée dans le menu déroulant « Variable ».

Quand l’interrupteur est éteint (état OFF), la variable prendra une valeur par défaut. Cette nouvelle valeur est à écrire dans le champ « Valeur de l’état OFF ». Seules les variables autorisées à être forcées sont sélectionnables.
On a la possibilité de donner un intitulé à cet état. Cet intitulé est à écrire dans le champs « Libellé de l’état OFF » mais cette démarche est optionnelle.
De plus, pour être plus visible, il est possible de colorer le bouton lorsqu’il est dans cet état en choisissant une couleur dans le sélectionneur de couleurs du champs « Couleur de l’état OFF ». La couleur de fond du bouton par défaut est gris (#f1f1f1). Cette démarche est optionnelle aussi.

Quand l’interrupteur est allumé (état ON), la variable prendra une valeur par défaut. Cette nouvelle valeur est à inscrire dans le champ « Valeur de l’état ON ». Seules les variables autorisées à être forcées sont sélectionnables.
On a la possibilité de donner un intitulé à cet état. Cet intitulé est à écrire dans le champs « Libellé de l’état ON » mais cette démarche est optionnelle.
De plus, pour être plus visible, il est possible de colorer le bouton lorsqu’il est dans cet état en choisissant une couleur dans le sélectionneur de couleurs du champs « Couleur de l’état ON ». La couleur de fond du bouton par défaut est bleu (#01a49e). Cette démarche est optionnelle aussi.

Information
Il est à noter que la couleur en hexadécimal peut-être écrite dans les cases de couleurs.

La taille de l’affichage du bouton est réglable:

  • le bouton sera petit si vous cochez « Petite »
  • le bouton sera de taille normale si vous cochez « Moyenne »
  • le bouton sera de grande taille si vous cochez « Grande »

Par défaut la taille est cochée à moyenne.

interrupteur configuration
Capture d’écran de la fenêtre popup de création/modification du widget Interrupteur

2.6.3 Widget Calendrier

Ce widget sert à afficher un calendrier sur une journée, sur une semaine ou sur un mois.
A l’aide du calendrier, on va pouvoir déclarer des événements.

La largeur du widget est par défaut à 1/1 – Pleine largeur (100 %). Il est possible de la diminuer en sélectionnant une autre largeur parmi la liste suivante:

  • ¼  – Quart de largeur (25%)
  • ⅓ – Tiers de largeur (33%)
  • ½ – Demi largeur (50%)
  • ⅔ – Tiers de largeur (67%)
  • ¾ – Trois quarts de largeur (75%)

On peut ajouter un Titre au calendrier et un commentaire en remplissant les deux formulaires optionnels.

Un événement appartient à une catégorie. Pour créer une catégorie sur le calendrier, il suffit de renseigner le code de la catégorie voulu dans « Code_catégorie » dans la partie « Catégories d’évènements ». Chaque catégorie sera dans un cadre gris.
On peut renommer ce code par un autre nom dans la case « Renommer(optionnel) ». Tous les événements appartenant à cette catégorie seront représentées par une couleur. Cette dernière est modifiable en cliquant sur le champ « Couleur des événements ». Par défaut elle est bleue (#276cb8).
Si on veut rajouter une nouvelle catégorie, cliquez sur + CATEGORIE. Un nouveau cadre gris apparaît. Il est à remplir comme le précédent.

Capture d’écran de l’onglet « Apparence » de la fenêtre popup de création/modification du widget Calendrier

En mode visualisation, plusieurs fonctionnalités s’offrent à nous.

Programmation d’un événement


Pour programmer un nouvel événement, cliquez sur le bouton « Programmer » en haut à droite. La fenêtre popup suivante s’ouvre:

Capture d’écran de la fenêtre popup de programmation d’un événement sur le widget Calendrier

L’événement que l’on va créer peut appartenir à une catégorie. Remplissez alors le champ « Catégorie » avec le nom de la catégorie voulu ou bien sélectionnez la catégorie parmi celles proposées. Tous les événements de la même catégorie auront ainsi la même couleur. Il faut savoir que si on ne remplit pas cette case alors l’événement sera classé dans aucune catégorie mais sera colorié tout de même par une couleur. Tous les événements n’ayant pas de catégorie auront la même couleur.

Un événement est levé sur une variable. Choisissez donc l’équipement dans le menu déroulant des « Équipements » et le nom de la variable souhaitée dans le menu déroulant « Variable ».

Lorsqu’un événement se produit, la variable va avoir une nouvelle valeur. Par exemple, 1 pour signifier l’allumage de l’éclairage. Cette valeur sera écrite dans le champ Valeur de début. Il est à noter que si la valeur est une chaîne de caractères alors elle est à mettre entre guillemets (“….”). 

Lorsque l’événement est terminé, on peut choisir d’affecter une nouvelle valeur à la variable. Cette valeur sera renseignée dans le champ « Valeur de retour ». Elle est optionnelle et si on laisse cette case vide alors la valeur de la variable sera la même que celle avant l’événement.

Un événement sera levé pendant une période de temps définie ayant une date de début et une date de fin. La date de début est à renseignée dans le champ « Date de début » sous la format jj/mm/aaaa hh:mm (jour/mois/année heure:minute). En cliquant sur ce champ, on a la possibilité de choisir une date grâce à un sélectionneur de date.
En cochant la case « Toute la journée », l’événement sera levé la journée entière de la date de début rentrée.
Pour que l’événement se termine, rentrez une date de fin dans le champ « Date de fin » sous le format jj/mm/aaaa hh:mm (jour/mois/année heure:minute). En cliquant sur ce champ, on a la possibilité de choisir une date grâce à un sélectionneur de date. Le remplissage de cette case est optionnel. Si on n’indique aucune valeur de date de fin alors l’événement sera levé de la date de début jusqu’à une durée indéterminée.

Par défaut, l’événement apparaîtra une seule fois. Mais si vous souhaitez rendre cet événement récurrent, dans le champ « Occurrence » sélectionnez une nouvelle occurrence parmi:

  • chaque jour
  • chaque semaine
  • chaque mois
  • chaque année

Enfin, l’événement peut-être estampillé d’un commentaire écrit dans le champ « Commentaire ». 

Enfin, pour créer la programmation de l’événement cliquer sur le bouton « Enregistrer »

Modification de la programmation d’un événement

Une autre fonctionnalité du calendrier est la modification d’événement. Pour modifier la programmation d’un événement, cliquez sur l’événement voulu sur le calendrier. Une fenêtre popup nommé « Modifier une programmation » s’ouvre. Les mêmes champs que pour la création d’un événement sont affichés. Pour modifier l’événement, il suffit de changer les champs voulus (vous référez à la partie « Programmation d’un événement » pour les informations de ces champs).

Dans cette fenêtre, il est possible de supprimer l’événement, en cochant « Supprimer la programmation ». Cette action est irréversible. Une fois cochée, on peut indiquer quelle programmation on souhaite supprimer:

  • soit uniquement l’événement que l’on a sélectionné
  • soit cet événement et les suivants c’est à dire que si l’événement est un événement récurrent alors les suivants ainsi que celui ci vont être supprimés
  • soit tous les événements passés et futurs ainsi que celui-ci vont être supprimés
Capture d’écran de la partie suppression d’un événement de la fenêtre popup de modification d’un événement du widget Calendrier

Cliquer à nouveau sur le bouton « Enregistrer » pour sauvegarder les modifications.

Information
Si l’événement modifié est un événement récurrent alors la modification sera affectée sur tous les autres événements.
Filtrage de événements

Une autre fonctionnalité du calendrier est le filtrage des événements. En haut à droite, on peut faire apparaître/disparaître une catégorie d’événements en cliquant sur le nom de la catégorie. On peut faire apparaître/disparaître autant de catégories que l’on veut.

Visualisation jour, semaine ou mois

Trois types de visualisation des événements sont possibles.

La vue par défaut est la vue par semaine.

Capture d’écran d’une vue semaine sur le widget Calendrier

Pour visualiser plus précisément, les événements d’une journée, cliquez sur le date voulue (par exemple, Mar. 30/08).

Capture d’écran d’une vue jour sur le widget Calendrier

Pour repasser, sur une visualisation à la semaine depuis une visualisation à la journée, cliquez sur le numéro de la semaine au dessus de la date (par exemple ici 35).

Pour visualiser les événements sur un mois entier, il faut d’abord avoir une vue par semaine, puis cliquez sur le mois au dessus des dates(par exemple sur notre capture d’écran Août 2022).

Capture d’écran d’une vue mois sur le widget Calendrier

Pour revenir sur une vue semaine, il suffit de cliquer sur le numéro de la semaine que l’on souhaite sur la gauche (sur la capture d’écran ci-dessus, les numéro de semaines disponibles sont 31, 32, 33, 34 et 35).

On peut passer d’une journée à une autre, d’une semaine à une autre ou d’un mois à un autre en cliquant sur les flèches vertes en haut à gauche et à droite.

3. Présentation de l’API

3.1 Généralités

Ce document détaille les requêtes HTTP permettant à l’utilisateur d’interagir avec MicroSERVER au travers de fonctions, fournissant ainsi une interface de communication entre le serveur Web et d’autres services externes.

Information
La documentation n'informe que sur les tables "devices" et "variables" et sur la lecture des données historisées. Cependant, le même raisonnement s'applique aux autres tables de la base de données.

3.2 Fonctions

3.2.1 Headers

Tout d’abord, chaque requête aura un paramètre ‘headers’. Afin de bien s’authentifier sur l’API, on a besoin d’une clé API (api_key). Cette clé sera par la suite utilisée dans la requête en l’appelant de cette manière:

headers={'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)} 

3.2.2 Méthode GET

Grace à l’API de MicroSERVER, il est possible d’obtenir des informations sur les tables:

  • les variables (variables)
  • les équipements (devices)

Il est aussi possible d’obtenir des informations sur des données historisées:

  • les événements (events)
  • les alarmes (alarms)
  • les valeurs historisées (plot-values)
  • les compteurs historisés (diff-values)
  • les données historiques brutes (log-entries)
Information
Les données sont remontées sous format JSON. Les exemples ont été réalisés en Python mais on peut utiliser d'autres langages pour envoyer des requêtes à l'API.
3.2.2.1 Variables

Pour obtenir la liste des variables, la requête HTTP sera:

/variables

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

ParamètreDescription
limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET variables

Pour les variables, la liste des champs possibles est:

Nom du champsDescription
idIdentifiant de la variable
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
displayLabelValeur de le la représentation de la variable
addressAdresse de la variable
typeType de la variable
intRegisterAdresse de la variable
priorityPriorité de la variable
mnemonicMnémonique de la variable
labelLibellé de la variable
commentCommentaire
isInternalBooléen indiquant si la variable est interne ou pas
isPublicBooléen indiquant si la variable est publique ou pas
isWriteableBooléen indiquant si la variable peut être écrite ou pas
minWriteValueValeur minimale que peut prendre la variable
maxWriteValueValeur maximale que peut prendre la variable
categoriesCatégories dont fait partie la variable
formatFormat de la variable
logBooléen indiquant si le changement de valeur historise l’ancienne valeur
floatPrecisionEntier indiquant le nombre de chiffre significatif après la virgule. 0 si la variable n’est pas un décimale.
unitUnité de la variable. Si aucune unité alors  » est retourné.
minRemoteScaleValueValeur minimale brute
maxRemoteScaleValueValeur maximale brute
minLocalScaleValueValeur minimale lors de la mise à l’échelle
maxLocalScaleValueValeur maximale lors de la mise à l’échelle
inhibitionUserUtilisateur ayant inhibé l’alarme
inhibitionStartTimeDate de début de l’inhibition
inhibitionStopTimeDate de fin de l’inhibition
hasAlarmBooléen autorisant la gestion des alarmes
alarmLabelLibellé de l’alarme
alarmConditionCondition de l’alarme
hasEventBooléen autorisant la gestion des événements
eventLabelLibellé de l’événement
eventConditionCondition de l’événement
hasPlotBooléen autorisant l’historisation des valeurs
plotIsAveragedBooléen autorisant de moyenner la courbe
plotMinDelayDélai entre deux points en secondes sur la courbe
plotMinDiffHystérésis de la variable
snmpOIDAdresse SNMP de la variable
snmpTypeType SNMP de la variable
rawValueValeur actuelle de la variable
displayValueValeur formatée de la variable
Tableau sur les champs disponibles pour une variable

Par défaut, toutes les valeurs seront retournées avec tous les champs dont le tri sera par ordre chronologique de création de variables.

Un exemple de requête HTTP est:

https://192.168.1.223/variables?limit=2&field[]=id&field[]=mnemonic

Le code écrit en python sera le suivant:

query = 'variables'
query = {'limit': 2, 'field[]': ['id', 'mnemonic']}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'id': '6', 'mnemonic': 'ALM_COM@1'}, {'id': '7', 'mnemonic': 'BUSY_COM@1'}], 'cursor': '{"field":["id","mnemonic"],"lastValues":["7"]}'}
Information
Dans la réponse à la requête on s'aperçoit qu'il y a une clé 'cursor' en plus des items renvoyés. Cette clé signifie qu'il y a d'autres données en plus de celle renvoyé dans la réponse et que la dernière valeur renvoyée a l'id 7 ("lastValues":["7"]) et que la réponse contient les champs 'id' et 'mnemonic' ("field":["id","mnemonic"]).
3.2.2.2 Équipements

Pour obtenir la liste des équipements, la requête HTTP sera:

/devices

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

ParamètreDescription
limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET devices

Pour les équipements, la liste des champs possibles est:

Nom du champsDescription
idIdentifiant de l’équipement
isActiveBooléen indiquant si l’équipement est actif (1) ou en erreur (0)
typeType de l’équipement
nameNom de l’équipement
commentCommentaire
displayLabelValeur de le la représentation de l’équipement
zonesZone(s) de l’équipement
purgeDelayDélai de purge des historiques (en jours)
timeoutTimeout (en secondes)
refreshDelayDélai de rafraîchissement (en secondes)
comProtocolProtocole de communication utilisé
comPortPort de communication utilisé
slaveNumberNuméro d’esclave. None pour aucun.
passwordMot de passe de l’équipement
comStateÉtat de la communication
alarmsNombre d’alarmes actives
isEditableBooléen indiquant si l’équipement est modifiable par un utilisateur
Tableau sur les champs disponibles pour un équipement

Par défaut, toutes les valeurs seront retournées avec tous les champs dont le tri sera par ordre chronologique de création d’équipements.

Un exemple de requête HTTP est:

https://192.168.1.223/devices?limit=2&field[]=id&field[]=isActive&field[]=type

Le code écrit en python sera le suivant:


query = 'devices'
param = {'limit': 2, 'field[]': ['id', 'isActive', 'type']}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'id': '1', 'isActive': True, 'type': 'AEH10000'}, {'id': '2', 'isActive': True, 'type': 'Surveillance poulailler'}], 'cursor': '{"field":["id","isActive","type"],"lastValues":["2"]}'}
3.2.2.3 Alarmes

Pour obtenir la liste des alarmes, la requête HTTP sera:

/alarms

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

ParamètreDescription
limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET alarms
Nom du champsDescription
idIdentifiant de l’alarme
timeTimestamp auquel l’alarme s’est levée
variableIdIdentifiant de la variable
variableNom de la variable
variableCategoriesCatégories de la variable
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
labelLibellé de l’alarme
isAckBooléen indiquant si l’alarme a été acquittée ou non
ackTimeTimestamp auquel l’alarme a été acquittée
ackUserNom de l’utilisateur qui a acquitté l’alarme
ackCommentCommentaire laissé lors de l’acquittement de l’alarme
Tableau sur les champs disponibles pour une alarme

Par défaut, toutes les valeurs seront retournées avec tous les champs dont le tri sera par ordre chronologique d’apparition d’alarmes.

Un exemple de requête HTTP est:

https://192.168.1.223/alarms?limit=2&sort=time,desc&field[]=id&field[]=time

Le code écrit en python sera le suivant:


query = 'alarms'
param = {'sort': 'time,desc', 'limit': 2, 'isActive': True, 'field[]': ['id', 'time']}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'id': '270953256', 'time': 1660202056.43676}, {'id': '270953231', 'time': 1660202054.86892}], 'cursor': '{"sort":"time,desc","isActive":"True","field":["id","time"],"lastValues":[1660202054.86892,"270953231"]}'}
3.2.2.4 Événements

Pour obtenir la liste des événements, la requête HTTP sera:

/events

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

ParamètreDescription
limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET events
Nom du champsDescription
timeTimestamp d’apparition de l’évènement
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
variableIdIdentifiant de la variable
variableNom de la variable
variableCategoriesCatégories de la variable
labelLibellé de l’événement
actionAction de l’événement (passage de telle valeur à telle valeur)
Tableau sur les champs disponibles pour un événement

Par défaut, toutes les valeurs seront retournées avec tous les champs dont le tri sera par ordre chronologique d’apparition d’événements.

Un exemple de requête HTTP est:

https://192.168.1.223/events?limit=2&field[]=variableId&field[]=time

Le code écrit en python sera le suivant:


query = 'events'
param = {'limit': 2, 'field[]': ['variableId', 'time']}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'variableId': '62238', 'time': -1755053102}, {'variableId': '62268', 'time': -1755053102}], 'cursor': '{"field":["variableId","time"],"lastValues":[-1755053102,"62268"]}'}
3.2.2.5 Valeurs historisées

Pour obtenir la liste des valeurs historisées, la requête HTTP sera:

/plot-values

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

ParamètreDescription
limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc ou sort[]=VALUESTri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
avgValues=VALUERenvoie des valeurs moyennée (VALUE=1) ou pas (VALUE=0). Par défaut, les valeurs ne sont pas moyennées.
nbValues=VALUERenvoie VALUE valeurs avec un pas de temps égal entre les valeurs
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET plot-values
Note
Il est important de savoir qu'il est indispensable de mettre le paramètre variableId=VALUE, 'time~i'=[...;...] et nbValues=VALUE (ou variableId=VALUE et 'time': [..., ...,...]) pour obtenir des valeurs historisées. Si on ne met pas un de ces paramètre alors aucune valeur historisée ne va être renvoyée.
Il est à noter aussi que l'on ne peut réaliser une requête plot-values que sur une variable.
Nom du champsDescription
timeTimestamp de stockage de la valeur
rawValueValeur brute de la variable
displayValueValeur tronquée de la variable
Tableau sur les champs disponibles pour une valeur historisée

Un exemple de requête HTTP est:

https://192.168.1.223/plot-values?variableID=19212&time~i=[1634680800; 1653516000[&nbValues=10&avgValues=1&sort=time,asc

Le code écrit en python sera le suivant:


query = 'plot-values'
param = {'variableId': 19212, 'time~i': '[1634680800; 1653516000[', 'nbValues': 10, 'avgValues': 1, 'sort': 'time,asc', 'limit': 5, 'displayValue~x':'2.099'}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{"items":[{"time":1638447840,"rawValue":2823.39497961264,"displayValue":"2823.395"},{"time":1640331360,"rawValue":4458.263155687225,"displayValue":"4458.263"},{"time":1642214880,"rawValue":2.2232299099558275,"displayValue":"2.223"},{"time":1644098400,"rawValue":12454.150091318386,"displayValue":"12454.15"},{"time":1645981920,"rawValue":6610.666512168708,"displayValue":"6610.667"}],
"cursor":"{\"variableId\":\"19212\",\"time~i\":\"[1634680800; 1653516000[\",\"nbValues\":\"10\",\"avgValues\":\"1\",\"sort\":\"time,asc\",\"displayValue~x\":\"2.099\",\"lastValues\":[1645981920]}"}
3.2.2.6 Compteurs historisés

Pour obtenir la liste des compteurs historisés, la requête HTTP sera:

/diff-values

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifié par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
avgValues=VALUERenvoie des valeurs moyennée (VALUE=1) ou pas (VALUE=0). Par défaut, les valeurs ne sont pas moyennées.
nbValues=VALUERenvoie VALUE valeurs avec un pas de temps égal entre les valeurs
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUEspécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET diff-values
Note 
Il est important de savoir qu'il est indispensable de mettre le paramètre variableId=VALUE, time~i=[...;...] et nbValues=VALUE pour obtenir des valeurs historisées. Si on ne met pas un de ces paramètre alors aucune valeur historisée ne va être renvoyée.
Nom du champsDescription
timeTimestamp de stockage de la valeur
rawValueValeur brute de la variable
displayValueValeur tronquée de la variable
Tableau sur les champs disponibles pour un compteur historisé

Un exemple de requête HTTP est:

https://192.168.1.223/diff-values?variableId=19212&nbValues=4&time~i=[1634680800; 1653516000[

Le code écrit en python sera le suivant:


query = 'diff-values'
param= {'variableId': 19212, 'time~i': '[1634680800; 1653516000[', 'nbValues': 4}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'time': 1640959200, 'rawValue': 545510, 'displayValue': '545510'}, {'time': 1647237600, 'rawValue': 1035737, 'displayValue': '1035737'}, {'time': 1653516000, 'rawValue': 109394, 'displayValue': '109394'}]}
3.2.2.7 Données historiques brutes

Pour obtenir la liste des historiques brutes, la requête HTTP sera:

/log-entries
Avertissement
Cette requête est à utiliser avec précaution car elle permet notamment d'envoyer les données brutes vers un autre serveur.

Cette requête peut recevoir plusieurs paramètres supplémentaires afin d’avoir des informations plus précises. Les paramètres qui ne prendront qu’une valeur seront identifiés par param=VALUE et les paramètres qui peuvent prendre une liste de valeurs seront identifiés par param[]=VALUES:

limit=VALUENombre d’éléments (VALUE) à renvoyer au maximum
sort=VALUE(,asc/desc) ou sort[]=VALUES(,asc/desc)Tri sur VALUE de manière ascendante (,asc) ou descendante (,desc). Il est possible de trier sur plusieurs champs VALUES
field=VALUE ou field[]=VALUESFiltrage sur le champs VALUE ou les champs VALUES voulus
search=VALUERenvoie uniquement les éléments dont n’importe quel champ contient le texte VALUE
search~x=VALUERenvoie uniquement les éléments dont n’importe quel champ ne contient pas le texte VALUE
cursor=VALUEValeur du champ ‘cursor’ renvoyé lors de la dernière requête avec le paramètre limit=VALUE défini afin d’obtenir la suite des éléments
champ=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur égale à la valeur VALUE spécifiée.
champ~x=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur égale à la valeur VALUE spécifiée.
champ~s=VALUERenvoie uniquement les éléments dont les champs spécifiés ont une valeur contenant la valeur VALUE spécifiée.
champ~sx=VALUERenvoie uniquement les éléments dont les champs spécifiés n’ont pas une valeur contenant la valeur VALUE spécifiée.
champ~i=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur se situant dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
champ~ix=VALUERenvoie uniquement les éléments dont les champs spécifiés contiennent une valeur ne se situant pas dans l’intervalle spécifié sous la forme ‘[‘ ou ‘]’ suivi de {valeur-min}, puis ‘;’, puis {valeur-max}, puis ‘]’ ou ‘[‘.
Tableau sur les paramètres d’une requête GET log_entries
Nom du champsDescription
idIdentifiant de la valeur stockée
timeTimestamp de stockage de la valeur
variableIdIdentifiant de la variable
variableNom de la variable
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
typeType de la valeur stockée
valueValeur de la variable à ce timestamp
Tableau sur les champs disponibles pour une donnée historique brute

Un exemple de requête HTTP est:

https://192.168.1.223/log-entries?variableId=19212&time~i=[1634680800; 1653516000[&limit=2

Le code écrit en python sera le suivant:


query = 'log-entries'
param= {'variableId': 19212, 'time~i': '[1634680800; 1653516000[', 'limit':2}
req = requests.get(SERVER_URI + query, params=param, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
if req.status_code == 200:
    print('OK')
    data = req.json()
    print(data)
else:
    print('ERR:', req.json())

La réponse à cette requête est:

{'items': [{'id': '35441586', 'time': 1634710517, 'variableId': '19212', 'variable': 'test', 'deviceId': '17280001', 'device': 'Courtois', 'type': 'plot-value', 'value': 1}, {'id': '35498207', 'time': 1634749884, 'variableId': '19212', 'variable': 'test', 'deviceId': '17280001', 'device': 'Courtois', 'type': 'plot-value', 'value': 3}], 'cursor': '{"variableId":"19212","time~i":"[1634680800; 1653516000[","lastValues":["35498207"]}'}

3.2.3 Méthode POST

Cette méthode est utilisée pour créer une nouvelle entrée dans une table. Pour cela, il faut choisir la table que l’on veut modifier puis ensuite définir les paires clés/valeurs de l’élément que l’on veut créer.

3.2.3.1 Variables

Pour créer une nouvelle variable, la requête HTTP sera:

/variables

Cette requête sera suivie d’un dictionaire dont la clé ‘item’ contient elle -même un dictionnaire contenant les clés/valeurs de certains champs de la variable:

{'item': {'deviceId': ..., 'device': ..., 'displayLabel': ..., ...}

Ainsi, on peut renseigner avec des valeurs les clés suivantes:

Nom du champsDescription
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
displayLabelValeur de le la représentation de la variable
addressAdresse de la variable
typeType de la variable
intRegisterAdresse de la variable
priorityPriorité de la variable
mnemonicMnémonique de la variable
labelLibellé de la variable
commentCommentaire
isInternalBooléen indiquant si la variable est interne ou pas
isPublicBooléen indiquant si la variable est publique ou pas
isWriteableBooléen indiquant si la variable peut être écrite ou pas
minWriteValueValeur minimale que peut prendre la variable
maxWriteValueValeur maximale que peut prendre la variable
categoriesCatégories dont fait partie la variable
formatFormat de la variable
floatPrecisionEntier indiquant le nombre de chiffre significatif après la virgule. 0 si la variable n’est pas un décimale.
unitUnité de la variable. Si aucune unité alors  » est retourné.
minRemoteScaleValueValeur minimale brute
maxRemoteScaleValueValeur maximale brute
minLocalScaleValueValeur minimale lors de la mise à l’échelle
maxLocalScaleValueValeur maximale lors de la mise à l’échelle
inhibitionUserUtilisateur ayant inhibé l’alarme
inhibitionStartTimeDate de début de l’inhibition
inhibitionStopTimeDate de fin de l’inhibition
hasAlarmBooléen autorisant la gestion des alarmes
alarmLabelLibellé de l’alarme
alarmConditionCondition de l’alarme
hasEventBooléen autorisant la gestion des événements
eventLabelLibellé de l’événement
eventConditionCondition de l’événement
hasPlotBooléen autorisant l’historisation des valeurs
plotIsAveragedBooléen autorisant de moyenner la courbe
plotMinDelayDélai entre deux points en secondes sur la courbe
plotMinDiffHystérésis de la variable
snmpOIDAdresse SNMP de la variable
snmpTypeType SNMP de la variable
rawValueValeur actuelle de la variable
displayValueValeur formatée de la variable
Tableau sur les champs disponibles pour une variable
Information
Rien de nous oblige à remplir tous les champs pour créer une variable et il n'y a aucun champs obligatoire à renseigner mais plus il y a de champs renseignés, plus les informations sur la variable seront précises.

Un exemple de requête HTTP est:

https://192.168.1.223/mserver/ui/api/v1/variables 

avec comme paramètres:

{'item': {'label': 'temperature', 'deviceId': 2}

Le code écrit en python sera le suivant:

query = 'variables'
data = {'item' : json.dumps(
    {
        'label': 'temperature',
        'deviceId': 2}, sort_keys=True)}
req = requests.post(SERVER_URI + query, data=data, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
print(req.json())

La variable une fois créée, la sortie (req.json()) affiche l’identifiant de la variable dans la base de données (champ id).

3.2.3.2 Equipements

Pour créer une nouveau équipement, la requête HTTP sera:

/devices

Cette requête sera suivie d’un dictionaire dont la clé ‘item’ contient elle -même un dictionnaire contenant les clés/valeurs de certains champs de la variable:

{'item': {'isActive': ..., 'type': ..., 'name': ..., ...}

Ainsi, on peut renseigner avec des valeurs les clés suivantes:

Nom du champsDescription
isActiveBooléen indiquant si l’équipement est actif (1) ou en erreur (0)
typeType de l’équipement
nameNom de l’équipement
commentCommentaire
displayLabelValeur de le la représentation de l’équipement
zonesZone(s) de l’équipement
purgeDelayDélai de purge des historiques (en jours)
timeoutTimeout (en secondes)
refreshDelayDélai de rafraîchissement (en secondes)
comProtocolProtocole de communication utilisé
comPortPort de communication utilisé
slaveNumberNuméro d’esclave. None pour aucun.
passwordMot de passe de l’équipement
comStateÉtat de la communication
alarmsNombre d’alarmes actives
isEditableBooléen indiquant si l’équipement est modifiable par un utilisateur
Tableau sur les champs disponibles pour un équipement
Information
Rien de nous oblige à remplir tous les champs pour créer un équipement et il n'y a aucun champs obligatoire à renseigner mais plus il y a de champs renseignés, plus les informations sur l'équipement seront précises.

Un exemple de requête HTTP est:

https://192.168.1.223/mserver/ui/api/v1/variables 

avec comme paramètres:

{'item': {'label': 'temperature', 'deviceId': 2}

Le code écrit en python sera le suivant:

query = 'devices'
data =  {'item' : json.dumps(
    {
        'name': 'Equipement_test',
        'comment': 'Ceci est un test'}, sort_keys=True)}
req = requests.post(SERVER_URI + query, data=data, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
print(req.json())

L’équipement une fois créé, la sortie (req.json()) affiche l’identifiant de l’équipement dans la base de données (champ id).

3.2.4 Méthode PATCH

Cette méthode est utilisée pour modifier un élément dans une table.

3.2.4.1 Variables

Pour modifier une variable, la requête HTTP sera:

/variables/{id}

Avec ‘id’ correspondant à l’index de la variable dans la base de données. Cette requête sera suivie d’un dictionaire dont la clé ‘item’ contient elle -même un dictionnaire contenant les clés/valeurs de certains champs de la variable:

'item={'deviceId': ..., 'device': ..., 'displayLabel': ..., ...}'

Ainsi, on peut renseigner ou modifier avec des valeurs les clés suivantes:

Nom du champsDescription
deviceIdIdentifiant de l’équipement
deviceNom de l’équipement
displayLabelValeur de le la représentation de la variable
addressAdresse de la variable
typeType de la variable
intRegisterAdresse de la variable
priorityPriorité de la variable
mnemonicMnémonique de la variable
labelLibellé de la variable
commentCommentaire
logBooléen indiquant si la modification de la variable lève un évènement ou non
isInternalBooléen indiquant si la variable est interne ou pas
isPublicBooléen indiquant si la variable est publique ou pas
isWriteableBooléen indiquant si la variable peut être écrite ou pas
minWriteValueValeur minimale que peut prendre la variable
maxWriteValueValeur maximale que peut prendre la variable
categoriesCatégories dont fait partie la variable
formatFormat de la variable
floatPrecisionEntier indiquant le nombre de chiffre significatif après la virgule. 0 si la variable n’est pas un décimale.
unitUnité de la variable. Si aucune unité alors  » est retourné.
minRemoteScaleValueValeur minimale brute
maxRemoteScaleValueValeur maximale brute
minLocalScaleValueValeur minimale lors de la mise à l’échelle
maxLocalScaleValueValeur maximale lors de la mise à l’échelle
inhibitionUserUtilisateur ayant inhibé l’alarme
inhibitionStartTimeDate de début de l’inhibition
inhibitionStopTimeDate de fin de l’inhibition
hasAlarmBooléen autorisant la gestion des alarmes
alarmLabelLibellé de l’alarme
alarmConditionCondition de l’alarme
hasEventBooléen autorisant la gestion des événements
eventLabelLibellé de l’événement
eventConditionCondition de l’événement
hasPlotBooléen autorisant l’historisation des valeurs
plotIsAveragedBooléen autorisant de moyenner la courbe
plotMinDelayDélai entre deux points en secondes sur la courbe
plotMinDiffHystérésis de la variable
snmpOIDAdresse SNMP de la variable
snmpTypeType SNMP de la variable
rawValueValeur actuelle de la variable
displayValueValeur formatée de la variable
Tableau sur les champs disponibles pour une variable

Un exemple de requête HTTP est:

https://192.168.1.223/mserver/ui/api/v1/variables 

avec comme paramètres:

'item={'label': 'temperature', 'deviceId': 2}'

Le code écrit en python sera le suivant:

query = 'variables'
data =  {'item' : json.dumps(
    {
        'label': 'temperature',
        'deviceId': 2}, sort_keys=True)}
req = requests.patch(SERVER_URI + query, data=data, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
print(req.json())

La variable une fois modifiée, la sortie (req.json()) affiche None.

Information
Pour les variables de type chaîne de caractères (MS), il est indispensable d'encoder la valeur contenu dans le champs rawValue dans un JSON grâce à la fonction json.dumps().
Par exemple:
data = {'item' : json.dumps(
    {
        'label': 'url',
        'rawValue': json.dumps('https://test.fr')}, sort_keys=True)}
3.2.4.2 Equipements

Pour modifier un équipement, la requête HTTP sera:

/devices/{id}

Avec ‘id’ correspondant à l’index de l’équipement dans la base de données. Cette requête sera suivie d’un dictionaire dont la clé ‘item’ contient elle -même un dictionnaire contenant les clés/valeurs de certains champs de la variable:

'item={'isActive': ..., 'type': ..., 'name': ..., ...}'

Ainsi, on peut renseigner avec des valeurs les clés suivantes:

Nom du champsDescription
isActiveBooléen indiquant si l’équipement est actif (1) ou en erreur (0)
typeType de l’équipement
nameNom de l’équipement
commentCommentaire
displayLabelValeur de le la représentation de l’équipement
zonesZone(s) de l’équipement
purgeDelayDélai de purge des historiques (en jours)
timeoutTimeout (en secondes)
refreshDelayDélai de rafraîchissement (en secondes)
comProtocolProtocole de communication utilisé
comPortPort de communication utilisé
slaveNumberNuméro d’esclave. None pour aucun.
passwordMot de passe de l’équipement
comStateÉtat de la communication
alarmsNombre d’alarmes actives
isEditableBooléen indiquant si l’équipement est modifiable par un utilisateur
Tableau sur les champs disponibles pour un équipement

Un exemple de requête HTTP est:

https://192.168.1.223/mserver/ui/api/v1/variables 

avec comme paramètres:

'item={'label': 'temperature', 'deviceId': 2}'

Le code écrit en python sera le suivant:

query = 'devices'
data = {'item' : json.dumps(
    {
        'name': 'Equipement_test',
        'comment': 'Ceci est un test'}, sort_keys=True)}
req = requests.patch(SERVER_URI + query, data=data, headers={
        'Authorization': 'Bearer {api_key}'.format(api_key=API_KEY)
    })
print(req.json())

L’équipement une fois modifié, la sortie (req.json()) affiche None.

3.2.5 Méthode DELETE

Cette méthode est utilisée pour supprimer un élément d’une table.

3.2.5.1 Variables

Pour supprimer une variable d’une table, la requête HTTP sera:

/variables/{id}

Avec ‘id’ correspondant à l’index de la variable dans la base de données. Il n’y a besoin d’aucun paramètre.

3.2.5.1 Equipements

Pour supprimer une variable d’une table, la requête HTTP sera:

/devices/{id}

Avec ‘id’ correspondant à l’index de la variable dans la base de données. Il n’y a besoin d’aucun paramètre.

Capteur Sinafis

Dernière modification le

1. Introduction

Merci de lire attentivement et entièrement ce manuel avant toute installation.

Ce manuel a pour but de vous aider à comprendre le fonctionnement du transmetteur ATH11XX et de ses sondes, la façon de le paramétrer et de l’installer.

Il est possible de contacter le support de Sinafis en envoyant un email à : support.sinasens@sinafis.com

Merci de préciser dans votre email votre nom et vos coordonnées de contact ainsi que le numéro de série du transmetteur concerné.

1.1 Garantie

Ce produit vous a été fournit dans le cadre d’un contrat de location. La société Sinafis garantit le fonctionnement du produit pendant toute la durée du contrat pour tous les défauts de fabrication du produit. La garantie ne couvre pas les détériorations liées à l’installation et / ou à l’utilisation que ne respecterait pas les informations du présent manuel. Les sondes dont le câble est coupé ou arraché, dont le corps est endommagé, dont le raccordement électrique n’est pas conforme, ne sont pas couvertes par la garantie. Une antenne perdue, tordue ou cassée n’est pas couverte par la garantie. L’introduction d’eau suite à une mauvaise remise en place du couvercle ou du joint du transmetteur n’est pas couverte par la garantie.

1.2 Couverture du réseau Sigfox

Le réseau Sigfox couvre 80% du territoire français. Il est nécessaire de vérifier auprès de Sinafis si le lieu d’implantation des sondes est couvert par le réseau (dans l’idéal, fournir les coordonnées GPS du lieu). Il suffit parfois de déplacer le transmetteur de quelques dizaines de mètres pour obtenir une meilleure transmission. Pour de plus amples informations, envoyer un email à support.sinasens@sinafis.com ou contact@sinafis.com.

2. Principe de fonctionnement

2.1 Présentation du système

L’ATH11XXS est un transmetteur de la température et de l’humidité du sol et de l’air. Il est destiné aux petites et grandes exploitations Agricoles (viticulteurs, maraîchers, fruitiers, céréaliers, …). Il peut également recevoir une sonde de feuille afin de communiquer la quantité d’eau présente à la surface.

L’ATH11XXS utilise la technologie radio Sigfox® et est alimenté par une pile lithium de 3v6 permettant une grande autonomie pouvant atteindre plusieurs années suivant la fréquence de transmission des mesures.

Schéma du principe de fonctionnement Sinasens
Schéma du principe de fonctionnement Sinasens

2.2. Le fonctionnement

Etape 1

Le transmetteur ATH11XXS se réveille à intervalles réguliers – généralement toutes les 2 heures – pour effectuer les différentes mesures.

Etape 2

L’ATH11XXS transmet par radio sur le réseau Sigfox le résultat des mesures qui est stocké dans le cloud dans la base de données Sinasens. Si des seuils d’alerte ont été définis, les notifications email sont envoyées aux destinataires désignés.

Etape 3

L’utilisateur peut se connecter à l’application web par l’intermédiaire d’un ordinateur fixe ou portable, d’une tablette ou d’un smartphone au site www.sinasens.com pour accéder aux informations de tous les transmetteurs qu’il possède. Il peut visualiser la position GPS de chacun ainsi que les dernières mesures réalisées. Des relevés graphiques permettent observer l’évolution au cours du temps.

3. Présentation du transmetteur

  1. Antenne orientable
  2. Event microporeux
  3. Pile 3.6V
  4. Presse étoupe pour les câbles de sonde
  5. GPS
  6. Voyant LED de contrôle
  7. Bouton reset
  8. Bouton de configuration
  9. Borniers de raccordement des sondes

4. Présentation de la sonde Sol SHT

  1. Câble de raccordement à brancher sur le transmetteur
  2. Capteur de température intégré au corps de la sonde
  3. Sonde capacitive à haute fréquence

La sonde SHT permet la mesure de l’humidité et de la température du sol. Elle est composée d’un capteur d’humidité capacitif à haute fréquence (80 MHz) et d’un capteur de température intégré dans le boitier.

La sonde SHT ne doit être raccordée que sur un transmetteur de la famille Sinasens (type ATH11XXS). Elle ne nécessite pas d’être calibrée avant utilisation. La calibration a déjà été effectuée en usine lors de la production.

La sonde est totalement étanche et ne nécessite aucun entretien particulier. La sonde capacitive étant prise en sandwich dans l’époxy il n’y a pas d’oxydation susceptible de l’endommager.

Information
Toutes les sondes livrées sont des sondes appelées « sonde 1 » (pour première sonde de sol). Il existe également des sondes appelées « sonde 2 » (pour deuxième sonde de sol). Les sondes de type 2 sont reconnaissables grâce à une bague de couleur sur le câble ou un marquage spécifique. Il est possible de raccorder une « sonde 1 » et une « sonde 2 » sur un même transmetteur mais jamais 2 sondes de même type sur un même transmetteur !
Avertissement
Afin que la sonde SHT donne les meilleurs résultats, il est nécessaire de bien respecter la procédure de mise en place dans le sol (voir le chapitre concerné).

5. Présentation de la sonde d’humidité de feuille SHFT

  1. Câble de raccordement à brancher sur le transmetteur
  2. Sonde d’humidité capacitive à moyenne fréquence

La sonde SHFT permet simuler une feuille et de mesurer l’humidité présente sur celle-ci. Elle est composée d’un capteur d’humidité capacitif à moyenne fréquence dont la surface est en forme de feuille. La sonde SHFT ne doit être raccordée que sur un transmetteur de la famille SinaSens (type ATH11XXS).

Elle ne nécessite pas d’être calibrée avant utilisation. La calibration a déjà été effectuée en usine lors de la production. La sonde est totalement étanche et ne nécessite aucun entretien particulier. La sonde capacitive étant prise en sandwich dans l’époxy il n’y a pas d’oxydation susceptible de l’endommager.

Information
Il n’est possible de raccorder qu’une seule sonde SHF sur un transmetteur Sinasens.
Avertissement
Afin que la sonde SHFT donne les meilleurs résultats, il est nécessaire de bien respecter la procédure de mise en place (voir le chapitre concerné).

6. Raccordement d’une sonde

  • Ouvrir le boitier et localiser les borniers de raccordement. Il y a 3 emplacements possibles pour raccorder une sonde (SHT ou SHFT). Il n’y a pas d’ordre de placement. Il est possible de choisir indifféremment la position 1, 2 ou 3 sans conséquence pour le fonctionnement du produit.
  • Desserrer le presse-étoupe par lequel doit passer le câble de la sonde.
  • Faire passer le câble dans le presse-étoupe.
  • Raccorder la sonde indifféremment sur l’emplacement d’un bornier de votre choix en respectant le câblage suivant :
  • Blanc-> borne +
  • Noir -> borne –
  • Vert -> borne D
  • Marron -> borne C
  • Serrer modérément le presse-étoupe pour garantir l’étanchéité.
  • Vérifier que l’antenne est fermement vissée sur le boitier.

7. Installation du transmetteur

Le transmetteur utilise le réseau Sigfox et comme tout système radio il est nécessaire de respecter quelques règles simples pour obtenir les meilleures performances :

  • Une bonne méthode consiste à utiliser un piquet solidement ancré au sol et à placer le transmetteur à son extrémité supérieure. Vérifier que la hauteur de fixation permette la mise en place de la sonde dans le sol.
  • Placer le transmetteur et orienter l’antenne de sorte qu’elle soit placée verticalement.
  • S’assurer que l’antenne est dégagée au maximum. Idéalement, il ne devrait y avoir aucun obstacle dans un rayon de 30cm autour de l’antenne.
  • Si le transmetteur est fixé verticalement, les presse-étoupes pour le passage du câble des sondes doivent se situer sur la partie inférieure.
  • Si le transmetteur est placé horizontalement, il faut orienter l’antenne verticalement.
  • Il faut toujours s’assurer que l’antenne est fermement vissée. Dans le cas contraire, il est possible qu’en cas d’exposition à des vents violents, celle-ci se dévisse et s’envole.

8. Installation de la sonde SHT

Pour obtenir les meilleurs résultats pour la mesure de l’humidité, il est impératif que la partie sensible 3 soit entièrement en contact (face supérieure et inférieure) avec le sol. La solution la plus efficace est la suivante :

  • Faire un trou dans le sol jusqu’à la profondeur de mesure souhaitée.
  • Réaliser un pralin en mélangeant de la terre en provenance du trou avec un peu d’eau.
  • Placer un peu de pralin au fond du trou.
  • Placer la sonde horizontalement sur ce pralin.
  • Recouvrir la sonde avec le reste du pralin.
  • Reboucher le trou en tassant au fur et à mesure.
  • Les premières mesures seront surtout le reflet de l’humidité du pralin. Après quelques heures, voir quelques jours suivant le volume du pralin, les mesures correspondront à l’humidité du sol.

Pour la mesure de la température du sol, il faut se rappeler que le capteur de température 2 est situé sur le corps de la sonde. Il est donc nécessaire que le corps de la sonde soit lui aussi placé dans le sol.

Le simple fait de planter verticalement la sonde dans le sol en laissant le corps à l’extérieur ne permet pas de mesurer la température du sol mais seulement la celle du corps exposé à l’air libre et aux rayons du soleil.

En conclusion : pour une bonne mesure de l’humidité et de la température du sol, il faut que la sonde soit intégralement dans le sol avec un parfait contact de la partie sensible 3 avec la terre.

9. Installation de la sonde SHFT

Pour obtenir les meilleurs résultats pour la mesure de l’humidité de feuille , il faut s’assurer qu’après l’installation la partie sensible 2 soit totalement dégagée. Tout élément en contact avec la partie sensible (support, branche,…) modifiera la valeur lue.

La solution d’installation la plus efficace est la suivante :

  • Utiliser un support en forme de L en fer ou en aluminium ou encore un morceau de fer à béton.
  • Fixer la partie verticale du support sur un piquet ou un poteau (celui du transmetteur par exemple).
  • Fixer le corps de la sonde tout au bout horizontal du support en s’assurant que la partie sensible est bien dégagée. Il est possible d’utiliser des colliers serre-fils ou de la gaine creuse pour maintenir la sonde sur le support.
  • Tordre éventuellement le support pour donner l’inclinaison souhaitée à la feuille SHFT.

Il est préférable de positionner la sonde SHFT à l’extérieur du feuillage plutôt qu’à l’intérieur. Les mesures seront plus pertinentes pour détecter aussi bien la pluie, la rosée, la neige ou encore la glace. On évite de plus le contact avec des éléments extérieurs qui pourraient perturber les mesures.

10. Programmation du transmetteur

10.1. Les différents modes

Le transmetteur possède 8 modes d’émission paramétrables toutes les :

  1. 15 minutes
  2. 30 minutes
  3. 1 heure
  4. 2 heures
  5. 4 heures
  6. 8 heures
  7. 12 heures
  8. 24 heures

Un mode de test réservé pour les mesures en laboratoire et un mode de sommeil.

Chacun des 8 modes de transmission est identifiable par des flashes sur le voyant led rouge intégré au produit.

Les différents modes sont identifiés de la façon suivante :

  • 1 flash pour le mode 1
  • 2 flashes pour le mode 2
  • etc ..

Le mode test est identifiable par l’émission de flashes très rapides sur le voyant led.

Avertissement
Ne pas utiliser le mode test.

Le mode sommeil est indentifiable par l’émission d’une slave de flashes rapides et lent.

10.2. Exemple :

Activer le Mode 4 pour une émission toutes les 2 heures :

  1. Ouvrir le boitier en dévissant les 4 vis imperdables du couvercle.
  2. Appuyer et maintenir appuyé le bouton BP.
  3. Appuyer puis relâcher le bouton RESET. Au bout de quelques secondes, le transmetteur va afficher sur le voyant led les différents modes consécutifs.
  4. Relâcher le bouton BP lorsque le transmetteur affiche le mode 4 (émission d’une série de 4 flashes rapides).
  5. Après une dizaine de secondes, le SinaSens confirme être en mode 4 (émission d’une série de 4 flashes). Replacer le couvercle sur le boitier en vérifiant que le joint d’étanchéité est bien en place.

10.3 Remarque sur les modes

Lors de la configuration, les modes changent de façon cyclique comme indiqué sur la figure suivante tant que le bouton poussoir BP n’a pas été relâché. Si le mode désiré a été dépassé, il suffit de maintenir le BP appuyé jusqu’à l’apparition du mode souhaité ou de reprendre la procédure précédente à l’étape 2.

10.4 Remarque sur la position GPS

Le transmetteur fait une première recherche de sa position GPS après un reset (bref appui sur le bouton poussoir RESET), et ensuite toutes les 24h environ. La recherche de la position GPS dure au maximum 2mm afin de ne pas épuiser la pile.

La position GPS ne peut être déterminée que si le SinaSens possède une vue dégagée sur le ciel. Il sera pratiquement impossible d’obtenir la position dans un hangar, dans un bâtiment, dans un sous-sol,…

La mise en place du SinaSens sous un abris en bois ou sous une serre ne pose généralement pas de problème pour la réception des signaux GPS.

La présence d’un environnement en béton, en pierre, en tôle,… est généralement nuisible à la bonne transmission ou réception des ondes radio tant pour le réseau Sigfox que pour le GPS.