FUNCTION_BLOCK FB_PN_ALARM_DIAG

FUNCTION_BLOCK FB_PN_ALARM_DIAG 1:
FUNCTION_BLOCK FB_PN_ALARM_DIAG

Mit diesem Funktionsbaustein können Diagnose Alarme ausgelesen werden. Jede Instanz dieses Bausteins stellt einen PLC-Eingang ("PnIoBoxDiag") zur Verfügung. Dieser Eingang ist mit dem "PnIoBoxDiag" Eingang des Gerätes zu verknüpfen, welches ausgewertet werden soll. Nach erfolgreichem Auslesen der Diagnose Alarme / Warnungen, wird der Alarm-Status des Gerätes wieder zurückgesetzt. Der Baustein muss für jedes PROFINET-Gerät einmal aufgerufen werden. Ein Laufindex (iNrAlarms) gibt an, wie viele Diganosealarme aus dem Puffer gelesen wurden.

VAR_INPUT

VAR_INPUT
    bEnable : BOOL;
    NETID   : T_AmsNetId;(* AMS Net ID from Controller *)
    PORT    : T_AmsPort; (* Port used by Controller to communicate with Device *)
END_VAR

bEnable: Aktivierung des Bausteins

NETID: AMS Net ID des Controllers

PORT: Port, über den der Controller mit dem Gerät kommuniziert (Port = Device ID + 1000 hex)

VAR_OUTPUT

VAR_OUTPUT
    bBusy       : BOOL;
    stAlarmDiagData : ST_PN_AlarmDiagData;
    bError      : BOOL;         
    iErrorID        : UDINT;
    iNrAlarms           : INT;
END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen.

stAlarmDiagData: Über diese Struktur werden Diagnose Messages ausgegeben. Solange das StausBit [0x0010 = At least one AlarmCR got a diagnosis alarm] am PLC Eingang ansteht, wird in jedem Zyklus ein Alarm über die Struktur ausgegeben.

bError: Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

iErrorID: Liefert bei einem gesetzten bError-Ausgang eine ADS Fehlernummer.

iNrAlarms: Anzahl der zuletzt ausgelesenen Alarme.

VAR

VAR
        PnIoBoxDiag AT %I* : WORD; (*Hardware Input*)
END_VAR

PnIoBoxDiag : Hardware-Eingang. Diese Variable ist mit dem PROFINET-Gerät zu verknüpfen. Über eine Statusänderung dieser Variable wird dem SPS Programm mitgeteilt, dass neue Alarm Diagnose in dem verknüpften PROFINET-Gerät anstehen.

FUNCTION_BLOCK FB_PN_ALARM_DIAG 2:
Verknüpfung der Variablen im TwinCAT-BAum

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.11.0 R3

PC or CX (x86, ARM)

TcProfinetDiag.Lib