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

AVEVA™ InTouch HMI

Schreiben von Daten mit schlechter Qualität in E/A-Referenz vermeiden

Schreiben von Daten mit schlechter Qualität in E/A-Referenz vermeiden

  • Last UpdatedSep 25, 2024
  • 2 minute read

Wenn Variablen erforderlich sind, um einen externen E/A-Wert in einem beliebigen Skript zu berechnen, verwenden Sie die benutzerdefinierte Eigenschaften der Grafik, um den Wert zu berechnen. Verwenden Sie keine geskripteten DIM-Variablen.

Industriegrafiken helfen dabei, das Schreiben von schlechten Werten (BAD) in externe E/A-Verweise zu verhindern. DIM-Variablen in Industriegrafik-Skripten enthalten keine Qualitätsinformationen. Bei ihnen wird immer von einer guten Qualität (Good) ausgegangen. Wenn der Wert einer DIM-Variablen auf der Grundlage eines E/A-Verweises mit schlechter Qualität berechnet wird, verhindert System Platform nicht das Schreiben des schlechten Werts (Bad), da die DIM-Variable über keine Qualität verfügt und immer gut (Good) ist.

Wenn eine Verbindung mit einem externen Verweis hergestellt wird (beispielsweise mit Compound. Block.Parameter), weiß System Platform nicht, ob es sich um eine Zeichenfolge, um einen booleschen Wert oder um einen Analogwert handelt. Der Verweis hat erst einen Wert, wenn die Verbindung hergestellt wurde. Der Qualität dieses Werts ist eine Kombination aus „ungültig“ und „wird initialisiert“ (Bad-Initializing). Sie hat keinen Wert und wird als „keine Zahl“ (Not a Number, NaN) betrachtet.

Schlechte Praxis

Im folgenden Fall ändert das Skript einen Sollwert. Zur Berechnung des neuen Sollwerts wird eine DIM-Variable verwendet. Es gibt mehrere benutzerdefinierte Eigenschaften, die mit E/A-Tags verbunden sind. Wenn der Bediener die Änderungstaste drückt, wird die Hi Scale-Verbindung noch initialisiert.

Custom Properties (benutzerdefinierte Eigenschaften)

SPT

OPCClient_001.port.plc.i01

Verbindung ist gut

LSC

OPCClient_001.port.plc.LSC

Verbindung ist gut

HSC

OPCClient_001.port.plc.HSC

Verbindung wird initialisiert und besitzt keinen Wert

Änderungsskript

dim Temp as float;

Temp = SPT + ((HSC-LSC)

*0,05);

HSC wird noch initialisiert und hat noch keinen Wert. Der Status von HSC ist zwar eine Kombination aus „ungültig“ und „wird initialisiert“ (Bad-Initializing), da „Temp“ jedoch eine DIM-Variable und keine benutzerdefinierte Eigenschaft ist, hat „Temp“ die Qualität „GOOD“ (gut), obwohl der zugehörige Wert nicht initialisiert ist.

IF Temp < 100 Then

SPT = Temp

Der nicht initialisierte Wert wird immer in SPT geschrieben.

ENDIF;

Bevorzugte Praxis

Verwenden Sie benutzerdefinierte Eigenschaften, wenn Sie E/A-Verweise verwenden, um einen temporären Wert zu berechnen und die Ergebnisse in einen anderen Wert zu schreiben. Im vorherigen Beispiel wird dazu die DIM-Variable „Temp“ durch die benutzerdefinierte Eigenschaft „Temp“ ersetzt.

Custom Properties (benutzerdefinierte Eigenschaften)

SPT

IADAS.CMP.BLK.SPT

Verbindung ist gut

LSC

IADAS.CMP.BLK.LSCI1

Verbindung ist gut

HSC

IADAS.CMP.BLK.HCSI1

Verbindung wird initialisiert und besitzt keinen Wert

Temp.

float

0,0

DIM-Variable „Temp“ durch benutzerdefinierte Eigenschaft „Temp“ ersetzen

Temp = SPT + ((HSC-LSC)

*0,05);

Die HSC-Qualität ist schlecht. Die Berechnung übergibt die schlechte Datenqualität von HSC an die benutzerdefinierte Eigenschaft „Temp“.

IF Temp < 100 Then

SPT = Temp

Der Wert von „Temp“ wird nicht in SPT geschrieben, wenn „Temp“ eine schlechte Qualität (BAD) aufweist.

ENDIF;

In This Topic