Spaltenkonfiguration

Neu angelegte bzw. vorhandene Spalten können, abhängig vom Typ, mit weiteren Einstellungen versehen werden (z.B. Spaltenbreite, Überschrift, Einbindung von Funktionen). Diese Einstellungen werden über ein eigenes Panel vorgenommen. Öffnen Sie dieses Panel über die Schaltfläche Spalteneigenschaften oder durch Doppelklick auf eine beliebige Spalte in den Registerkarten Alarme und Ereignisse im Panel Tabellenkonfiguration.

Abbildung 1. Panel für die Änderung der Spalteneigenschaften - Typ Alarme

Ganz oben wird die Position in der Liste der verfügbaren Spalten, der Name der Spalte und die Sichtbarkeit angezeigt (diese Felder können in diesem Panel nicht geändert werden).

Folgende Einstellungen können in diesem Panel pro Spalte vorgenommen werden:

  • Überschrift der Spalte (Langtext).
  • Definition der Spaltenbreite für den AESchirm.
  • Die Checkbox Dynamische Spaltenbreite teilt den Platz, der in der Tabelle übrig bleibt (der Platz, der nachdem die fixe Spaltenbreite vergeben wurde, übrig blieb) für die Spalten, für die, diese Checkbox aktiviert ist.
  • Definition, ob die Vorder-/Hintergrundfarbe der Meldeklasse behandelt werden soll (die Parametrierung der Farben erfolgt bei der Meldeklasse - siehe auch _alert_class (Meldeklasse)). D.h. es kann z.B. parametriert werden, dass die Vorder-/Hintergrundfarbe einer Spalte entsprechend dem Meldezustand angezeigt wird.
  • Parametrierung eines Funktionsaufrufes auf Klick. Auf Klick definiert also welche Funktion aufgerufen wird, wenn auf eine Spalte geklickt wird. Abhängig vom Schirm (Alarm- oder Ereignisschirm) stehen verschiedene Optionen in der Combobox zur Verfügung:
  1. Kein
  2. Quittieren (nur beim Alarmschirm)
  3. Panel für die Detailansicht öffnen. Es werden die Details zu einer Meldung angezeigt.
  4. Prozessbild aufschalten: Einstellung welches Panel aufgeschaltet wird erfolgt bei der Parametrierung der Meldebehandlung am Datenpunktelement (siehe _alert_hdl (Meldebehandlung)).
  5. Eingabe von Kommentaren zu einer Meldung (nur beim Alarmschirm).
  6. Benutzerdefinierte Funktion. Eine beliebige Benutzerdefinierte Funktion kann ausgeführt werden. Die Funktion wird im aesuser.ctl im<proj_path>\scripts\libs aufgerufen. Hier kann auch eine CTRL-Funktion aufgerufen werden. Kopieren Sie die aesuser.ctl-Datei in das libs-Verzeichnis Ihres Projektes. Ändern Sie die invokedAESUserFunc()-Funktion nach Ihren wünschen. Sie können z.B. ein Childpanel öffnen, einen Text ausgeben etc. Fügen Sie Ihre Funktion nach dem invokedAESUserFunc()-Funktionsaufruf wie folgt hinzu:
/**
Main initialisation routine.
@param none
@author Martin P.
@version 1.0
@return nothing
*/
void invokedAESUserFunc( string shapeName, int screenType, int tabType, int row, int
            column, string value )
{
  DebugN("invokedAESUserFunc() IhreFunktion shape=" + shapeName + " column=" +
            column + " row=" + row );
}
VORSICHT: Beachten Sie, dass Quittieren und Eingabe von Kommentaren in gestopptem Modus als Funktionsaufruf auf Click nicht möglich ist.
  • Im unteren Bereich des Panels kann der Spalteninhalt, der angezeigt werden soll, parametriert werden. Der Inhalt wird beim Initialisieren des Alarm- und Ereignisschirms angezeigt.
VORSICHT: Aus Performancegründen ist es nicht möglich, CTRL-Funktionen einzubinden, um pro Zeile oder pro Spalte Berechnungen durchzuführen. Verwenden Sie dafür die API-Schnittstelle und implementieren Sie die entsprechenden Funktionen.

Hier gibt es vier Möglichkeiten:

  • DPA: Anzeige eines Datenpunktattributes. Wählen Sie aus der Combobox unten ein Attribut aus. Sie können auch das Format mit einem Formatstring für den angezeigten Wert einstellen (verwenden Sie hierfür das Textfeld Format). Es können für die Spaltenkonfiguration folgende Formate verwendet werden:
  • sprintf-Format für alle Attribute außer Zeitattributen - siehe Kapitel sprintf(): Verwenden Sie z.B. %3f für die Formatierung eines Floatwertes. Wenn Sie keinen Formatstring angeben, wird %s (Ausgabe von String-Werten) verwendet. Wenn der angegebene Formatstring ungültig ist, wird der angegebene String angezeigt. Der Formatstring %bcd wird wie folgt angezeigt "bcd".
  • "time Format" nur für Zeitattribute - siehe Zeitformatstring im Kapitel "timeFormat": Hier wird die Zeit angezeigt (default: Jahr.Monat.Tag Stunde:Minute:Sekunde.Millisekunde). Wenn der Formatstring %d angegeben wird, wird z.B. 26 (Tag des Datums) angezeigt.
