Die Funktion LGF_LimRateOfChangeAdvancedCI
begrenzt die Änderungsgeschwindigkeit einer Eingangsgröße. Aus Sprungfunktionen werden Rampenfunktionen. Zusätzlich verfügt der Baustein über verschiedene Betriebsarten.
LGF_LimRateOfChangeAdvancedCI (FB) | ||||||||
---|---|---|---|---|---|---|---|---|
LReal | autoValue | outputValue | LReal | |||||
LReal | manualValue | posUpRateLim | Bool | |||||
LReal | setPosUpRateLim | posDownRateLim | Bool | |||||
LReal | setPosDownRateLim | negUpRateLim | Bool | |||||
LReal | setNegUpRateLim | negDownRateLim | Bool | |||||
LReal | setNegDownRateLim | highLim | Bool | |||||
LReal | setHighLim | lowLim | Bool | |||||
LReal | setLowLim | error | Bool | |||||
LReal | defaultOutValue | status | Word | |||||
Bool | enDefaultOutValue | subfunctionStatus | Word | |||||
Bool | track | |||||||
Bool | manOp | |||||||
Bool | reset | |||||||
OB_CYCLIC | callOB | |||||||
Bezeichner | Datentyp | Default Wert | Beschreibung |
---|---|---|---|
autoValue | LReal | 0.0 | Eingangssignal das verarbeitet und in seiner Änderungsrate begrenzt wird |
manualValue | LReal | 0.0 | Manuell kontrollierter Ausgabe Wert (`outputValue` = `manualValue`) |
setPosUpRateLim | LReal | 0.0 | Änderungsrate pro Sekunde für die steigende Rampe im positiven Wertebereich (1/Sekunde) |
setPosDownRateLim | LReal | 0.0 | Änderungsrate pro Sekunde für die fallende Rampe im positiven Wertebereich (1/Sekunde) |
setNegUpRateLim | LReal | 0.0 | Änderungsrate pro Sekunde für die steigende Rampe im negativen Wertebereich (1/Sekunde) |
setNegDownRateLim | LReal | 0.0 | Änderungsrate pro Sekunde für die fallende Rampe im negativen Wertebereich (1/Sekunde) |
setHighLim | LReal | 0.0 | Oberer Grenzwert |
setLowLim | LReal | 0.0 | Unterer Grenzwert |
defaultOutValue | LReal | 0.0 | Wert für die Default Vorbelegung der Ausgangsgröße (`outputValue` = `defaultOutValue`) |
enDefaultOutValue | Bool | FALSE | Zuweisen des Default Ausgangswert (`outputValue` = `defaultOutValue`) |
track | Bool | FALSE | Eingangsgröße durchschalten / Nachführen (`outputValue` = `autoValue`) |
manOp | Bool | FALSE | Manueller Modus (`outputValue` = `manualValue`) |
reset | Bool | FALSE | Gesamter Neustart der Funktion |
callOB | OB_CYCLIC | --- | Aufrufender Weckalarm-OB (Cyclic Interrupt OB) |
Bezeichner | Datentyp | Beschreibung |
---|---|---|
outputValue | LReal | Ausgangsgröße |
posUpRateLim | Bool | Anstiegsbegrenzung im positiven Bereich angesprochen |
posDownRateLim | Bool | Abstiegsbegrenzung im positiven Bereich angesprochen |
negUpRateLim | Bool | Anstiegsbegrenzung im negativen Bereich angesprochen |
negDownRateLim | Bool | Anstiegsbegrenzung im negativen Bereich angesprochen |
highLim | Bool | Obere Begrenzung erreicht |
lowLim | Bool | Untere Begrenzung erreicht |
error | Bool | FALSE: Kein Fehler TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten |
status | Word | 16#0000-16#7FFF: Status des FB 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle) |
subfunctionStatus | Word | Status oder Rückgabewert von aufgerufenen FB's / FC's und Systemfunktionen |
Code / Wert | Bezeichner / Beschreibung |
---|---|
16#0000 | STATUS_FINISHED_NO_ERROR Status: Abarbeitung ohne Fehler beendet |
16#8200 | ERR_NEG_RATE_LIM Fehler: Obergrenze unterhalb der Untergrenze. Obere Begrenzung `setHighLim` muss größer sein als die untere Begrenzung `setLowLim`. |
16#8202 | ERR_NEG_RATE_OF_CHANGE Fehler: Negative Änderungsrate. Parameter für die Änderungsrate darf nicht negativ sein. |
16#8600 | ERR_QRY_CINT Fehler in Anweisung `QRY_CINT` - weitere Infos in `subFunctionStatus` |
16#8601 | ERR_OB_UNAVAILABLE Fehler: OB am Eingang `callOB` ist nicht projektiert / vorhanden. Verschalten Sie am Eingang `callOB` den Konstanten Namen eines projektierten Weckalarm-OB. |
subFunctionStatus
wird der Status von aufgerufenen Anweisungen ausgegeben. Der Ausgangswert in status
gibt in diesem Fall an, welche Anweisung den Fehler verursacht hat. Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.Für den positiven/negativen Wertebereich sind je zwei Änderungsraten für die Rampe (steigende und fallende Werte) parametrierbar. Über Steuereingänge ist die Auswahl folgender Betriebsarten möglich:
Die Ausgangsgröße kann durch zwei parametrierbare Grenzen begrenzt werden. Eine aktive Begrenzung der Änderungsrate einer Rampe sowie eine aktive Begrenzung der Ausgangsgröße werden über Ausgänge gemeldet.
Der Zeittakt des aufrufen Weckalarm-OBs wird ermittelt, in dem am Eingangs-parameter callOB
der aufrufende Weckalarm-OB verschaltet wird.
Bei Neustart reset = TRUE
wird der Ausgang outputValue
auf 0.0
rückgesetzt.
Wenn enDefaultOutValue = TRUE
gesetzt ist, wird defaultOutValue
ausgegeben. Alle Signalausgänge werden auf FALSE
gesetzt.
Wenn enDefaultOutValue = TRUE
gesetzt ist, wird am Ausgang der Wert an defaultOutValue
ausgegeben. Bei Änderung von TRUE
nach FALSE
wird outputValue
von defaultOutValue
nach autoValue
rampenförmig gefahren. Beim Wechsel von FALSE
nach TRUE
springt der Ausgang outputValue
sofort zu defaultOutValue
.
Die Rampen sind Begrenzungsgeraden und beziehen sich auf eine Änderungsrate pro Sekunde; wird zum Beispiel setPosUpRateLim = 10.0
parametriert, so wird bei einer Abtastzeit von 1s/100ms/10ms bei jedem Bausteinaufruf, wenn autoValue > outputValue
ist, 10.0/1.0/0.1 zu outputValue
addiert, bis autoValue
erreicht ist.
Die Begrenzung der Änderungsrate ist jeweils in positivem und negativem Wertebereich für den Anstieg und den Abfall parametrierbar.
Tabelle: Kennzeichnung der Rampen
Parameter | Rampe |
setPosUpRateLim | outputValue > 0.0 und |outputValue| steigend |
setPosDownRateLim | outputValue > 0.0 und |outputValue| fallend |
setNegUpRateLim | outputValue < 0.0 und |outputValue| steigend |
setNegDownRateLim | outputValue < 0.0 und |outputValue| fallend |
Wenn keine Parametrierung der Rampen vorgenommen wird (setPosUpRateLim
, setPosDownRateLim
, setNegUpRateLim
und setNegDownRateLim
gleich 0.0
), bleibt der Ausgang auf dem Wert 0.0
und der Normalbetrieb ist außer Funktion.
Ist der Eingang track = TRUE
gesetzt, wird die Eingangsgröße autoValue
direkt zur Ausgangsgröße outputValue
durchgeschaltet. Somit werden auch Sprünge der Eingangsgröße ausgegeben.
Wenn manOp = TRUE
gesetzt ist, wird die Regelgröße manualValue
direkt auf die Ausgangsgröße outputValue
durchgeschaltet.
In dieser Betriebsart sind die Parametrierung der Rampen bzw. der oberen/unteren Begrenzung der Ausgangsgröße und die Vorbelegung des Ausgangs unwirksam.
Beim Wechsel von TRUE
nach FALSE
, wird der Ausgang outputValue
nach autoValue
wieder rampenförmig gefahren.
Sobald der Werteabschnitt zwischen der unteren und oberen Begrenzung erreicht ist, wird die obere und untere Begrenzung wieder aktiviert.
Abbildung: Rampenfunktionsverlauf, Betriebsarten
Version & Datum | Änderungsbeschreibung | |
---|---|---|
01.00.00 | Siemens Industry Online Support | |
21.06.2016 | First released version | |
01.00.01 | Siemens Industry Online Support | |
02.01.2017 | Upgrade: TIA Portal V14 Update 1 | |
01.00.02 | Siemens Industry Online Support | |
17.08.2018 | Upgrade: TIA V15 Update 2 | |
01.00.03 | Siemens Industry Online Support | |
23.11.2018 | Upgrade: TIA V15.1 | |
01.00.07 | Simatic Systems Support | |
15.11.2019 | Regions, comments and constants are added | |
03.00.00 | Simatic Systems Support | |
23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library | |
03.00.01 | Simatic Systems Support | |
22.03.2021 | Insert documentation |