# LGF_CountFalInDWord (FC / V3.0.1)

Autor: Siemens Digital Industry Support

## Kurzbeschreibung

Diese Funktion analysiert eine Variable von Typ DWORD und gibt aus, wie oft in der Variablen eine 1-0 Abfolge (fallende Flanke) vorkommt.

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

### Baustein Schnittstelle

| LGF_CountFalInDWord (FC) |
--- | --- | ---
DWord |  |  | dWordActCycle |  | Ret_Val |  |  | Int
DWord |  |  | dWordPrevCycle |  |  |  |  |

### Input Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
dWordActCycle | DWord | Eingangs Doppel Wort in dem die fallenden Flanken gezählt werden
dWordPrevCycle | DWord | Doppel Wort aus dem vorherigen Zyklus

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Int | Anzahl der fallenden Flanken im DWord

## Funktionsbeschreibung

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

## Änderungshistorie

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