FB_BA_AI

Der Funktionsbaustein dient der Messdatenverarbeitung und der Klemmenkonfiguration aller branchenüblichen K-Bus- Analogeingangsklemmen.
Klemmenkonfiguration
Der erste Schritt bei der Verwendung dieses Funktionsbausteins, ist die Auswahl des entsprechenden Klemmentyps eTerminal. Eine korrekte Funktion des Bausteins ist nur gewährleistet, wenn die mit der Variablen eTerminalausgewählte Klemme, mit der tatsächlich eingesetzten und verknüpften Klemme übereinstimmt.
Bei den Klemmen für die Widerstandstemperaturmessung vom Typ KL3208_0010 und KL320x_0000, wird mit der Enumeration eSensor zusätzlich der an dem Klemmeneingang verwendete Temperatursensor ausgewählt.
Eine steigende Flanke an bConfigurate schreibt die Klemmeneinstellungen mittels der Variablen TO_usiCtrl und TO_iDataOut in die Klemme herunter.
Messwertskalierung
Bei den Analogeingangsklemmen der Typen:
KL300x, KL306x, KL3132_0000, KL3162_0000, KL3172_0000, KL3172_0500, KL3172_1000, KL3182_0000, KL3404, KL3464, KL3408, KL3468, wird der Rohwert TI_iDataIn von der Klemme durch den internen Funktionsbaustein FB_BA_Chrct02 skaliert. (Sieke Skizze). Die Parametrierung der Skalierungfunktion erfolgt mittels der Parameter X(01/02) und Y(01/02). Ein Signal-Offset, für eine eventuell erforderliche Messwertkorrektur, kann mit der Variablen rOffset parametriert werden. Durch rSmoothingFactor wird das skalierte Messsignal einschließlich dem Offset bedämpft.
Signalfluss:

Skalierung:

Bei den Temperaturmessklemmen der Typen KL3208_0010, KL320x_0000 erfolgt keine Skalierung des Meßsignals innerhalb des Funktionsbausteins, sondern direkt in der Klemme. Eine Bedämpfung des eventuell zu stark schwankenden Messsignals, erfolgt mit dem Faktor rSmoothingFactor. Wird ein Fehler an der Klemme, wie beispielsweise bShortCircuit oder bWireBrake erkannt, dann wird bis zur Beseitigung des Fehlers am Ausgang des Funktionsbausteins der zuletzt gültige Wert ausgegeben.
Signalfluss:

Messbereichsüberwachung
Mit den Variablen rHighLimit und rLowLimit wird der Messwert rVal am Ausgang des Funktionsbausteins auf die Einhaltung eines gültigen Bereiches überwacht. Ist der Messwert rVal oberhalb von rHighLimit oder unterhalb von rLowLimit, dann wird dieses an den Ausgängen bHighLimit bzw bLowLimit angezeigt. Die Messbereichsüberwachung ist deaktiviert, wenn die Eingangsvariable bEnLimitCtrl FALSE ist, oder wenn mittels des Klemmenstatus TI_usiState, ein Fehler (z. B. Kurzschluss) erkannt wird.
Das Ansprechen der Messbereichsüberwachung kann durch die Variable udiDelayLimitCtrl_sec ansprechverzögert werden.
VAR_INPUT
TI_usiState : USINT;
TI_iDataIn : INT;
eTerminal : E_BA_TERMINAL_KL;
eSensor : E_BA_SENSOR;
bConfigurate : BOOL;
rX01 : REAL;
rX02 : REAL;
rY01 : REAL;
rY02 : REAL;
rOffset : REAL;
rSmoothingFactor : REAL;
udiDecimalPlace : UDINT(1..6);
bEnLimitCtrl : BOOL;
rHighLimit : REAL;
rLowLimit : REAL;
udiDelayLimitCtrl_sec : UDINT;
TI_usiState: Verknüpfung mit dem entsprechenden Status Byte der Busklemme im E/A Bereich des Programms.
TI_iDataIn: Verknüpfung mit den entsprechenden Rohdaten (Data In) der Busklemme im E/A Bereich des Programms (0..32767).
eTerminal: Auswahl der entsprechenden Busklemme (siehe E_BA_Terminal_KL).
eSensor: Auswahl des Sensortyps (siehe E_BA_Sensor).
bConfigurate: Eine steigende Flanke startet die Konfiguration der Busklemme.
rX01: X-Wert für den Interpolationspunkt P1.
rX02: X-Wert für den Interpolationspunkt P2.
rY01: Y-Wert für den Interpolationspunkt P1.
rY02: Y-Wert für den Interpolationspunkt P2.
rOffset: Offset.
rSmoothingFactor: Dämpfungsfaktor. Intern begrenzt von 1 bis 10000.
udiDecimalPlace: Angabe der Dezimalstellen für den Wert rVal. Voreingestellt auf 1.
bEnLimitCtrl: Freigabe Grenzwertüberwachung.
rHighLimit: Oberer Grenzwert.
rLowLimit: Unterer Grenzwert.
udiDelayLimitCtrl_sec: Zeitverzögerung bis zur Aktivierung der Grenzwertüberwachung.
VAR_OUTPUT
TO_usiCtrl : USINT;
TO_iDataOut : INT;
rVal : REAL;
bWireBreak : BOOL;
bShortCircuit : BOOL;
bHighLimit : BOOL;
bLowLimit : BOOL;
bErr : BOOL;
sErrDescr : T_MAXSTRING;
TO_usiCtrl: Verknüpfung mit dem entsprechenden Control Byte der Busklemme im E/A Bereich des Programms.
TO_iDataOut: Verknüpfung mit den entsprechenden Rohdaten (Data Out) der Busklemme im E/A Bereich des Programms.
rVal: Skalierter Ausgangswert.
bWireBreak: Drahtbruch am Sensor.
bShortCircuit: Kurzschluss am Sensor.
bHighLimit: Oberer Grenzwert überschritten.
bLowLimit: Unterer Grenzwert unterschritten.
bErr: Der Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.
sErrDescr: Enthält die Fehlerbeschreibung.
Fehlerbeschreibung |
---|
01: Fehler: Falscher Skalierungsparameter rX01/rX02/rY01/rY02 |
02: Fehler: Klemmenkonfiguration überprüfen KL32xx eTerminal/eSensor/TI_usiState/TI_iDataIn/TO_usiCtrl/IO_iDataOut |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.7 | Tc3_BA ab v1.1.6.0 |