IOF_LB_ParityCheck

IOF_LB_ParityCheck 1:

Der Funktionsbaustein IOF_LB_ParityCheck liest die Parityfehler-Zähler der Beckhoff Lightbus-Module (z.B. BK2000). Im Gegensatz zu dem IOF_LB_ParityCheckWithReset Funktionsbaustein werden die Zählerstände nicht zurückgesetzt. Intern wird eine Instanz des ADSREAD-Funktionsbausteines aufgerufen. Für jedes Modul hält der Master einen 8-Bit Fehlerzähler bereit. Die Zähler arbeiten ohne Überlauf. Es können maximal 256-Byte Daten und somit 256 Zähler gelesen werden. Die Anzahl der zu lesenden Fehlerzähler wird durch die Eingangsvariablen: LEN und DESTADDR festgelegt. Existieren z.B. nur 5 Module im Ring, dann kann für den DESTADDR-Parameter eine Adresse auf einen 5 Byte großen Datenpuffer übergeben werden und dem LEN-Parameter der Wert 5.

VAR_INPUT

VAR_INPUT
    NETID       : T_AmsNetId;
    DEVICEID    : UDINT;
    LEN         : UDINT;
    DESTADDR    : DWORD;
    START       : BOOL;
    TMOUT       : TIME;
END_VAR

NETID: Hier kann die AmsNetId des TwinCAT-Rechners angegeben werden, auf dem die Funktion ausgeführt werden soll. Für den lokalen Rechner kann auch ein Leerstring angegeben werden.

DEVICEID: Über die DeviceId (Geräte-Id) wird das Gerät spezifiziert, auf dem die Funktion ausgeführt werden soll. Die Geräte-Ids werden während der Hardware-Konfiguration vom TwinCAT System Manager festgelegt.

LEN: Länge in Bytes der zu lesenden Daten.

DESTADDR: Die Adresse des Datenpuffers, in den die Paritydaten geschrieben werden sollen.

START: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.

TMOUT: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf.

VAR_OUTPUT

VAR_OUTPUT
    BUSY        : BOOL;
    ERR         : BOOL;
    ERRID       : UDINT;
END_VAR

BUSY: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

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

ERRID: Liefert bei einem gesetzten ERR-Ausgang die ADS-Fehlernummer.

Beispiel für einen Aufruf in FUP:

IOF_LB_ParityCheck1    : IOF_LB_ParityCheck;
ParityData             : ARRAY[1..256] OF BYTE;
StartParityCheck       : BOOL;
ParityCheck_Busy       : BOOL;
ParityCheck_Err        : BOOL;
ParityCheck_ErrId      : UDINT;


IOF_LB_ParityCheck 2:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

IO-Hardware

Einzubindende SPS-Bibliotheken

TwinCAT v2.7.0

PC (i386)

Beckhoff Lightbus Master: C1220 ISA; FC200x PCI

Standard.Lib; PLCSystem.Lib; TcPLCAds.Lib; TcPlcIoFunctions.Lib

TwinCAT v2.8.0

PC (i386)

Beckhoff Lightbus Master: C1220 ISA; FC200x PCI

TcIoFunctions.Lib

( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib werden automatisch eingebunden )