FB_KL8524Ex

FB_KL8524Ex 1:
Funktionsbaustein FB_KL8524Ex

Anwendung

Dieser Baustein dient zum Konfigurieren der KL8524, zum Auslesen der digitalen Signale und zum Setzen der Ausgänge/ LEDs.

Der Baustein muss einmal pro Zyklus aufgerufen werden.

Mit einer positiven Flanke von bExecCfg werden die Parameter zur Klemme übertragen.

Die Variable byDisCh schaltet die Standardfunktion der LEDs aus. Die LEDs können jetzt unabhängig vom digitalen Eingangssignal über die PLC geschaltet werden, mit den Variablen byLEDGn oder byLEDYe. Hier kann jede LED einzeln verändert werden.

Mit byKBusOff kann bei K-Bus Fehler (oder PLC gestoppt) und Schalterstellung "auto" der jeweilige Ausgang auf "TRUE" gesetzt werden. Bit 0..7 für die Ausgänge 1..8. Ist das Flag in byKBusOff nicht gesetzt geht der Ausgang bei K-Bus Fehler (oder PLC gestoppt) auf "FALSE".

VAR_INPUT

bEn                 : BOOL;
bExecCfg            : BOOL;
byDisCh             : BYTE := 0;
byKBusOff           : BYTE := 0;
byOutMode           : BYTE;
byTurnOnDelayCh1    : BYTE;
byTurnOnDelayCh2    : BYTE;
byTurnOnDelayCh3    : BYTE;
byTurnOnDelayCh4    : BYTE;
byOut               : BYTE;
byLEDGn             : BYTE;
byLEDYe             : BYTE;
bDisManMode         : BOOL;
dwOpt               : DWORD := 0;

bEn: Mit bEn = TRUE wird der Baustein vom SPS-Programm freigegeben. Mit bEn = FALSE wird die Abarbeitung des Bausteins gestoppt und alle Ausgänge werden zurückgesetzt.

bExecCfg: Die Konfigurationen byDisCh, byKBusOff, byOutMode, byTurnOnDelayCh1, byTurnOnDelayCh2, byTurnOnDelayCh3 und byTurnOnDelayCh4 werden in die Klemmen geschrieben. bBusy wird TRUE. Es ist zu beachten, dass in dieser Zeit die Ein-/Ausgänge nicht aktualisiert werden.

byDisCh: Konfiguration: Abwahl der Standardfunktion der LEDs. Die LEDs können von der PLC gesetzt werden. Bit 0 = LED 1, ... , Bit 7 = LED 8. Mit 255dez (FFhex) wird bei allen LEDs die Standardfunktion deaktiviert. Diese können dann über byLEDGn oder byLEDYe von der PLC aus gesetzt werden.

byKBusOff: Konfiguration: Reaktion der Ausgänge bei K-Bus Fehler. Mit Bit 0 = Ausgang 1, ... , Bit 7 =Ausgang 8 wird im K-Bus Fehlerfall (oder PLC gestoppt) der jeweilige Ausgang gesetzt, vorausgesetzt, der Schalter steht auf "auto". Hinweis: einem Kanal sind 2 Ausgänge zugeordnet und pro Kanal darf immer nur ein Ausgang angesteuert werden. Wird z. B. der Wert 255dez (FFhex) übergeben, wird bei Stopp der PLC kein Ausgang gesetzt.

byOutMode: Konfiguration: Die einem Kanal zugeordneten Ausgänge können in 2 Varianten gesetzt werden. Bit 0 = False = Kanal 1 Ausgangsmodus 1, Bit 0 = True = Kanal 1 Ausgangsmodus 2, ... , Bit 3 = False = Kanal 4 Ausgangsmodus 1, Bit 3 = True = Kanal 4 Ausgangsmodus 2.
Ausgangsmodus 1: Ausgang 1 wird geschaltet, wenn Dreistufenschalter in Stellung 1, Ausgang 2 wird geschaltet, wenn Dreistufenschalter in Stellung 2.
Ausgangsmodus 2: Ausgang 1 wird geschaltet, wenn Dreistufenschalter in Stellung 1 oder Stellung 2, Ausgang 2 wird geschaltet, wenn Dreistufenschalter in Stellung 2, nach einer Verzögerung, einstellbar mit byTurnOnDelayChx.