Anmerkung:

Millisekunden werden nur angezeigt, wenn das Formatfeld leer bleibt. In diesem Fall ist das Ausgabeformat "YYYY.MM.DD hh.mm.ss.ms" (internationales Format). Sobald ein benutzerdefiniertes Zeitformat eingetragen wird, erfolgt die Darstellung in der Reihenfolge: "DD.MM.YYYY hh.mm.ss".

    1. API-Funktionen: Hier können die Funktionen, die über das Alarme /Funktionen erstellen-Panel erstellt wurden, selektiert werden. Durch diese Konfiguration können in den Spalten beliebige, benutzerdefinierte Informationen angezeigt werden. Beachten Sie, dass zuerst C++-Funktionen erstellt werden müssen und dann für diese Funktionen die entsprechenden Funktionen über das Alarme / Funktionen erstellen-Panel.
    2. WinCC OA Funktionen: Wählen Sie aus der Combobox eine vordefinierte Funktion, die den Inhalt der Spalte bestimmt. Die Funktionen sind keine CTRL-Funktionen, aber haben eine ähnliche Bezeichnung. Dadurch ist es leichter die Funktion zu verstehen. Auch hier kann ein Format angegeben werden.

--Funktionen, die nur im Alarmschirm verfügbar sind

  • getACount(). Die Funktion ist für den internen Gebrauch bestimmt. Siehe CTRL-Funktion getACount().
  • getExtTimeId(). Die Funktion ist für den internen Gebrauch bestimmt. Die Funktion ermittelt zum Parameter <time> vom Typ EXTTIME_VAR den Datenpunktnamen und liefert ihn als Funktionswert als Text in einer Variablen vom Typ ANYTYPE_VAR zurück. Falls beim Ermitteln des Datenpunktnamens ein Fehler auftritt, dann ist der zurückgegebene Text leer. Der Funktionswert wird dynamisch allokiert und muss vom Benutzer dieser Funktion freigegeben werden.
  • direction(). Gibt einen Lang-String für die Alarme aus.
  • ackState(). Liefert den Alarmstatus (!!!, X usw. ). Für Beschreibung der Meldungsanzeige siehe Kapitel Meldetabelle.
  • nofComments(). Liefert die Anzahl der Kommentare, die zur Zeit für diesen Alarm existieren.

--Funktionen, die nur im Ereignisschirm verfügbar sind

  • dpGetContent(). Über die Funktion werden die Werte offlineText (Meldetext der Meldebehandlung) und der Wert eines Datenpunktes formatiert. Welcher Datenpunkt das ist, wird über den DpIdentifier erkannt. Wenn kein Meldetext existiert, werden die Einstellungen des Common-Konfigs berücksichtigt.
  • StatusBits(). Die gesetzten Bits (z.B. User Bits) werden in einen String konvertiert.
  • userName(). Gibt den aktuellen Benutzer aus. Der Name ist eigentlich ein ID das automatisch in einen Namen konvertiert wird.
  • convManIntToName(). Gibt den Managernamen aus.
  • convManIntToShortName() Konvertiert die Managernummer in einen kürzeren Managernamen.

--Funktionen, die sowohl im Ereignisschirm als auch im Alarmschirm verfügbar sind:

  • dpSubstr() Liefert den durch das Muster gegebenen Teil (Sub-String) des Datenpunktbezeichners (wählen Sie das Muster aus der Combobox Attribut). Für Information über Muster siehe auch die CTRL-Funktion dpSubStr().
  • writeFormatString(). Gibt einen Formatstring aus.
  • dpGetAlias(). Liefert den Alias für das angegebene Datenpunktelement.
  • dpFormatValue(). Funktioniert wie dpGetContent(). Berücksichtigt die Einstellungen des Common-Konfigs (Einheit).
  • dpGetDescription(). Siehe Kapitel dpGetDescription().
  • convInvBitToText() Konvertiert ein InvalidBit in einen Text. Die Funktion überprüft ob Online Invalid Bit gesetzt ist. Falls das Online Invalid Bit gesetzt ist, wird ein String (invalid_true oder invalid_false) aus "sc"-Katalog in <wincc_oa_path>/msg/<Sprache> gelesen. Das Bit wird in diesen String konvertiert.

Das Panel für die Spaltenkonfiguration bei Ereignissen unterscheidet sich nicht wesentlich von dem bei Alarmen. Bei den Ereignissen entfällt die Parametrierung der Meldeklassenfarben für die Vordergrund-/Hintergrundfarbe, bei der Einstellung für OnClick() sind andere vordefinierte Funktionen vorhanden.

VORSICHT: Nur ein Parametrierer hat die nötigen Rechte für die Konfiguration aller oben genannten Punkte. Ein Operator darf nur die Spaltensichtbarkeit im Eigenschaftenpanel des AESchirms ändern.