Ok. Die SPS-Eingänge bringen ja schon eine Entprellung von ~3-5ms mit. Ist vielleicht auch eine Definitionssache ab welcher Verzugszeit man von Entprellung oder Filterung spricht.
ENTPRELLEN:
wenn ein signal beim Wechsel zwischen o und 1 nicht "sauber schaltet, sondern erst etwas prellt (mechanische kontakte von relais, tastern,...) dann will man das entprellen weil man zb. im programm flanken von diesem signal auswertet. bei einem prellenden signal kommen bei jedem signalwechsel mehrere flanken.
interessant ist nur die erste siganlflanke, die ist sofort da wenn man eine SA nimmt. den weiteren flanken ist die SA überlagert.
FILTERN:
wenn ein sensor peaks bringt die nicht als plausibel gelten, dann werden diese ausgefiltert. dein beispiel mit dem schwappenden füllstand ist da sehr gut. aber auch bei analogen messungen verwendet man filter um kurze messpitzen auszublenden.
ein digitales signal filtert man am einfachsten über eine SE, gültig ist ein signal nur wenn es länger TRUE ist als die zeit der SE. alles andere kommt nicht durch.
Ich hatte schon die Überlegung ganz auf die Timer zu verzichten und einfach mit dem Systemtakt (OB oder Taktmerker) ein INT hochzuzählen, bei einem bestimmt Wert den Merker zu setzen und wenn das Eingangssignal verschwindet herunterzählen und bei 0 wieder rücksetzen.
das habe ich früher auch oft gemacht.
vorteil: du hast beliebig viele timer und sie sind instanzierbar (FBs)
Nachteil: maximale genauigkeit 100ms + sps zyklus
und der code wird sehr aufgeblasen wenn du nicht gerade eine extra FC dafür schreibst.
inzwischen verwende ich nur noch die IEC timer (zähler):
Vorwärtszählen mit dem SFB 0 "CTU"
Rückwärtszählen mit dem SFB 1 "CTD"
Vorwärts- und Rückwärtszählen mit dem SFB 2 "CTUD"
Erzeugen eines Impulses mit dem SFB 3 "TP"
Erzeugen einer Einschaltverzögerung mit dem SFB 4 "TON"
Erzeugen einer Ausschaltverzögerung mit dem SFB 5 "TOF"
schau dir die sfbs mal an, die lassen sich einfach als multiinstanzen in den fbs aufrufen oder eben mit einen eigenen idb
die sind genauer und noch komfortabler, abgesehen voll IEC 61131-3 konform. und ebenfalls unbegrenzt vorhanden.
und im gegensatz zu dem s7 timer und counter müll gehen zb die counter bis 32787 (s7 counter 999) und die timer können auch wesentlich mehr (einige tage).
Spart man sich den ganzen Timerkram.
im prinzip sind alles timer, nur eben verschieden arten.
die definitiv beste lösung sind die IEC timer.
weitere vorteil von dem IEC kram, wenn du damit arbeitest fällt dir eventuell später der umstieg/einstieg in ein ICE system wie beckhoff oder
codesys leichter...