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

AVEVA™ InTouch HMI

Utiliser des variables indirectes avec des références distantes

Utiliser des variables indirectes avec des références distantes

  • Last UpdatedSep 24, 2024
  • 2 minute read

Les références distantes avec des variables indirectes sont différentes des références aux variables locales. La syntaxe d'une référence distante est la suivante :

NomAccès:Item

Condition

  • NomAccès est n'importe quel nom d'accès InTouch Nom d'accès.

  • Élément est un nom d'élément valide, pris en charge par le serveur d'E/S défini dans le nom d'accès.

Lorsque vous utilisez des références distantes, le serveur renvoie une valeur, et non une structure de variable. La valeur comprend l'horodatage et l'indicateur de qualité. Ainsi, une variable indirecte affectée à une référence distante ne peut accéder à des .champs de variables autres que ceux concernant la valeur, l'heure et la qualité. Par exemple, une variable indirecte ne peut accéder aux attributs d'une variable, pour spécifier des limites d'alarme, à travers une référence distante.

Une solution possible est de créer une console sur l'écran réunissant un ensemble de variables indirectes. L'illustration suivante montre une console permettant de modifier les limites d'alarmes d'une pompe.

Graphics describing a faceplate to modify the alarm limits for a pump

Dans cet exemple, la console présente 10 variables indirectes associées à un<:hs>.champ .Value implicite. La console d'alarmes est redirigée sur la référence distante, IndPumpRPM, pointant vers un poste InTouch distant appelé ServeurVar1. Un nom d'accès InTouch est configuré de la manière suivante :

Nom d'accès :

TagSource1

Nom du poste :

TagServer1

Nom de l'application :

Affichage

Nom de la rubrique :

Nom de point

Pour rediriger l'affichage vers la référence distante PumpRPM, le QuickScript suivant est exécuté :

IndPumpRPMName.Name = "TagSource1:PumpRPM.Name";

IndPumpRPMValue.Name = "TagSource1:PumpRPM";

IndPumpRPMHiHiLimit.Name = "TagSource1:PumpRPM.HiHiLimit";

IndPumpRPMHiLimit.Name = "TagSource1:PumpRPM.HiLimit";

IndPumpRPMLoLimit.Name = "TagSource1:PumpRPM.LoLimit";

IndPumpRPMLoLoLimit.Name = "TagSource1:PumpRPM.LoLoLimit";

IndPumpRPMHiHiStatus.Name = "TagSource1:PumpRPM.HiHiStatus";

IndPumpRPMHiStatus.Name = "TagSource1:PumpRPM.HiStatus";

IndPumpRPMLoStatus.Name = "TagSource1:PumpRPM.LoStatus";

IndPumpRPMLoLoStatus.Name = "TagSource1:PumpRPM.LoLoStatus";

Toutefois, ce script doit s'exécuter chaque fois que l'afficheur est redirigé. Une autre solution est de créer une QuickFunction InTouch, écrite une fois pour toutes, et de lui passer le nom de la référence distante. Pour réduire la quantité de scripts, vous pouvez utiliser plusieurs consoles appelant la même QuickFunction.

Par exemple, en utilisant un groupe de commandes similaires, vous pouvez définir une QuickFunction appelée RedirectAlarmFacePlate() :

Define a QuickFunction RedirectAlarmFacePlate

Il vous suffit alors d'appeler la fonction RedirectAlarmFacePlate() pour gérer toute l'opération de redirection. Pour cela, la fonction doit être appelée par un autre QuickScript InTouch. Par exemple :

CALL RedirectAlarmFacePlate ("TagSource1:PumpRPM");