FB_KL3228Config

FB_KL3228Config 1:

Funktionsbaustein zur Parametrierung einer KL3228: 8-Kanal Eingangsklemme für Widerstandssensoren.

FB_KL3228Config 2:

Der Baustein parametriert nur einen Klemmenkanal. Zur Parametrierung aller Kanäle ist die entsprechende Anzahl von Bausteinen zu instanziieren. Eine Mischkonfiguration (z. B. unterschiedliche Sensortypen) ist möglich.

VAR_INPUT

bConfigurate   : BOOL;
bReadConfig    : BOOL;
iSetSensorType : INT;
tTimeout       : TIME;

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, entgegengenommen.

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, entgegengenommen.

iSetSensorType: An diesem Eingang ist der verwendete Sensor einzustellen. Die Einstellung erfolgt nach unten aufgeführter Tabelle.

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.

iSetSensorType

Element

0

PT1000

1

NI1000

2

RSNI1000 (NI1000 nach Landis&Staefa-Charakteristik: 1000 Ω bei 0 °C und 1500 Ω bei 100 °C.)

VAR_OUTPUT

bBusy            : BOOL;
bError           : BOOL;
iErrorId         : UDINT;
iState           : USINT;
iDataIn          : INT;
iTerminalType    : WORD;
iSpecialType     : WORD;
iFirmwareVersion : WORD;
sDescription     : STRING;
sSensorType      : STRING;

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 0x0C9C (3228dez) 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 KL3228-0000 / Firmware 1C').

sSensorType: Eingestellter Sensortyp als Klartext.

VAR_IN_OUT

stInData   : ST_KL3228InData;
stOutData  : ST_KL3228OutData;

stInData: Verweis auf die Struktur des Eingangsprozessabbildes.

stOutData: Verweis auf die Struktur des Ausgangsprozessabbildes.

Hintergrundinformationen

Bei ARM-Systemen kann nicht die Struktur als Ganzes auf das Abbild der Klemme verknüpft werden - die Struktur-Variablen müssen einzeln verknüpft werden.
Zusätzlich muss in der Windows-Registry des Entwicklungsrechners ein neuer DWORD-Key angelegt werden, da es sonst zu Speicherabbildverschiebungen kommt.
Unter "HKEY_CURRENT_USER\Software\Beckhoff\TwinCAT System Manager\On Startup" wird der Key "SubVarOffsByOffs" mit dem Wert "1" eingefügt.
Danach den Entwicklungsrechner einmal neu starten.

FB_KL3228Config 3:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

IO-Hardware

Einzubindende SPS-Bibliotheken

TwinCAT v2.11 R3/x64 ab Build 2254

PC/CX

KL3228

TcIoFunctions.Lib

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

TwinCAT v2.11 R3/x64 ab Build 2256

BC

KL3228

TcIoFunctions.lb6 ( Standard.lb6 wird automatisch eingebunden )

TwinCAT v2.11 R3/x64 ab Build 2256

BX

KL3228

TcIoFunctions.lbx ( Standard.lbx wird automatisch eingebunden )