byTurnOnDelayCh1: Konfiguration: Umschaltzeit für Kanal 1 Ausgangsmodus 2. 1 Bit = 10 ms -> bei Vorgabe 255dez, FFhex wird der 2. Ausgang nach 2550 ms zugeschaltet, wenn der Dreistufenschalter in Stellung 2 steht.

byTurnOnDelayCh2: Konfiguration: Umschaltzeit für Kanal 2 Ausgangsmodus 2. 1 Bit = 10 ms -> bei Vorgabe 255dez, FFhex wird der 2. Ausgang nach 2550 ms zugeschaltet, wenn der Dreistufenschalter in Stellung 2 steht.

byTurnOnDelayCh3: Konfiguration: Umschaltzeit für Kanal 3 Ausgangsmodus 2. 1 Bit = 10 ms -> bei Vorgabe 255dez, FFhex wird der 2. Ausgang nach 2550 ms zugeschaltet, wenn der Dreistufenschalter in Stellung 2 steht.

byTurnOnDelayCh4: Konfiguration: Umschaltzeit für Kanal 4 Ausgangsmodus 2. 1 Bit = 10 ms -> bei Vorgabe 255dez, FFhex wird der 2. Ausgang nach 2550 ms zugeschaltet, wenn der Dreistufenschalter in Stellung 2 steht.

byOut: Bit 0 = true, ... , Bit 7 =true setzt den jeweiligen Ausgang, vorausgesetzt, der Schalter steht auf "auto". Mit 255dez (FFhex) werden alle Ausgänge gesetzt. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xx8BitToByte zum Aufbereiten der Signale zur Verfügung.

byLEDGn: Bit 0 = true, ... , Bit 7 =true setzt die grünen LEDs, vorausgesetzt, die Standardfunktion der LEDs wurde mit byDisCh abgewählt. Mit 255dez (FFhex) werden alle grünen LEDs gesetzt. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xx8BitToByte zum Aufbereiten der Signale zur Verfügung.

byLEDYe: Bit 0 = true, ... , Bit 7 =true setzt die gelben LEDs, vorausgesetzt, die Standardfunktion der LEDs wurde mit byDisCh abgewählt. Mit 255dez (FFhex) werden alle gelben LEDs gesetzt. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xx8BitToByte zum Aufbereiten der Signale zur Verfügung.

bDisManMode: Sperren des Handbedienmodus.

dwOpt: Für zukünftige Optionen.

VAR_OUPUT

bBusy             : BOOL;
byStatSwiAuto     : BYTE;
byStatSwi         : BYTE;
byStatOut         : BYTE;
bManModelsDis     : BOOL;
wFirmVer          : WORD;
bErr              : BOOL;
udiErrID          : UDINT;

bBusy: bBusy ist TRUE, solange die Konfiguration geschrieben wird (Start mit bExecCfg). Es ist zu beachten, dass in dieser Zeit die Eingänge nicht aktualisiert werden.

byStatSwiAuto: Status des Schalters "auto". Bit 0 = Kanal 1, ... , Bit 3 Kanal 4. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xxByteTo8Bit zum Aufbereiten der Signale zur Verfügung.

byStatSwi: Status der Dreistufenschalter. Bit 0 = Kanal 1 Stellung 1, Bit 1 = Kanal 1 Stellung 2 ... , Bit 7 = Kanal 4 Stellung 2. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xxByteTo8Bit zum Aufbereiten der Signale zur Verfügung.

byStatOut: Status der digitalen Ausgangssignale. Bit 0 = Kanal 1 Ausgang 1, Bit 1 = Kanal 1 Ausgang 2, ... , Bit 7 = Kanal 4 Ausgang 2,. Für die grafischen Programmiersprachen steht der Baustein FB_KL85xxByteTo8Bit zum Aufbereiten der Signale zur Verfügung.

bManModelsDis: Handbedienmodus gesperrt.

wFirmVer: Gibt die Firmware Version aus.

bErr: Der bErr Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable udiErrID beschrieben.

udiErrID: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe Fehlercodes). Gleichzeitig wird bError TRUE.

VAR_IN_OUT

stInData         : ST_KL8524InData;
stOutData        : ST_KL8524OutData;

stInData: Prozessabbild der Eingänge (siehe ST_KL8524InData).

stOutData: Prozessabbild der Ausgänge (siehe ST_KL8524OutData).