Adressierung von Datenpunktelementen / Konfigs / Attributen
Um ein Element eines Datenpunktes von einem Script aus ansprechen zu können, muss ein vollständiger Datenpunktbezeichner verwendet werden. Dieser setzt sich aus mehreren Ebenen entsprechend der geräteorientierten Strukturierung zusammen.
Darüber hinaus kann bei jedem Element neben dem Wert auch noch auf eine Reihe von dynamischen Attributen und Parametrierungen abgefragt werden. Es handelt sich dabei um die Attribute der verschiedenen Konfigs (siehe auch Abschnitte Einstellungen zum Datenpunktelement, Adressierung, Funktionalität am geräteorientierten Datenobjekt - Konfigs).
System1: Datapoint.element_1...element_n:_config.detail._attribute
System1 ... Name des WinCC OA Systems (für "verteilte Systeme")
Datapoint ... Name des Datenpunktes (= Gerätename)
element_1 ... Strukturelement(e) zur Gliederung der Information
element_n ... Blattelement/Element, das einen Wert trägt
config ... Konfig: Parametrierung bzw. Verarbeitungsvorschrift
detail ... Unterscheidung von Bereichen (z.B. Meldebereiche)
attribute ... Spezifisches Attribut zu einem Konfig
Um lediglich den Wert eines Datenpunktelementes in Control verarbeiten zu können, reicht es aus, die Adressierung bis zum Blatt-Element anzugeben. Die Angabe von Konfig und Attribut ist nicht notwendig. Überdies darf bei einem einzelnen System, der vorangestellte Systemname weggelassen werden.
Eine Datenpunktadresse (Bezeichner) wird in der Control-Sprache als Zeichenkette (string) betrachtet. Die Übergabe erfolgt daher immer in Anführungszeichen oder per Variable vom Datentyp string.
Beim schreibenden Zugriff auf den Wert eines Datenpunktes wird implizit immer das _original Konfig verwendet, der lesende Zugriff erfolgt auf das _online Konfig. In der verkürzten Adressierung braucht der Control-Programmierer darauf jedoch keine Rücksicht zu nehmen - die Funktionen erledigen dies auch bei Angabe bis zum Element (ohne Konfig/Attribut) intern richtig.
Schreibender oder lesender Zugriff auf den Wert (automatische Kurzform)
System1:Drive04.state.speed
Lesender Zugriff auf den Wert
System1:Drive04.state.speed:_online.._value [anytype]
Schreibender Zugriff auf den Wert
System1:Drive04.state.speed:_original.._value [anytype]
Quellzeit / Zeitstempel
System1:Drive04.state.speed:_online.._stime [time]
Status/Qualität
System1:Drive04.state.speed:_online.._status [bit32]
Verursachender Benutzer
System1:Drive04.state.speed:_online.._user [uint]
Änderung ausführender Manager
System1:Drive04.state.speed:_online.._manager [uint]
Der Zugriff auf die Attribute anderer Konfigs verläuft aus Sicht der Adressierung entsprechend gleichartig - Einige Beispiele sollen lediglich den Einstieg in die Materie vermitteln (der Systemname wurde aufgrund der Verwendung im lokalen System weggelassen, die Datentypen stehen wieder in Klammer):
Aktivierung des DPE
Drive04.state.speed:_original.._active [bool]
Gültigkeit des Wertes
Drive04.state.speed:_online.._bad [bool]
Korrekturwert
Drive04.state.speed:_offline.._corr [bool]
Untere Grenze des Wertebereichs
Drive04.state.speed:_pv_range.._min [anytype]
Obere Grenze des Wertebereichs
Drive04.state.speed:_pv_range.._max [anytype]
Farbe des aktuellen Alarmbereichs
Drive04.state.speed:_alert_hdl.._act_state_color [string]
Die Kennzeichnung [anytype] bedeutet hier nicht, dass diese Attribute von jedem Datentyp sein können, sondern, dass in Abhängigkeit von anderen Sachverhalten verschiedene Typen möglich sind.
Mehr zum Thema Adressierung findet sich in der Online-Hilfe auf der Seite Adressierungen. Die Bedeutung von Konfigs und deren Attributen wird ebenfalls in der Online-Hilfe auf der Seite Grundlagen Datenpunktkonfigs genauer erläutert. Eine vollständige Liste aller Konfigs findet sich in den Referenz Tabellen unter Datenpunktkonfigs.