Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Éviter d’écrire des données de mauvaise qualité dans une référence d’E/S

Éviter d’écrire des données de mauvaise qualité dans une référence d’E/S

  • Last UpdatedSep 24, 2024
  • 2 minute read

Lorsque des variables sont nécessaires pour calculer une valeur d’E/S externe dans un script, utilisez les Propriétés graphiques personnalisées pour calculer la valeur. N’utilisez pas de variables DIM scriptées.

Industrial Graphic contribue à empêcher l’écriture de valeurs BAD sur des références d’E/S externes. Les variables DIM des scripts d’Industrial Graphic ne contiennent pas d’informations de qualité. Elles sont toujours considérées comme étant de bonne qualité. Si la valeur d’une variable DIM est calculée à partir d’une référence d’E/S de mauvaise qualité, System Platform n’empêche pas l’écriture de la valeur Incorrecte, car la variable DIM n’a pas de qualité et est toujours Bonne.

Lorsqu’une connexion est établie avec une référence externe, telle qu’un composé. Block.Parameter, System Platform ne sait pas s’il s’agit d’une valeur String, Boolean ou Analogue. La référence n’a pas de valeur tant que la connexion n’est pas établie. La qualité de cette valeur est Bad-Initializing. Elle n’a aucune valeur et est considérée comme n’étant pas un nombre (NaN).

Mauvaise pratique

Dans le cas ci-dessous, le script met en place un point de consigne. Il utilise une variable DIM pour calculer la nouvelle valeur de point de consigne. Plusieurs propriétés personnalisées sont connectées aux points d’E/S. Lorsque l’opérateur appuie sur le bouton de rampe, la connexion Hi Scale est toujours en cours d’initialisation.

Propriétés personnalisées

SPT

OPCClient_001.port.plc.i01

La connexion est bonne

LSC

OPCClient_001.port.plc.LSC

La connexion est bonne

HSC

OPCClient_001.port.plc.HSC

La connexion s’initialise et ne comporte aucune valeur

Script de rampe

dim Temp as float;

Temp = SPT + ((HSC-LSC)

*0.05);

HSC est en cours d’initialisation et n’a pas encore de valeur. Cependant, même si HSC est une mauvaise initialisation, étant donné que Temp est une variable DIM et non une propriété personnalisée, Temp a une qualité GOOD, même si sa valeur ne sera pas initialisée.

IF Temp < 100 Then

SPT = Temp

La valeur non initialisée sera toujours écrite dans SPT

ENDIF ;

Pratique privilégiée

Utilisez des propriétés personnalisées lorsque vous utilisez des références d’E/S pour calculer une valeur temporaire et écrire les résultats dans une autre valeur. Dans l’exemple précédent, la variable DIM Temp est remplacée par Custom Property Temp.

Propriétés personnalisées

SPT

IADAS.CMP.BLK.SPT

La connexion est bonne

LSC

IADAS.CMP.BLK.LSCI1

La connexion est bonne

HSC

IADAS.CMP.BLK.HCSI1

La connexion s’initialise et ne comporte aucune valeur

Temp

virgule flottante

0.0

Remplacer la variable DIM Temp par une propriété personnalisée Temp

Temp = SPT + ((HSC-LSC)

*0.05);

HSC de mauvaise qualité. Le calcul transmet la Mauvaise qualité des données de HSC à la propriété Temp personnalisée.

IF Temp < 100 Then

SPT = Temp

La valeur de Temp n’est pas écrite dans SPT si Temp est de qualité BAD.

ENDIF ;

In This Topic