TP177B: Wie Daten aus zwei Steuerungen lesen?

Das geht so nicht:

Variable in CPU B sendet "CPU A lebt" ans TP.

CPU A läuft, CPU B sendet "CPU A OK" ans TP
CPU A geht in STOP. CPU B sendet nicht mehr "CPU A OK" ans TP.

Jetzt andersrum:
CPU A läuft, CPU B sendet "CPU A lebt" ans TP.
CPU B geht in STOP. CPU B sendet nicht mehr "CPU A OK" ans TP.

Und jetzt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Doch tut es, da ich eine Var_Leben mit 0 beschreibe wenn CPU A iO ist. Also ist diese Var_Leben ersteinmal immer 0 wenn CPU A iO ist ob CPU b nun in Stop oder nicht.
Ist CPU B in Run und CPU A fällt aus dann Var_Leben = 1
 
Hallo!

Leider kann ich nicht pauschal sagen, dass A immer der Master ist. Es muss auch möglich sein, dass B im Masterbetrieb ausfallen kann und das Panel das mitkriegt.
Im obigen Beispiel:
A fällt aus -> in CPU B geht Var_Leben von 0->1 weil B ja Master wird
A wird getauscht, funkioniert wieder, B bleibt Master
B fällt aus -> A übernimmt den Master, B kann jedoch Var_Leben nicht mehr auf 0 setzen

:confused::confused::confused:

mfg mephisto
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anderer Weg:

Gibt es irgendeine Möglichkeit, im TP eine Art WENN Abfrage durchzuführen, und damit dann eine interne Variable zu setzen/rücksetzen?
Skripts gehen ja nicht - Danke Siemens
Gehts über einen Steuerauftrag oder so?

Egal welches Szenario ich durchspiele, ich MUSS im TP ein Bit von A mit einem Bit von B vergleichen. Erst dann kann das TP entscheiden, wem es glauben darf.

mfg mephisto
 
Gibts vielleicht die Möglichkeit, dass meine beiden SPSen A und B auf den Speicherbereich des TP schreiben?
Momentan liest/schreibt das TP ja Daten aus/in meine beiden SPSen über zwei Verbindungen.
Aber diese Daten muss es ja intern wo speichern.
Wenn nun meine beiden Steuerung auf ein und denselben Speicherbereich IM TP zugreifen könnten, dann wüsste ich (warscheinlich) eine Lösung

mfg mephisto
 
Ich glaube, Nordischerjung hat das andersrum gemeint. Ich hatte es auch erst so wie Du verstanden: Die Variable müsste eigentlich "Partner-CPU tot" heißen.
CPU A läuft, CPU B läuft, beide senden "Partner tot" = 0.
CPU A fällt aus, CPU B sendet "Partner tot" = 1.
Panel schaltet spätestens jetzt auf CPU B um. In CPU A steht in "Partner tot" immer noch 0.
CPU A wird ausgetauscht, CPU B bleibt Master. CPU B sendet jetzt "Partner tot" = 0, CPU A auch.
CPU B fällt aus, CPU A sendet "Partner tot" = 1
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst nicht eine Variable aus beiden CPU gleichzeitig lesen. Du kannst - wie ich schon erwähnt habe - die Verbindung umschalten (´schau Dir Mal "Verbindung wechseln" an) so dass Du wahlweise aus einer der beiden CPUs Deine Daten lesen kannst.
 
Hallo!

:ROFLMAO: ICH HAB EINE LÖSUNG GEFUNDEN :ROFLMAO:

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 !
 
Zurück
Oben