Description
Les rubriques
suivantes décrivent la méthode OPC IOPCDataCallback::OnDataChange()
invoquée dans ##TSEventsGroup##
.
Un élément
du groupe ##TSEventsGroup##
est notifié
avec une valeur, une heure et un paramètre de qualité qui
sont décrits ci-après.
Valeur
Valeur est la valeur de l'événement (champ Value
dans le format de données d'événements) convertie en VT_BOOL
.
Heure
Heure est
l'horodatage de l'événement (champ DateAndTime
dans le format de données d'événements) converti en FILETIME
.
La
conversion suivante est appliquée à l'horodatage : pftTimeStamps
= 10 000 000 * (DateAndTime.SecondSinceEpoch
+ 11 644 473 600 + (DateAndTime.FractionOfSecond
* 2 puissance –24))
Quality
d'un événement indique une
valeur ClockFailure
, OFS complète
le champ Heure avec l'heure locale de la machine OFS.Qualité
Qualité est un type MOT résultant de la combinaison de la qualité d'heure de l'événement et de la qualité OPC standard.
Format de Qualité :
Octet 0 : Qualité OPC
Octet 1 :
TimeQuality
(TimeQuality
champ dans le format de données d'événements)
Valeur d'OPC_Quality :
OPC_QUALITY_BAD
ouQUAL_CONFIGURATION_ERROR
(04 hex) : Une erreur de configuration est détectée sur l'élément (source d'événement inconnue, par exemple).OPC_QUALITY_GOOD
(C0 hex) : Fonctionnement normal
Gestion des pseudonymes OnDataChange()
Notez qu'une notification SOE diffère d'une notification de données en temps réel classique.
Le tableau suivant illustre une série de données qui pourraient être modifiées :
Pseudonyme |
Valeur |
Qualité |
Horodatage |
---|---|---|---|
H1 |
0 |
TimeQuality1 |
T1 |
H1 |
1 |
TimeQuality2 |
T2 |
H2 |
0 |
TimeQuality3 |
T3 |
H1 |
0 |
TimeQuality4 |
T4 |
H2 |
1 |
TimeQuality5 |
T5 |
Une série de résultats concernant un même pseudonyme pourrait être fournie.
Afin de respecter l'ordre des valeurs Horodatage pour un pseudonyme donné, le client OPC doit traiter les résultats du tableau (qui contient Pseudonyme, Valeur, Qualité et Heure) dans l'ordre d'origine (du premier au dernier élément du tableau).