FB_KL27x1Config

FB_KL27x1Config 1:

Funktionsbaustein zur Parametrierung einer KL2751 / KL2761: 1-Kanal Dimmerklemme.

VAR_INPUT

VAR_INPUT
    bConfigurate            : BOOL;
    bReadConfig             : BOOL;
    iSetSensorType          : INT;
    bSetDimRampAbsolute     : BOOL;
    iSetRampTime            : INT;
    bSetWatchdogDisable     : BOOL;
    iSetWatchdogTimeout     : UINT;
    iSetTimeoutOnValue      : UINT;
    iSetTimeoutOffValue     : UINT;
    iSetDimmerMode          : INT;
    bSetOnAfterShortCircuit : BOOL;
    bSetLineFrequency60Hz   : 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.

bSetDimRampAbsolute: FALSE: Die eingestellte Rampenzeit iSetRampTime bezieht sich auf den kompletten Datenbereich (0 - 32767). Je kleiner der Sprung, desto kürzer die Rampenzeit. TRUE: Jeder Schaltschritt, egal wie groß, benötigt dieselbe Zeit, die unter iSetRampTime eingetragen ist.

iSetRampTime: Eingabe der Rampenzeit. Die Einstellung erfolgt nach unten aufgeführter Tabelle.

bSetWatchdogDisable: Der interne Watchdog wird deaktiviert.

iSetWatchdogTimeout: Einstellung der Watchdog-Zeit als Vielfaches von 10ms.

iSetTimeoutOnValue: Dieser Eingang legt den Lichtwert fest, der bei einem Feldbusfehler und aktuellen Prozessdaten > 0 ausgegeben wird.

iSetTimeoutOffValue: Dieser Eingang legt den Lichtwert fest, der bei einem Feldbusfehler und aktuellen Prozessdaten = 0 ausgegeben wird.

iSetDimmerMode: An diesem Eingang ist der Dimmermodus einzustellen. Die Einstellung erfolgt nach unten aufgeführter Tabelle.

bSetOnAfterShortCircuit: FALSE: Nach einem Kurzschluss bleibt das Licht ausgeschaltet. TRUE: Das Licht wird nach einem Kurzschluss wieder eingeschaltet.

bSetLineFrequency60Hz: FALSE: Netzfrequenz = 50 Hz. TRUE: Netzfrequenz = 60 Hz.

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.

iSetRampTime

Element

0

50 ms

1

100 ms

2

200 ms

3

500 ms

4

1 s

5

2 s

6

5 s

7

10 s

iSetDimmerMode

Element

0

Automatische Erkennung

1

Phasenabschnitt

2

Phasenanschnitt

3

Gleichrichterbetrieb, positiv (positive Halbwelle mit Phasenanschnitt)

4

Gleichrichterbetrieb, negativ (negative Halbwelle mit Phasenanschnitt)

VAR_OUTPUT

VAR_OUTPUT
    bBusy            : BOOL;
    bError           : BOOL;
    iErrorId         : UDINT;
    iState           : USINT;
    iDataIn          : INT;
    iTerminalType    : WORD;
    iSpecialType     : WORD;
    iFirmwareVersion : WORD;
    sDescription     : STRING;
    sSensorType      : STRING;
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 Statusvariable 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.

iDataIn: Entspricht der Datenvariable der Prozessdaten stInData.iDataIn, 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.

iTerminalType: Inhalt des Registers 8 (Klemmenbezeichnung). Bei Anwendung mit der richtigen Klemme sollte der Inhalt 0x0ABF (2751dez) oder 0x0AC9 (2761dez)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 KL27x1-0000 / Firmware 1C').

bDimRampAbsolute: TRUE: Dimmrampe ist als absolut eingestellt, d.h. jeder Schaltschritt benötigt dieselbe Rampenzeit, welche unter iSetRampTime eingestellt ist.

sRampTime: Eingestellte Rampenzeit als Klartext.

bWatchdogDisable: TRUE: Watchdog ist deaktiviert.

tWatchdogTimeout: Eingestellte Watchdogzeit.

iTimeoutOnValue: Eingestellter Lichtwert, der bei einem Feldbusfehler und aktuellen Prozessdaten > 0 ausgegeben wird.

iTimeoutOffValue: Eingestellter Lichtwert, der bei einem Feldbusfehler und aktuellen Prozessdaten = 0 ausgegeben wird.

sDimmerMode: Eingestellter Dimmermodus als Klartext.

sAfterShortCircuit: Eingestelltes Verhalten nach Kurzschluss als Klartext.

sLineFrequency: Eingestellte Netzfrequenz als Klartext.

VAR_IN_OUT

VAR_IN_OUT
    stInData  : ST_KL27x1InData;
    stOutData : ST_KL27x1OutData;
END_VAR

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

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

Voraussetzungen

Entwicklungsumgebung

Zielplattform

IO-Hardware

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4018.26

PC/CX

KL2751, KL2761

Tc2_IoFunctions ab v3.3.5.0