LGF_SawTooth (FB / V3.0.1)


Autor: Siemens Digital Industries

Kurzbeschreibung

Diese Funktion generiert einen sägezahnförmigen Signalverlauf. Jeder Sägezahn besteht aus einer definierten Anzahl an Schritten (Inkrementen).

Hinweis
VERALTETE FUNKTION
Bitte updaten und nutzen sie zukünftig den FB mit dem Namen LGF_CountRisInDWord!
Diese Funktion wird nicht weiter gepflegt!

Baustein Schnittstelle

LGF_SawTooth (FB)
Int  startValue value  Int
    
Time  timeRange   
    
Int  incrementRange   
    
Int  numberSteps   
    
Bool  endlessSteps   
    
Bool  reset   
    
   

Input Parameter

BezeichnerDatentypDefault WertBeschreibung
startValueInt0Startwert bei dem das Signal beginnt.
timeRangeTimeT#0sZeit nach der der Ausgangsparameter `value` inkrementiert wird
incrementRangeInt0Größe des Sprunges von einem Inkrement auf den nächsten.
numberStepsInt0Anzahl der Inkremente pro Sägezahn. (Im Falle eines endlosen Sägezahnsignales ist die Angabe nicht nötig).
endlessStepsBoolFALSEAngabe ob ein endloses Sägezahnsignal generiert werden soll.
`TRUE` - Aktiviert, `FALSE` - Deaktiviert
resetBoolFALSESägezahn beginnt wieder beim Startwert `startValue`.

Output Parameter

BezeichnerDatentypBeschreibung
valueIntAktueller Wert des Sägezahnsignales.

Funktionsbeschreibung

HINWEIS
Beachten Sie, dass Änderungen an den Eingangsparametern erst mit reset wirksam werden.

Der Baustein berechnet die Werte für einen sägezahnförmigen Signalverlauf, die am Ausgangsparameter value ausgegeben werden. Das Signal beginnt mit dem Startwert startValue und wird nach jedem Ablauf des Zeitintervalls timeRange mit dem Wert increment addiert. Der Wert kann auch negativ sein.

Ist die Variable endlessSteps auf FALSE gesetzt, wird die Anzahl der Addiervorgänge gezählt. Überschreitet diese den Wert numberSteps wird der Ausgangsparameter value wieder auf den Startwert gesetzt. Ein neuer Sägezahn beginnt.

Ist die Variable endlessSteps auf TRUE gesetzt, wird - einmalig beginnend bei startValue - ununterbrochen der Wert increment aufaddiert. Wenn der maximale positive INT-Wertebereich (32767) des Ausgangsparameters value überschritten wird, wechselt value in den maximalen negativen INT-Wertebereich (-32768) und wird weiter aufaddiert.


HINWEIS
Die Dauer eines Sägezahns bei endlessSteps auf FALSE berechnet sich wie folgt:
Dauer = #timeRange * (#numberSteps + 1)

LGF_SawTooth - Signalverlauf des Ausgangs value

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
19.08.2015First released version
01.00.01Siemens Industry Online Support
02.11.2015Bug fix
01.00.02Siemens Industry Online Support
02.01.2017Upgrade: TIA Portal V14 Update 1
01.00.03Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.00.04Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.00.10Simatic Systems Support
23.09.2019Code refactoring, regions and more comments added
03.00.01Simatic Systems Support
15.02.2021Insert documentation