{"id":245,"date":"2020-11-07T16:39:58","date_gmt":"2020-11-07T15:39:58","guid":{"rendered":"http:\/\/blog.0link.net\/?p=245"},"modified":"2020-11-07T16:54:06","modified_gmt":"2020-11-07T15:54:06","slug":"vom-ereignis-zum-alarm-aus-der-logik-einer-bma","status":"publish","type":"post","link":"https:\/\/blog.0link.net\/index.php\/2020\/11\/07\/vom-ereignis-zum-alarm-aus-der-logik-einer-bma\/","title":{"rendered":"7. Vom Ereignis zum Alarm &#8211; aus der Logik einer BMA"},"content":{"rendered":"\n<p>Kernfunktion ist die Verarbeitung eines ausgel\u00f6sten Melders &#8211; in meiner BMA &#8222;Pin 1 wird logisch 1&#8220; &#8211; oder ganz platt ich halte einen Draht mit +5V an den IN1 am MCP23017.<\/p>\n\n\n\n<p>Dann werden die Blitzleuchten im Objekt sowie ein Signalhorn oder eine Durchsage aktiviert, das Schl\u00fcsseldepot (FSD) wird ge\u00f6ffnet und die Anlage schaltet die \u00dcbertragungseinheit (\u00dcE) zur Feuerwehr oder einem Sicherheitsdienst ein. Parallel dazu m\u00fcssen die Feuermeldungen auch in den Meldungsspeicher des Feuerwehranzeigetableaus \u00fcbertragen werden. Danach wartet die Anlage geduldig auf das Eingreifen der Feuerwehr.<\/p>\n\n\n\n<h2>Wenn es denn so einfach w\u00e4re<\/h2>\n\n\n\n<p>Nun gibt es aber in einer Brandmeldeanlage noch ein paar mehr Dinge zu beachten. Neben dem vor\u00fcbergehenden deaktivieren von Meldegruppen oder einzelnen Meldern (Abschaltungen) gibt es St\u00f6rungen und die M\u00f6glichkeit der Unterbrechung der Akustik, der Brandfallsteuerung und der \u00dcberleitung und das jeweils direkt an der BMZ oder am Feuerwehrbedienfeld mit teilweise unterschiedlichen Auswirkungen auf die Verarbeitung eines Ereignisses.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus sind Funktionen wie Verz\u00f6gerung der \u00dcberleitung f\u00fcr eine Erkundung durch den Betreiber und Spezialf\u00e4lle wie &#8222;mindestens zwei benachbarte Melder m\u00fcssen ausl\u00f6sen&#8220; in echten Anlagen zu finden. F\u00fcr die Bedienung der Feuerwehrseite sind diese aber nur bedingt relevant. Fakt ist, wenn die Anlage ausgel\u00f6st hat und der Feuerwehrmann vor FBF und FAT steht, muss er herausfinden, welche Melder ausgel\u00f6st haben und den betroffenen Bereich erkunden, um festzustellen, ob dort Feuer ist oder nur eine Fehlausl\u00f6sung vorliegt. Dazu kann er am FBF die Akustik abschalten, die \u00dcberleitung unterbrechen und eben am FAT die Meldungen abrufen. Der Rest spielt sich auf der Betreiberseite an der BMZ ab und da sollte der Feuerwehrmann am besten gar nicht t\u00e4tig werden.<\/p>\n\n\n\n<h2>Abschaltung von Meldern und Gruppe<\/h2>\n\n\n\n<p>Am einfachsten erschien mir erstmal mit Abschaltung von Meldern und Meldergruppen anzufangen. \u00dcber Node-RED erzeuge ich mittels virtuellen Schaltern eine MQTT-Meldung an den Broker, die nun im BMZ-Skript ausgewertet wird. Die abgeschalteten Linien, wie man in Feuerwehrkreisen auch oft noch sagt, und\/oder Einzelmelder wandern in eine Variable und parallel wird eine Meldung in den Meldungsspeicher &#8222;Abschaltungen&#8220; im FAT abgelegt.<\/p>\n\n\n\n<p>In der Alarm-Funktion wird nun erstmal gepr\u00fcft, ob der eingehende Melder in der Variablen f\u00fcr die Abschaltung zu finden ist. Falls ja erfolgt nur eine Ausgabe auf der Konsole, aber eben kein Alarm.<\/p>\n\n\n\n<h2>Abschaltung der \u00dcbertragung und Akustik<\/h2>\n\n\n\n<p>Sp\u00e4testens, wenn die Feuerwehr kommt, wird \u00fcber das Feuerwehrbedienfeld in die Ansteuerung der Akustik eingegriffen und der Signalweg unterbrochen. Nun muss man an dieser Stelle wissen, dass eine am FBF abgeschaltete Akustik auch nur dort wieder eingeschaltet werden kann. Gleiches gilt \u00fcbrigens auch f\u00fcr die \u00dcbertragungseinheit.<\/p>\n\n\n\n<p>Die notwendigen Steuerbefehle laufen ebenfalls durch den MQTT und werden in Zustandsvariablen lokal gespeichert und bei der Alarmverarbeitung und in der Main-Loop in jedem Prozesstakt gepr\u00fcft. <\/p>\n\n\n\n<p>&#8222;Wieso denn auch in der Main-Loop?&#8220; &#8230; nun, wenn die Anlage sich im Zustand Alarm befindet und die Akustik oder die \u00dcbertragung wieder aktiviert werden, w\u00fcrde ohne die Pr\u00fcfung in der Main-Loop beides nicht sofort erneut ausgel\u00f6st werden, solange kein neues Meldersignal die Alarmfunktion ausl\u00f6st. Also m\u00fcssen wir daf\u00fcr Sorge tragen, dass im Alarmfall Akustik und\/oder \u00dcberleitung sofort wieder aktiviert werden und deshalb schauen wir in der Main-Loop.<\/p>\n\n\n\n<h2>Voralarm und Erkundung durch Betreiber<\/h2>\n\n\n\n<p>Da ich diese Funktion selbst auch nur aus Erz\u00e4hlungen kenne, ist es ein bisschen Stochern im Nebel. In meiner Umsetzung gibt es, wenn die Funktion in der BMZ aktiviert wird (geht n\u00e4mlich auch ohne), zwei Timer: Voralarm und Erkundung.<\/p>\n\n\n\n<p>Mit Einlauf der ersten Meldung, wird nun der Timer Voralarm gestartet, Blitzleuchte und Akustik aktiviert und der Betreiber kann im Zeitfenster des Timers an der BMZ die Taste Erkundung dr\u00fccken. Dr\u00fcckt er sie nicht rechtzeitig, wird die \u00dcbertragung ausgel\u00f6st und die Feuerwehr gerufen.<\/p>\n\n\n\n<p>Schafft er es rechtzeitig den Knopf &#8222;Erkundung&#8220; zu dr\u00fccken, wird der Timer Erkundung aktiviert und er gewinnt eine vordefinierte Zeit bevor die Anlage die \u00dcbertragung ausl\u00f6st und damit die Feuerwehr ruft.<\/p>\n\n\n\n<p>Nach meinem Verst\u00e4ndnis ist eine Erkundung unsinnig, wenn mehrere Melder ausl\u00f6sen, denn dann ist schon sehr davon auszugehen, dass ein Brandfall vorliegt. Deshalb bricht meine BMZ den Voralarm und die Erkundung sofort ab, wenn weitere Melder eingehen und ruft die Feuerwehr.<\/p>\n\n\n\n<h2>R\u00fcckstellung der BMZ<\/h2>\n\n\n\n<p>Im richtigen Leben kann der Betreiber an der BMZ nach erfolgter Erkundung die Anlage wieder zur\u00fcckstellen. Das macht aus Sicht der Betreiber durchaus Sinn, weil dann der L\u00e4rm aufh\u00f6rt und die so genannten Brandfallsteuerungen wieder abgeschaltet werden (Blockierung der Aufz\u00fcge, Schlie\u00dfen der Brandschutzt\u00fcren, etc.) und die Arbeit weiter gehen kann. Aus Sicht der Feuerwehr gibt es gute Argumente gegen das Zur\u00fcckstellen und Abbestellen der Feuerwehr.<\/p>\n\n\n\n<p>Weil das R\u00fcckstellen durch Betreiber immer wieder f\u00fcr Probleme sorgte, weil f\u00fcr die Feuerwehr die Ausl\u00f6sung schwierig nachvollziehbar war, leuchtet in neueren Anlagen die Alarm-LED im FBF 15 Minuten nach der R\u00fcckstellung, so dass die Feuerwehr wei\u00df, dass die Anlage definitiv ausgel\u00f6st hat und im FAT nach der Ursache suchen kann.<\/p>\n\n\n\n<p>Auch an dieser Stelle greift die Rainer-BMA-Logik &#8230; wenn w\u00e4hrend der 15 Minuten die Anlage erneut ausl\u00f6st, dann wird es wohl einen Grund geben, so dass in diesem Fall auch ohne Voralarm und Erkundung sofort die \u00dcberleitung aktiviert wird.<\/p>\n\n\n\n<p>Einen Aspekt ber\u00fccksichtig meine BMA derzeit noch gar nicht &#8230; n\u00e4mlich die Ausl\u00f6sung und \u00dcberwachung des Schl\u00fcsseldepots. Es ist aus Gr\u00fcnden der Sicherheit in die \u00dcberwachung der BMA eingebunden und bei fehlenden Schl\u00fcsseln und offenen Klappen gibt es Probleme bei der R\u00fcckstellung der Anlage in den Ruhezustand.  Aber auch das wird noch einen Weg in das Projekt finden \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kernfunktion ist die Verarbeitung eines ausgel\u00f6sten Melders &#8211; in meiner BMA &#8222;Pin 1 wird logisch 1&#8220; &#8211; oder ganz platt ich halte einen Draht mit +5V an den IN1 am MCP23017. Dann werden die Blitzleuchten im Objekt sowie ein Signalhorn oder eine Durchsage aktiviert, das Schl\u00fcsseldepot (FSD) wird ge\u00f6ffnet und die Anlage schaltet die \u00dcbertragungseinheit &hellip; <a href=\"https:\/\/blog.0link.net\/index.php\/2020\/11\/07\/vom-ereignis-zum-alarm-aus-der-logik-einer-bma\/\" class=\"more-link\"><span class=\"screen-reader-text\">7. Vom Ereignis zum Alarm &#8211; aus der Logik einer BMA<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,7,3],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/posts\/245"}],"collection":[{"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":4,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/posts\/245\/revisions\/266"}],"wp:attachment":[{"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/media?parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/categories?post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.0link.net\/index.php\/wp-json\/wp\/v2\/tags?post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}