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

AVEVA™ InTouch HMI

IOSetRemoteReferences (Funktion)

  • Last UpdatedSep 14, 2023
  • 3 minute read

Mit der Skriptfunktion IOSetRemoteReferences() können Sie Application Server-Objektverweise oder Fernvariablenverweise in einem InTouch-Projekt zur Laufzeit umleiten. IOSetRemoteReferences() sucht dabei nach allen Fernverweisen, die eine bestimmte Zeichenfolge enthalten, und ändert diese Zeichenfolge gemäß der angegebenen Parameter. Auf diese Weise können Sie Fernverweise automatisch über ein Skript oder manuell über eine Benutzereingabe umleiten.

Kategorie

Sonstige

Syntax

IOSetRemoteReferences(BasisZN, NeuerZN, Suchtext, Ersetzungstext, Modus)

Argumente

BasisZN

Dieser Zeichenfolgenparameter legt den ursprünglich konfigurierten Zugriffsnamen fest, nach dessen Auftreten in den Verweisen gesucht werden soll.

NeuerZN

Der neue Zugriffsname. Dieser Zugriffsname wird für alle Verweise übernommen, deren ursprünglicher Zugriffsname mit dem angegebenen BasisZN übereinstimmt, und deren ursprünglicher Item-Name mit dem angegebenen Suchtext übereinstimmt (falls angegeben).

Suchtext

Textzeichenfolge, nach der in den Item-Namen der ursprünglichen Verweise gesucht werden soll. Wird hier eine leere Zeichenfolge angegeben, so wird jeder beliebige Item-Name als Übereinstimmung gewertet.

Ersetzungstext

Die Zeichenfolge, durch die der Suchtext im ursprünglichen Item-Namen ersetzt werden soll. Durch die Ersetzung ergibt sich der neue aktive Item-Name für den jeweiligen Verweis. Wird hier eine leere Zeichenfolge angegeben, so findet keine Ersetzung statt.

Modus

Legt fest, wann ein Auftreten des Suchtexts im ursprünglichen Item-Namen als Übereinstimmung gewertet wird. Unabhängig vom Wert dieses Parameters wird ein Auftreten des Suchtexts im Inneren des Item-Namens in keinem Fall als Übereinstimmung gewertet. Für eine Übereinstimmung muss der Suchtext also direkt am Anfang des Item-Namens auftreten. Ein Wert von 0 gibt an, dass der Suchtext mit dem gesamten Item-Namen bzw. einem kompletten Abschnitt vor einem Punkt (.) identisch sein muss, um als Übereinstimmung zu gelten. Ein Wert von 1 gibt an, dass Teilübereinstimmungen auch dann gewertet werden, wenn das darauf folgende Zeichen kein Punkt ist.

Anmerkungen

IOSetRemoteReferences() ändert den Objektverweis, ohne zu prüfen, ob der neue Verweis (Variablen- bzw. Zugriffsname) tatsächlich gültig ist.

  • IOSetRemoteReferences() dient ausschließlich zum Umleiten von Fernverweisen. Es werden alle Verweise umgeleitet, deren ursprünglich konfigurierter Zugriffsname mit dem angegebenen BasisZN übereinstimmt und deren ursprünglicher Item-Name mit dem angegebenen Suchtext übereinstimmt (falls angegeben).

  • Ein einziger Aufruf von IOSetRemoteReferences() wirkt sich dabei auf alle Fernverweise in allen im Speicher befindlichen Fenstern aus, die den genannten Kriterien entsprechen.

  • Wenn für das Argument „BasisZN“ kein Wert angegeben ist, leitet IOSetRemoteReferences() keine Fernverweise um.

  • Wenn kein Suchtext angegeben ist, leitet IOSetRemoteReferences() alle Verweise um, bei denen der ursprüngliche Zugriffsname identisch mit dem angegebenen BasisZN-Argument ist.

  • Ist das Argument „Modus“ auf 0 gesetzt, so werden im Item-Namen ausschließlich ganze Objekt- oder Variablennamen bzw. ganze Eigenschaftsnamen (oder Punktfelder) ersetzt. Der Suchtext muss also entweder mit dem gesamten ursprünglichen Item-Namen oder mit einem Abschnitt übereinstimmen, der von einem Punkt (.) gefolgt wird.

  • Ist das Argument „Modus“ auf 1 gesetzt, so ist auch eine teilweise Ersetzung zulässig, wenn der Item-Name mit dem Suchtext beginnt. Es findet also auch dann eine Ersetzung statt, wenn der Suchtext nicht mit dem gesamten ursprünglichen Item-Namen bzw. mit einem Abschnitt übereinstimmt, der von einem Punkt gefolgt wird. Voraussetzung für die Ersetzung ist jedoch weiterhin, dass der ersetzte Teilbereich am Anfang des ursprünglichen Item-Namens steht. Das letzte Zeichen in der übereinstimmenden Zeichenfolge muss nicht von einem Punkt gefolgt sein.

  • Die ursprünglich konfigurierten Fernverweise bleiben auch nach dem Aufruf noch im Hintergrund erhalten. Folgeaufrufe von IOSetRemoteReferences() beziehen sich also immer wieder auf dieselben ursprünglich konfigurierten Verweise. Die Aufrufe von IOSetRemoteReferences() können in beliebiger Reihenfolge stattfinden.

  • Wenn zwei oder mehr Fenster auf denselben Fernverweis verweisen sollen, verhält sich dieser Fernverweis wie eine E/A-Variable. Eine Umleitung hat in diesem Fall zur Folge, dass in allen Fenstern dieselbe Anzeige erscheint. Verwenden Sie nicht ein und denselben Namen, um gleichzeitig auf zwei verschiedene Ziele zu verweisen.

    Hinweis: Wenn Sie viele Verweise gleichzeitig umleiten (z. B. in einem Fensterskript beim Öffnen des Fensters), kann es einige Zeit dauern, bis alle Verweise aktiv sind.

Beispiele

Die folgende Anweisung leitet alle Fernverweise mit dem Zugriffsnamen „Galaxy“ und dem Item-Namen „PumpeX“ auf den Item-Namen „Pumpe001“ um.

IOSetRemoteReferences("Galaxy","","PumpeX", "Pumpe001",0);

Die folgende Anweisung leitet alle Fernverweise mit dem Zugriffsnamen „Galaxy“ und dem Item-Namen „PumpeX“ auf den Zugriffsnamen „VarServer1“. und den Item-Namen „Pumpe2“ um.

IOSetRemoteReferences("Galaxy","VarServer1", "PumpeX","Pumpe2",0);

Im folgenden Beispiel wird der Zugriffsname VarServer1 in VarServer2 geändert, wenn der Item-Name PumpeX lautet. Außerdem wird der Name des Items in Pumpe3 geändert.

IOSetRemoteReferences("VarServer1","VarServer2", "PumpeX","Pumpe3",0);

Die folgende Anweisung ersetzt in allen Verweisen mit dem Zugriffsnamen „VarServer1“ die Zeichenfolge „Tank“ am Beginn des Item-Namens durch „Kessel“.

IOSetRemoteReferences("VarServer1","","Tank", "Kessel",1)

Im folgenden Beispiel hat der Funktionsaufruf keine Auswirkungen, da das Argument BasisZN leer bleibt.

IOSetRemoteReferences("","Galaxy","pumpX", "pump001",0);

In This Topic