Chris.O - 2019-02-07

Hallo Leute,

ich hätte eine recht spezielle Frage. Und zwar habe ich zwei PFC200 (750-8214 bzw. 750-8204) und möchte diese Daten synchronisieren lassen.
Ich möchte dies jedoch nicht über ModBus, OPC o.ä. tun, sondern am besten z.B. über einen festen Speicherbereich. Geht das?

Hintergrund:
Ich möchte die zwei PFC's redundant einsetzen und brauche hier eine ständige Synchronisation der Daten. Da auf beiden PFC's das komplett identische Programm läuft, aber immer nur eins der beiden Systeme meine E/A's steuert, muss ich im Falle einer Umschaltung gewährleisten, dass das neue System stoßfrei übernehmen kann. Somit muss ich alle wichtigen Prozesswerte aktualisieren/synchronisieren.

Meine Idee war nun, dass ich einen festen Speicherbereich reserviere (wäre ja dann der gleiche auf beiden PFC's), der zwischen den Systemen synchronisiert wird. Über z.B. ein Attribut möchte ich dann entsprechende Variablen in diesen Speicherbereich schieben. Dann müsste ich nur noch gewährleisten, dass immer nur der "Master" in den Bereich schreibt und der "Slave" aus diesem Bereich liest. Ist sowas möglich? Geht sowas mit z.B. shared memory?

Ich weiß, dass es ein Redundancy-toolkit von CoDeSys gibt, jedoch passt das nicht ganz zu meiner Anwendung. Ich habe nicht nur die SPS redundant, sondern auch die I/O's, die direkt über den KBus an der jeweiligen SPS hängen. Soweit ich das verstanden habe, müsste ich mit dem toolkit aber beide I/O-Stränge in beiden PFC's anlegen. Außerdem wird nur beim Start der Anwendung einmal synchronisiert (außer TON, TOF etc) und die Programme laufen dann zeitgleich los, was bedeutet, dass z.B. Variablen, die ich über die WebVisu verändere, nicht synchronisiert sind => somit würden die beiden Systeme unterschiedlich weiter laufen => nicht sicher, dass es eine stoßfreie Umschaltung gibt.

Wäre schön, wenn es so eine Möglichkeit mit dem Speicherbereich gibt. Weiß da jemand was?

Gruß

Chris