Auslösen von komplexen Meldungen

Meldungen können auf zwei wegen ausgelöst werden : einfach und komplex.

In diesem Sample soll gezeigt werden, wie eine komplexe Meldung aus der SPS ausgelöst werden kann. Der Code Aufwand für komplexe Meldungen ist höher als der für einfache Meldungen - es bleibt jedoch deutlich mehr Freiraum zur Konfiguration.

Es werden 2 Meldungen erzeugt - eine einfache Meldung und eine quittierungspflichtige.

Die Meldungen werden dann mithilfe der TcEventbar angezeigt.

 

  1. Erstellen Sie ein neues SPS-Projekt.
  2. Fügen Sie nun folgenden Code in Ihr Projekt ein
  3. (*Variablendeklaration*)
    VAR
        bSetEvent1 : BOOL;
        bSetEvent2 : BOOL;
        bQuitEvent2 : BOOL;

        event1: ADSLOGEVENT;
        event2: ADSLOGEVENT;

        CfgEvent1 : TcEvent;
        CfgEvent2 : TcEvent;
    END_VAR

    (*SPS Code*)
    (* Einstellung des Parameters für Ereignis 1 *)
    CfgEvent1.Prio := 0;
    CfgEvent1.bQuitRequired := FALSE;
    CfgEvent1.Flags := TCEVENTFLAG_LOG OR TCEVENTFLAG_SRCID;
    CfgEvent1.StreamType := TCEVENTSTREAM_SIMPLE;
    CfgEvent1.ProgId := 'TcEventFormatter.TcXmlFormatter';
    CfgEvent1.Id := 1; (* Meldung 1*)
    CfgEvent1.SourceId := 17001; (* 17001: Achsregelung *)
    CfgEvent1.Class := TCEVENTCLASS_MESSAGE;

    (* Einstellung des Parameters für Ereignis 2 *)
    CfgEvent2.Prio := 0;
    CfgEvent2.bQuitRequired := TRUE;
    CfgEvent2.Flags := TCEVENTFLAG_LOG OR TCEVENTFLAG_SRCID;
    CfgEvent2.StreamType := TCEVENTSTREAM_SIMPLE;
    CfgEvent2.ProgId := 'TcEventFormatter.TcXmlFormatter';
    CfgEvent2.Id := 2; (* Meldung 2*)
    CfgEvent2.SourceId := 17001; (* 17001: Achsregelung *)
    CfgEvent2.Class := TCEVENTCLASS_ALARM;

    event1(
    NETID:= '',
    PORT:= 110,
    Event:= bSetEvent1,
    EventConfigData:= CfgEvent1,
    TMOUT:= t#10s);

    event2(
    NETID:= '',
    PORT:= 110,
    Event:= bSetEvent2,
    EventQuit:= bQuitEvent2,
    EventConfigData:= CfgEvent2,
    TMOUT:= t#10s);
  4. Starten Sie nun das PLC Programm.
  5. Starten Sie die TcEventbar (im 'TwinCAT/Eventlogger' Verzeichniss).
  6. Durch toggeln der Variable bSetEvent1 wird nun die entsprechende Meldung ausgelöst. Mit steigender Flanke kommt die Meldung, mit fallender wird sie zurückgesetzt. Da noch keine Meldungstexte eingerichtet sind wird in den Feldern Quelle und Meldung ein Fehler gemeldet.
  7. beim Toggeln von bSetEvent2 wird die Meldung nicht zurückgesetzt, da es sich um eine quittierungspflichtige Meldung handelt. Sie wird erst gelöscht, wenn bSetEvent2 zurückgesetzt wird und bQuitEvent2 gesetzt wird.
  8. Fahren Sie nun mit dem Einrichten der Meldungstexte fort.

Sprache / IDE

Beispielprogram auspacken

TwinCAT PLC (Structured Text)

Sample02.zip