Neues PowerConfig für DPE anlegen

Durch Klick auf die Schaltfläche Neue Konfiguration erstellen öffnet sich folgendes Panel für die Eingabe der PowerConfig-Parameter:

Abbildung 1. Panel für die Definition eines neuen DPE-PowerConfigs

Wählen Sie aus der Combobox (nach dem grau hinterlegten Textfeld mit Inhalt "_da") ein Konfig, das Sie für das Erstellen eines PowerConfigs verwenden wollen (beim Kopieren eines bereits vorhandenen PowerConfigs wird diese Combobox ebenfalls ausgegraut und das Konfig des Quell-PowerConfigs angezeigt). Im nachfolgenden Textfeld können weitere beliebige Zeichen eingegeben werden. Im darunterliegenden grau hinterlegten Textfeld wird der Name des PowerConfigs angezeigt.

VORSICHT:

Bei der Eingabe von beliebigen Zeichen im PowerConfig-Namen ist darauf zu achten, dass keine Leerzeichen und Sonderzeichen (z.B. *?äöüß.;) verwendet werden!

Anmerkung:

Der Name des PowerConfigs setzt sich aus folgendem Wortlaut zusammensetzen: _da + Name des Konfigs (z.B. _pv_range für WinCC OA Wertebereich - mehr zu den in WinCC OA vorhandenen Konfigs finden Sie unter Konfigs (Datenpunkte konfigurieren)) + _ + beliebige Zeichen. Beispiel: _da_pv_range_test für ein Peripherieadressen PowerConfig.

Durch die Angabe des _pv_range Konfigs beim Namen des neuen PowerConfigs kann nach dem Anlegen das PowerConfig, bei Parametrierung auf einem Datenpunkt, aus der Combobox WinCC OA Wertebereich ausgewählt werden (Näheres auf der Seite DPE-PowerConfig einfügen).

Für ein PowerConfig, das auf einem Datenpunktelement eingefügt wird (DPE), muss ebenfalls der Datentyp (BOOL, STRING oder FLOAT) selektiert werden. Ein PowerConfig mit dem Datentyp FLOAT kann z.B. auf Datenpunktelementen, die den Typ FLOAT, INT und UNSIGNED aufweisen eingefügt werden. Durch Auswahl aller Checkboxen (BOOL, STRING und FLOAT) werden in WinCC OA alle Datentypen abgedeckt.

Bei der Parametrierung des Klartextes können Sie einen weiteren Namen für das PowerConfig vergeben, der schließlich bei der Auswahl und in der Combobox Konfiguration des PowerConfig-Editors angezeigt wird. Mit OK bestätigen Sie Ihre Eingaben und das Panel wird automatisch geschlossen, Abbrechen schließt das Panel ohne jegliche Einstellungen zu übernehmen.

Beispiel

