Diese Funktion analysiert eine Variable von Typ DWORD und gibt aus, wie oft in der Variablen eine 1-0 Abfolge (fallende Flanke) vorkommt.
LGF_CountFalInDWord
!LGF_CountFalInDWord (FC) | ||||||||
---|---|---|---|---|---|---|---|---|
DWord | dWordActCycle | Ret_Val | Int | |||||
DWord | dWordPrevCycle | |||||||
Bezeichner | Datentyp | Beschreibung |
---|---|---|
dWordActCycle | DWord | Eingangs Doppel Wort in dem die fallenden Flanken gezählt werden |
dWordPrevCycle | DWord | Doppel Wort aus dem vorherigen Zyklus |
Bezeichner | Datentyp | Beschreibung |
---|---|---|
Ret_Val | Int | Anzahl der fallenden Flanken im DWord |
Der Baustein zählt in einer Variablen vom Datentyp DWORD die fallenden Flanken (1-0 Übergänge) von links nach rechts. Der Ausgang countFalInDWord
gibt dabei die Anzahl der fallenden Flanken aus.
Damit auch fallende 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 1-0 Abfolgen (fallenden Flanken) gezählt und ausgegeben werden. Damit auch - wie in diesem Beispiel - die fallende 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_1011 | 0010_1010_0001_1111_0100_0011_1000_0101 |
Anzahl der 1-0 Abfolgen (fallenden Flanken): Ret_Val
= 8
####### 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_CountFalInDWord wird in diesem Fall verwendet, um zu zählen, wie oft eine fallende 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_CountFalInDWord` in the future |