Positive und negative Flanke in AWL
Abfrage der steigenden Flanke in AWL mit dem Befehl FP
Mit einer Flankenauswertung wird eine Signalveränderung erfasst. Wechselt das VKE vom Signalzustand "0" auf den Signalzustand "1", dann handelt es sich um eine positive Flanke, auch steigende Flanke genannt. Das Signal steigt in diesem Fall von 0 auf 1. Eine Signalveränderung wird in AWL mit der Operation FP erfasst. Wenn sich der Zustand eines Signals von 0 auf 1 ändert, dann wird der Zustandswechsel durch FP im VKE mit "1" angezeigt. Beim nächsten Programmdurchlauf wird erneut geprüft, ob eine Signalveränderung vorliegt.
Damit man einen Vergleich überhaupt durchführen kann, wird der Zustand des abgefragten Operanden in einer Bitadresse gespeichert. Die Bitadresse wird auch Flankenoperand genannt. Hierfür wird häufig ein Merkerbit genommen. Man könnte aber auch genauso ein statisches Lokaldatenbit oder ein Datenbit in Globaldatenbausteinen verwenden. Temporäre Lokaldatenbits können nur im Organisationsbaustein OB1 verwendet werden, da Flankenoperanden speicherndes Verhalten haben und somit in Funktionen und Funktionsbausteinen nicht verwendet werden können.
Ist der vorherige Zustand eine 0 gewesen und der aktuelle Zustand eine 1, dann hat eine positive Signalveränderung stattgefunden und das wird im VKE mit 1 angezeigt. Ist der vorherige Zustand bereits eine 1 gewesen und der aktuelle Zustand ebenfalls eine 1, dann liegt keine positive Signalveränderung vor und das wird im VKE mit 0 angezeigt. War der vorherige Zustand eine 1 oder 0 und der aktuelle Zustand ist eine 0, dann liegt ebenfalls keine positive Signalveränderung vor.
Beispiel für eine positive Flankenauswertung in AWL:
U E 0.1
FP M 0.0
= A 2.0
Abfrage der fallenden Flanke in AWL mit dem Befehl FN
Man kann nicht nur erfassen, ob ein Signal von 0 auf 1 gewechselt ist, sondern auch umgekehrt. Möchte man erfassen, ob sich ein Signalzustand von 1 auf 0 ändert, dann spricht man von einer negativen Flanke oder fallenden Flanke, da hier das Signal von 1 auf 0 fällt. Eine negative Flanke wird mit dem Befehl FN abgefragt. Auch hier benötigt man eine Bitadresse, um den Zustand des Signals zu speichern, damit man eine Signalveränderung feststellen kann.
Findet eine Signalveränderung von "1" auf "0" statt, dann wird dieser durch FN im VKE mit "1" angezeigt. Der Vergleich, ob ein Signal den Zustand verändert hat, wird bei jedem Programmdurchlauf durchgeführt.
Ist der vorherige Zustand eine 1 gewesen und der aktuelle Zustand ist ebenfalls eine 1, dann liegt keine negative Signalveränderung vor. Auch wenn das Signal vorher bereits 0 war und der aktuelle Signalzustand ebenfalls eine 0 ist, liegt eine negative Signalveränderung nicht vor.
Ein Beispiel mit einer negativen Flankenauswertung in AWL:
U E 0.1
FN M 0.0
= A 2.0