Anlegen eines PowerConfigs für Peripherieadresse (OPC Eingang), das nur auf Elementen vom Datentyp Bool angewendet werden kann. Beim Einfügen dieses PowerConfigs sollen keine weiteren Teil-PowerConfigs am Datenpunktelement angelegt werden. Veränderliche Attribute bei dieser Peripherieadresse sollen Server, Gruppe, Item und die Adressaktivierung sein.

  1. Klicken Sie auf die Schaltfläche Neues PowerConfig erstellen im PowerConfig-Editor.

  2. Geben Sie folgende Parameter im Panel für die Definition eines neuen PowerConfigs an:

    Abbildung 2. Neues PowerConfig definieren
  3. Wählen Sie das neu angelegte PowerConfig "B - Test OPC Eingang" aus der Combobox mit den definierten Konfigurationen, um in den nächsten Schritten die Variablen und Skripts auf den Registerkarten einzustellen.

  4. Die Registerkarte TreiberIDs wird nicht benötigt, da in diesem Beispiel ein PowerConfig für einen speziellen Treibertyp angelegt wird. Auf der Registerkarte Variablen deklarieren Sie alle Variablen, die in den nachfolgenden Skripts für das Setzen/Lesen der Attribute des PowerConfigs notwendig sind (weitere Informationen finden Sie auch auf der Seite Registerkarte Variablen). Folgende Variablen sind für dieses Beispiel zu definieren:

    Name Typ Defaultwert Beschreibung
    Server string Teil der Peripherieadresse
    Group string Teil der Peripherieadresse
    Item string Teil der Peripherieadresse
    _reference string "$$_mp_"+dpTypeName($DPE)+"_OPCITEM" Referenzstring (bestimmt die Adresse)
    _active bool Adressaktivierung
    _direction int Gibt die Richtung an (Eingang bzw. Ausgang).
    _drv_ident string "OPCCLIENT" Treibertyp
  5. Auf der Registerkarte Eingang erfolgt in diesem Schritt die Eingabe eines Skripts, welches die aktuellen Werte der Attribute ausliest und auf definierte Variablen schreibt (z.B. beim Aufschalten des PowerConfig-Parametrierpanels am Datenpunkt). Geben Sie das folgende Skript auf dieser Registerkarte ein:

    dpGet($DPE+":_address.._reference",_reference,
    $DPE+":_address.._active",_active,
    $DPE+":_address.._drv_ident",_drv_ident,
    $DPE+":_address.._direction",_direction);
  6. Die Registerkarte Eingangsberechnung wird mit einem Skript versehen, welches den Referenzstring aufteilt und die Werte auf die Variablen Server, Group und Item schreibt (bei einer OPC-Peripherieadresse werden für Server, Gruppe und Item keine "echten" WinCC OA Attribute verwendet). Diese Variablen sollen schließlich als dynamische Attribute dienen und auf jedem Datenpunkt verändert werden können. Definieren Sie folgendes Skript, welches die Aufteilung vornimmt:
    Server = substr(_reference, 0, strpos(_reference, "$"));
    _reference = substr(_reference, strpos(_reference, "$")+1, strlen(_reference));
    Group = substr(_reference, 0, strpos(_reference, "$"));
    Item = substr(_reference, strpos(_reference, "$")+1, strlen(_reference));
  7. Auf der Registerkarte Eingabe wählen Sie Variablen (dynamische Attribute) aus, deren Parameter auf jedem Datenpunkt eingestellt werden können (mehr Informationen zu dieser Registerkarte finden Sie auf der Seite Registerkarte Eingabe). Für dieses Beispiel wurden die Variablen Server, Group, Item und _active herangezogen. Da die Variablennamen bereits in anderen PowerConfig-Skripts verwendet werden, wird auch der Name in Klartext der dynamischen Attribute aus der Katalogdatei da.cat verwendet.

  8. Nachdem der Referenzstring zuvor aufgeteilt wurde, um mittels PowerConfig-Parametrierung die einzelnen Parameter auf jedem DP setzen zu können (Klick auf OK im Parametrierpanel), muss auf der Registerkarte Ausgangsberechnung die Adresse (Referenzstring) wieder zusammengesetzt werden. Damit wird ein ordnungsgemäßes Setzen des Attributes _address.._reference für die OPC-Peripherieadresse gewährleistet. Das Zusammensetzen des Strings erfolgt durch folgendes Skript:

    _reference = Server+"$"+Group+"$"+Item;
  9. Das definierte Skript auf der Registerkarte Ausgang führt zu einem Setzen der Werte, die die Variablen angenommen haben, auf die spezifischen Attribute des Konfigs. Für dieses Beispiel erstellen Sie folgendes Skript auf dieser Registerkarte:

    dpSetWait($DPE+":_address.._drv_ident",_drv_ident,
    $DPE+":_address.._reference",_reference,
    $DPE+":_address.._direction",_direction,
    $DPE+":_address.._active",_active);
             
    err = getLastError();
    
    if (dynlen(err) > 0)
    {
      throwError(err);
    }
  10. Als letzten Schritt für das Anlegen des neuen PowerConfigs sind auf der Registerkarte Default mit einem Skript Werte auf Attribute zu setzen, die beim erstmaligen Einfügen des PowerConfigs am Master-Datenpunkt in der Parametriermaske eingetragen sind. In diesem Beispiel wurden folgende Attribute mit Werten versehen:

    dpSet($DPE+":_address.._reference",_reference,
    $DPE+":_address.._active",FALSE,
    $DPE+":_address.._direction","\2",
    $DPE+":_address.._drv_ident",_drv_ident);
  11. Auf der letzten Registerkarte Quellcode kann das Skript für das erstellte PowerConfig angesehen und einer Syntaxprüfung unterzogen werden. In der Datei powerconfig wird ein neuer Abschnitt mit den Einstellungen für das neue PowerConfig hinzugefügt (mehr Informationen zum Aufbau dieser Datei finden Sie auf der Seite Aufbau der Datei powerconfig). Das Skript für dieses Beispiel sollte so aussehen:

    definition32()
    {
      // definition start
      //_da_address_OPC:BOOL
      // variables definition
      string Server;
      string Group;
      string Item;
      string _reference="$$_mp_"+dpTypeName($DPE)+"_OPCITEM";
      bool _active;
      string _drv_ident="OPCCLIENT";
      int _direction;
      // dpGet
      dpGet($DPE+":_address.._reference",_reference,
        $DPE+":_address.._active",_active,
        $DPE+":_address.._drv_ident",_drv_ident,
        $DPE+":_address.._direction",_direction);
      // calculate input
      Server = substr(_reference, 0, strpos(_reference, "$"));
      _reference = substr(_reference, strpos(_reference, "$")+1, strlen(_reference));
      Group = substr(_reference, 0, strpos(_reference, "$"));
      Item = substr(_reference, strpos(_reference, "$")+1, strlen(_reference));
      // variables input
      //Server
      //Group
      //Item
      //_active
      // calculate output
      _reference = Server+"$"+Group+"$"+Item;
      // dpSet
      dpSetWait($DPE+":_address.._drv_ident",_drv_ident,
        $DPE+":_address.._reference",_reference,
        $DPE+":_address.._direction",_direction,
        $DPE+":_address.._active",_active);
      err = getLastError();
      if (dynlen(err) > 0)
      {
        throwError(err);
      }
      // default
      dpSet($DPE+":_address.._reference", _reference,
        $DPE+":_address.._active",FALSE,
        $DPE+":_address.._direction", "\2",
        $DPE+":_address.._drv_ident",_drv_ident);
      // definition end
    }
  12. Nachdem das PowerConfig angelegt wurde, muss der GEDI neu gestartet werden, damit die das neue PowerConfig verfügbar/sichtbar ist.

Anmerkung:

Das mit diesem Beispiel angelegte PowerConfig kann nun im Modul PARA auf Datenpunktelementen vom Typ Bool eingefügt werden. Das PowerConfig kann aus der Liste der Peripherieadressen ausgewählt werden (siehe auch DPE-PowerConfig einfügen).