FB_KL1501Config

FB_KL1501Config 1:

Funktionsbaustein zur Parametrierung eine KL1501: 1-Kanal Zählerklemme.

FB_KL1501Config 2:

Dieser Baustein berücksichtigt nicht das alternative Ausgabeformat, da sich bei Umstellung auf dieses Format das Prozessabbild verschiebt.

VAR_INPUT

VAR_INPUT
    bConfigurate         : BOOL;
    bReadConfig          : BOOL;
    iSetCounterType      : INT;
    bSetBackwardCounting : BOOL;
    tTimeout             : TIME;
END_VAR

bConfigurate: Eine steigende Flanke startet die Konfigurationssequenz. Zunächst werden die allgemeinen Klemmendaten "Klemmbezeichnung", "Sondervariante" und "Firmwarestand" ausgelesen. Danach werden die angegebenen Einstellungen in die entsprechenden Register geschrieben und abschließend zur Sicherheit und Information noch einmal ausgelesen. Die gelesenen Informationen werden an den Bausteinausgängen angezeigt. Während des Ablaufs dieser Sequenz steht der Ausgang bBusy auf TRUE und es wird kein weiterer Befehl, wie etwa bReadConfig, entgegen genommen.

bReadConfig: Eine steigende Flanke startet lediglich eine Lesesequenz. Es werden die allgemeinen Klemmendaten "Klemmbezeichnung", "Sondervariante" und "Firmwarestand" ausgelesen und im Anschluss daran die eingestellten Konfigurationsparameter. Die gelesenen Informationen werden an den Bausteinausgängen angezeigt. Während der Lesesequenz steht der Ausgang bBusy auf TRUE und es wird kein weiterer Befehl, wie etwa bConfigurate, entgegen genommen.

iSetCounterType: Eingabe des Zählertyps. Die Einstellung erfolgt nach unten aufgeführter Tabelle.

bSetBackwardCounting: Ein TRUE an diesem Eingang kehrt die Zählrichtung um.

tTimeout: Innerhalb der hier eingetragenen Zeit muss die Konfiguration der Klemme bzw. das Auslesen der Konfiguration abgeschlossen sein. Anderenfalls wird ein Fehler mit entsprechender Fehlernummer an den Ausgängen bError und iErrorId ausgegeben.

iSetCounterType

Zählertyp

0

32-Bit-Vorwärts/Rückwärts-Zähler

1

2 x 16-Bit Vorwärts-Zähler

2

32-bit Gated-Counter, Gate-Eingang Low sperrt den Zähler

3

32-bit Gated-Counter, Gate-Eingang High sperrt den Zähler

VAR_OUTPUT

VAR_OUTPUT
    bBusy             : BOOL;
    bError            : BOOL;
    iErrorId          : UDINT;
    iState            : USINT;
    iDataIn0          : UINT;
    iDataIn1          : UINT;
    iDataIn           : UDINT;
    iTerminalType     : WORD;
    iSpecialType      : WORD;
    iFirmwareVersion  : WORD;
    sDescription      : STRING;
    sCounterType      : STRING;
    bBackwardCounting : BOOL;
END_VAR

bBusy: Solange eine Lese- oder Konfigurationssequenz abgearbeitet wird, steht dieser Ausgang auf TRUE.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls (Konfigurieren oder Lesen) ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das erneute Aktivieren des Bausteins über die Eingänge bConfigurate oder bReadConfig wieder auf 0 zurückgesetzt. Siehe Fehlercodes.

iState: Entspricht der Statusvariablen der Prozessdaten stInData.iState, siehe VAR_IN_OUT. Während der Befehlsausführung (bBusy = TRUE) jedoch ist dieser Ausgang auf 0 gesetzt. Damit eignet sich dieser Ausgang zur Statusbeurteilung im Normalbetrieb der Klemme. Störende Zustände während des Konfigurierens und Lesens durch die Registerkommunikation werden ausgeblendet.

iDataIn0: Entspricht der Datenvariablen der Prozessdaten stInData.arrDataIn[0], siehe VAR_IN_OUT. Während der Befehlsausführung (bBusy = TRUE) jedoch behält dieser Ausgang den Wert, den er vor dem Befehlsaufruf innehatte. Damit eignet sich dieser Ausgang zur direkten Prozessdatenverarbeitung im Normalbetrieb der Klemme. Störende Zustände während des Konfigurierens und Lesens durch die Registerkommunikation werden ausgeblendet.

iDataIn1: Entspricht der Datenvariablen der Prozessdaten stInData.arrDataIn[1], siehe VAR_IN_OUT. Während der Befehlsausführung (bBusy = TRUE) jedoch behält dieser Ausgang den Wert, den er vor dem Befehlsaufruf innehatte. Damit eignet sich dieser Ausgang zur direkten Prozessdatenverarbeitung im Normalbetrieb der Klemme. Störende Zustände während des Konfigurierens und Lesens durch die Registerkommunikation werden ausgeblendet.

iDataIn: Diese Variable vom Typ UDINT dient der besseren Auswertung, falls ein 32-bit Zähler angewählt ist. Sie setzt sich aus den beiden o.a. Variablen iDataIn0 und iDataIn1 (jeweils vom Typ UINT) zusammen. iDataIn0 nimmt dabei den niederwertigen, iDataIn1 den höherwertigen Teil ein.

iTerminalType: Inhalt des Registers 8 (Klemmenbezeichnung). Bei Anwendung mit der richtigen Klemme sollte der Inhalt 0x05DD (1501dez) sein.

iSpecialType: Inhalt des Registers 29 (Sondervariante).

iFirmwareVersion: Inhalt des Registers 9 (Firmware-Stand).

sDescription: Klemmenbezeichnung, Sondervariante und die Version der Firmware als String (z.B. 'Terminal KL1501-0000 / Firmware 1C').

sCounterType: Eingestellter Zählermodus als Klartext.

bBackwardCounting: TRUE: Die Zählrichtung wurde umgekehrt.

VAR_IN_OUT

VAR_IN_OUT
    stInData  : ST_KL1501InData;
    stOutData : ST_KL1501OutData;
END_VAR

stInData: Verweis auf die Struktur des Eingangsprozessabbildes (Typ: ST_KL1501InData).

stOutData: Verweis auf die Struktur des Ausgangsprozessabbildes (Typ: ST_KL1501OutData).

Voraussetzungen

Entwicklungsumgebung

Zielplattform

IO-Hardware

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4018.26

PC/CX

KL1501

Tc2_IoFunctions ab v3.3.5.0