Hallo!
ICH HAB EINE LÖSUNG GEFUNDEN
Also:
Jede CPU prüft für sich unabhängig, ob Sie Master ist und setzt ein Bit in der Steuerung.
Das TP bekommt somit von jeder Steuerung ein Bit, dass bei Steuerung=Master=1 ist.
In der Variablenliste des TPs müssen diese zwei Bits nun mit je zwei Ereignissen bei Wertänderung versehen werden.
Für Bit von Steuerung A:
1. Bit rücksetzen - Das TP schreibt also, wenn die Steuerung das Bit=1 setzt das Bit=0
2. in eine interne Variable Var_X=0 schreiben
Für Bit von Steuerung B:
1. Bit rücksetzen - Das TP schreibt also, wenn die Steuerung das Bit=1 setzt das Bit=0
2. in dieselbe interne Variable Var_X=1 schreiben
Der Variablenmux muss dann nur noch auswerten, ob Var_X =0 oder =1 ist.
Erklärung:
Die Mastersteuerung will permanent 1 schreiben, das TP löscht dies wieder. Somit gibts permanent eine Wertänderung wodurch in Var_X=0 geschrieben wird.
Die Reservesteuerung schreibt permanent 0, somit macht das TP mit diesem Bit nichts und es gibt auch keine Wertänderung.
Fällt die Mastersteuerung aus, so wird das Bit, nachdem es vom TP auf =0 gesetzt wurde, nicht mehr auf 1 gesteuert, bleibt also 0
Die Reservesteuerung wird zum Master und fängt ihrerseits an, 1 in ihr Bit zu schreiben.
Da hab ich mir nun Tagelang den Schädel zerbrochen und dann ist es eigentlich ganz einfach.
Hauptsache es geht
:s18::s18::s18::s18:
mfg mephisto
PS.: Ich bin so gut! - K U T H !
Ich bin so klug! - K L U K !