LGF_LimRateOfChangeAdvancedCI (FB / V3.0.1)


Autor: Siemens Digital Industries

Kurzbeschreibung

Die Funktion LGF_LimRateOfChangeAdvancedCI begrenzt die Änderungsgeschwindigkeit einer Eingangsgröße. Aus Sprungfunktionen werden Rampenfunktionen. Zusätzlich verfügt der Baustein über verschiedene Betriebsarten.

Baustein Schnittstelle

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   
    
   

Input Parameter

BezeichnerDatentypDefault WertBeschreibung
autoValueLReal0.0Eingangssignal das verarbeitet und in seiner Änderungsrate begrenzt wird
manualValueLReal0.0Manuell kontrollierter Ausgabe Wert
(`outputValue` = `manualValue`)
setPosUpRateLimLReal0.0Änderungsrate pro Sekunde für die steigende Rampe im positiven Wertebereich (1/Sekunde)
setPosDownRateLimLReal0.0Änderungsrate pro Sekunde für die fallende Rampe im positiven Wertebereich (1/Sekunde)
setNegUpRateLimLReal0.0Änderungsrate pro Sekunde für die steigende Rampe im negativen Wertebereich (1/Sekunde)
setNegDownRateLimLReal0.0Änderungsrate pro Sekunde für die fallende Rampe im negativen Wertebereich (1/Sekunde)
setHighLimLReal0.0Oberer Grenzwert
setLowLimLReal0.0Unterer Grenzwert
defaultOutValueLReal0.0Wert für die Default Vorbelegung der Ausgangsgröße
(`outputValue` = `defaultOutValue`)
enDefaultOutValueBoolFALSEZuweisen des Default Ausgangswert
(`outputValue` = `defaultOutValue`)
trackBoolFALSEEingangsgröße durchschalten / Nachführen
(`outputValue` = `autoValue`)
manOpBoolFALSEManueller Modus
(`outputValue` = `manualValue`)
resetBoolFALSEGesamter Neustart der Funktion
callOBOB_CYCLIC---Aufrufender Weckalarm-OB (Cyclic Interrupt OB)

Output Parameter

BezeichnerDatentypBeschreibung
outputValueLRealAusgangsgröße
posUpRateLimBoolAnstiegsbegrenzung im positiven Bereich angesprochen
posDownRateLimBoolAbstiegsbegrenzung im positiven Bereich angesprochen
negUpRateLimBoolAnstiegsbegrenzung im negativen Bereich angesprochen
negDownRateLimBoolAnstiegsbegrenzung im negativen Bereich angesprochen
highLimBoolObere Begrenzung erreicht
lowLimBoolUntere Begrenzung erreicht
errorBoolFALSE: Kein Fehler
TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord16#0000-16#7FFF: Status des FB
16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
subfunctionStatusWordStatus oder Rückgabewert von aufgerufenen FB's / FC's und Systemfunktionen

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_FINISHED_NO_ERROR
Status: Abarbeitung ohne Fehler beendet
16#8200ERR_NEG_RATE_LIM
Fehler: Obergrenze unterhalb der Untergrenze. Obere Begrenzung `setHighLim` muss größer sein als die untere Begrenzung `setLowLim`.
16#8202ERR_NEG_RATE_OF_CHANGE
Fehler: Negative Änderungsrate. Parameter für die Änderungsrate darf nicht negativ sein.
16#8600ERR_QRY_CINT
Fehler in Anweisung `QRY_CINT` - weitere Infos in `subFunctionStatus`
16#8601ERR_OB_UNAVAILABLE
Fehler: OB am Eingang `callOB` ist nicht projektiert / vorhanden. Verschalten Sie am Eingang `callOB` den Konstanten Namen eines projektierten Weckalarm-OB.

Funktionsbeschreibung

Hinweis
In 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.

Weckalarm-OB verschalten

Neustart

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.

Ausgang vorbelegen

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.

Normalbetrieb

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.

Nachführen

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.

Regelgröße durchschalten

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

LGF_LimRateOfChangeAdvancedCI

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
21.06.2016First released version
01.00.01Siemens Industry Online Support
02.01.2017Upgrade: TIA Portal V14 Update 1
01.00.02Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.00.03Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.00.07Simatic Systems Support
15.11.2019Regions, comments and constants are added
03.00.00Simatic Systems Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
22.03.2021Insert documentation