die Idee, ein ganzes Logikmodul als Haupt- oder Failover-Modul zu definieren, ist zwar eine komplett andere als mein Ansatz auf Kanalebene, aber durchaus nicht schlecht. Allerdings glaube ich, dass sie noch schwerer zu lösen ist als mal ein paar Failover-Kanäle zu definieren.
Erstmal die Fehlannahme:
Zitat von henfri
Beitrag anzeigen
Wenn ganze Logikmodule als Failover-Module arbeiten würden, würde ich die Synchronisation dem User überlassen. Entweder über den ConfigTransfer, um einzelne Kanäle anzupassen, oder über eine Gerätekopie in der ETS.
Aber es geht gar nicht darum, ein paar Parameter über den Bus zu bekommen, das ist die rein technische Sicht. Es geht darum, was man von einem Failover erwartet.
Naiv würde jeder sagen: Der eine fällt aus, der andere soll einfach weitermachen, genau an dem Punkt des Ausfalls. Aber genau das wird nicht funktionieren.
Das Failover-Modul dürfte ja nicht senden, solange das Hauptmodul noch läuft. Wenn es aber nicht sendet, würden alle internen KO-Verknüpfungen nicht funktionieren. Die senden eben auch nicht. Eine Lösung wäre, alle Verknüpfungen über den Bus zu machen, aber dann erhöht man wieder die Buslast.
Was ist mit internen Zuständen (z.B. Zählern), die ihre Werte über den Busspannungsausfall hinweg speichern? Jetzt hat sich das ausgefallene Haupmodul nur aufgehängt und man startet es neu - und plötzlich schreibt es alte Zählerwerte auf den Bus, weil es logischerweise während des Hängers nicht zählen konnte.
Wenn man weiter nachdenkt, findet man sicherlich beliebig viele Komplikationen, die so ein Vorgehen nach sich zieht.
Deswegen sehe ich keine Chance, ein generisches Failover für ein ganzel Logikmodul anzubieten. Ich könnte unterstützende Funktionen einbauen, wie z.B. die Möglichkeit, das Senden der KO-Werte zu unterdrücken, bis es von Außen erlaubt wird (oder umgekehrt, als globale Sende-Sperre).
Aber das Failover-Konzept und die Gedanken, dass die implementierten Logiken im Failover-Fall auch weiterhin funktionieren, müsste der User schon selber machen.
Der Fall, dass man einfach die Parametrisierung von einem Modul auf ein anderes kopiert und dann der Eine den Ausfall des Anderen vollständig auffangen kann, wird eher selten sein.
Gruß, Waldemar


.
.
Einen Kommentar schreiben: