FB_KL320xConfig
Funktionsbaustein zur Parametrierung einer KL3201, KL3202 oder KL3204: Eingangsklemme für Widerstandssensoren.
![]() | 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 | PT100 |
1 | NI100 |
2 | PT1000 |
3 | PT500 |
4 | PT200 |
5 | NI1000 |
6 | NI120 |
7 | Ausgabe 10,0 Ω - 5000,0 Ω |
8 | Ausgabe 10,0 Ω - 1200,0 Ω |
9 | PT1000 - Zwei-Leiter-Anschluss - nicht zulässig bei Verwendung einer KL3204! |
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
iErrorId : UDINT;
iState : USINT;
iDataIn : INT;
iTerminalType : WORD;
iSpecialType : WORD;
iFirmwareVersion : WORD;
sDescription : STRING;
sSensorType : STRING;
bTwoWiredConnection : BOOL;
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). Der Registerinhalt muss der verwendeten Klemme entsprechen: 0xC81 für KL3201, 0xC82 für KL3202 und 0xC84 für KL3204.
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 KL320x-0010 / Firmware 1C').
sSensorType: Eingestellter Sensortyp als Klartext.
bTwoWiredConnection: Sensortyp ist im Zweileiter-Anschluss parametriert.
VAR_IN_OUT
stInData : ST_KL320xInData;
stOutData : ST_KL320xOutData;
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.

Voraussetzungen
Entwicklungsumgebung | Zielplattform | IO-Hardware | Einzubindende SPS-Bibliotheken |
---|---|---|---|
TwinCAT v2.11 R3/x64 ab Build 2254 | PC/CX | KL3201, KL3202, KL3204 | TcIoFunctions.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib werden automatisch eingebunden ) |
TwinCAT v2.11 R3/x64 ab Build 2256 | BC | KL3201, KL3202, KL3204 | TcIoFunctions.lb6 ( Standard.lb6 wird automatisch eingebunden ) |
TwinCAT v2.11 R3/x64 ab Build 2256 | BX | KL3201, KL3202, KL3204 | TcIoFunctions.lbx ( Standard.lbx wird automatisch eingebunden ) |