Hallo liebe geduldige Experten.
Ich habe mich mit Sicherheit nicht so gut ausgedrückt. Versuche es aber mal so:
Bisher habe ich ein lauffähgiges System. Verschiedene Alarm-Modus (verzögert, Alle Außentüren, Alle Türen) und ist der Alarm aktiviert - eine Tür (je nach Modus) öffnet sich, dann löst das aktustische Signal aus. Das ist alles schon ganz gut.
Derzeit habe ich mehrere Netzwerke, in denen je Türöffnung eine positive und eine negative Flanke gebildet wird. Jeweils wird der FC1 aufgerufen (schon existent), der dann mit BlockMove die übergebenen Einträge in einen DB packt. Alles super. Also bei positiver Flanke wird derzeit der besagte FC aufgerufen - Inparameter Byte Türnummer, Inparameter Byte AufZu. In diesem Fall wird 0 gesetzt, weil ja die Tür aufging und daher 0. Weiterhin addiere ich derzeit im selben Netzwerk bei besagter positiver Flanke eine Zahl auf, ein anderer DB (zählt die Öffnungen, daher bei pos. Flanke) Es geht eine Verzweigung zur negativen Flanke, die nicht aufsummiert, aber wieder den FC1 aufruft, mit Paramter Türnummer und diesmal mit 1 bei Aufzu. Das realisiere ich mit jeder Tür - und ist mir zu fett. Daher dachte ich an den FC1 mit noch mehr Parameter. Da ein FC sich nichts merken kann, muss ich die Flanken mit übergeben. Sonst könnte ich einfach auf einen In-Parameter bei Öffnung das Signal draufgeben - werte die positive Flanke aus - und beim Schließen die negative Flanke auswerten. Aber in einem FC muss ich vorher nicht mit P und N, sondern mit der aufwändigeren Funktion realisieren. Wieder hätte ich für eine einzige Tür in einem Netzwerk so viele Elemente.
Kann ich das nicht einfacher realisieren? Wie gesagt, das ist alles losgelöst von der eigentlichen Überprüfung auf Alarmierung. Tür geht auf - Eintrag in DB, Zählung DB, Tür geht zu - Eintrag in DB (soll alles der FC1 realisieren)
Dankeschön für Ideen.