Diese Funktion analysiert eine Variable von Typ DWORD und gibt aus, wie oft in der Variablen eine 0-1 Abfolge (steigende Flanke) vorkommt.
LGF_CountRisInDWord
!LGF_CountRisInDWord (FC) | ||||||||
---|---|---|---|---|---|---|---|---|
DWord | dWordActCycle | Ret_Val | Int | |||||
DWord | dWordPrevCycle | |||||||
Bezeichner | Datentyp | Beschreibung |
---|---|---|
dWordActCycle | DWord | Eingangs Doppel Wort in dem die steigende Flanken gezählt werden |
dWordPrevCycle | DWord | Doppel Wort aus dem vorherigen Zyklus |
Bezeichner | Datentyp | Beschreibung |
---|---|---|
Ret_Val | Int | Anzahl der steigenden Flanken im DWord |
Der Baustein zählt in einer Variablen vom Datentyp DWORD die steigenden Flanken (0-1 Übergänge) von links nach rechts. Der Ausgang countRisInDWord
gibt dabei die Anzahl der steigenden Flanken aus.
Damit auch steigende Flanken an der Variablengrenze erkannt werden, wird der Eingang value
am Ende der Auswertung auf die statische Variable statDWordPrevCycle
kopiert und im nächsten Zyklus mit ausgewertet.
####### Beispiel
Das folgende Beispiel verdeutlicht die Funktionsweise des Bausteins. In diesem Fall geht man davon aus, dass ein Signal von unbekannter Länge kontinuierlich in Form von Doppelwörtern (DWORD) pro Zyklus abgetastet wird.
Innerhalb dieses Signals sollen kontinuierlich die 0-1 Abfolgen (steigenden Flanken) gezählt und ausgegeben werden. Damit auch - wie in diesem Beispiel - die steigende Flanke an Variablengrenzen erkannt werden, muss der Eingang "statDWordPrevCycle" mit dem Doppelwort der vorherigen Abtastung verschaltet werden.
Tabelle: Beispiel
DWord vorheriger Zyklus
statDWordPrevCycle |
DWord aktueller Zyklus
value |
---|---|
1001_0000_0001_1010_1001_0000_0001_1010 | 1010_1010_0001_1111_0100_0011_1000_0101 |
Anzahl der 0-1 Abfolgen (steigende Flanken): Ret_Val
= 9
####### Anwendungsbeispiel:
Auszug aus dem Handbuch des Technologiemodul TM Timer DIDQ 16x24V:
Mit der Funktion Oversampling erfasst das Technologiemodul den Zustand des jeweiligen Digitaleingangs pro Applikationszyklus (z. B. OB61) zu 32 Zeitpunkten mit gleichmäßigem zeitlichen Abstand. Die 32 Zustände werden in der Rückmeldeschnittstelle gemeinsam als 32-Bit-Wert zurückgeliefert.
Abbildung: Beispiel für ein Oversampling von DI0 am TM Timer DIDQ 16x24V
Der Baustein LGF_CountRisInDWordFB wird in diesem Fall verwendet, um zu zählen, wie oft eine steigende Flanke vorkommt.
SIMATIC ET 200MP/S7-1500 Technologiemodul TM Timer DIDQ 16x24V
(6ES7552-1AA00-0AB0)
https://support.industry.siemens.com/cs/ww/de/view/95153313
Version & Datum | Änderungsbeschreibung | |
---|---|---|
01.00.00 | Siemens Industry Online Support | |
19.08.2015 | First released version | |
01.00.01 | Siemens Industry Online Support | |
02.01.2017 | Upgrade: TIA 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 | |
03.00.01 | Simatic Systems Support | |
12.11.2020 | Insert documentation and LEGACY Hint Please use the FB with the same name `LGF_CountRisInDWord` in the future |