Gegenseitige Überwachung von zwei Controllern

spec

Level-1
Beiträge
21
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich hab hier zwei Wago Controllern 880 und zwei Koppler mit I/O Klemmen. Alle sind mit einander über das Modbus TCP verbunden (Konfiguration über das WAGO-Modbus-Konfigurator). Jetzt habe ich gemacht, dass die beiden Controllern sich gegenseitig "Überwachen" und bei Ausfall z.B. von Controller_1 übernimmt Controller_2 die Arbeit. Ich hab das so gelöst in dem ich "MBCFG_Error=> ," auswerte. Beispiel bei Ausfall von Controller_1 gibt mir "MBCFG_Error=> iError" ein Fehlercode von 129.

Code:
IF Error = 129 THEN;
    T1(IN:= NOT xError , PT:= T#25ms, Q=> xError, ET=> );
END_IF;

Dann wird das Programm von Controller_1 in Tastkonfiguration von Controller_2 Ereignisgesteuert bei xError = TRUE abgerufen und abgearbeitet. Meine Frage ist kann man das so lösen oder gibt es andere Möglichkeiten?

Und was ich noch fragen wollte, kann mir jmd eine Seite verlinken wo die ganzen Error Codes stehen? Ich hab bis jetzt herausgefunden:

129 = ModbusSlave nicht erreichbar.
4 = K-Bus Fehler im ModbusSlave.


mfg
 
Bei den Errorcodes schau mal in den Bibliotheken nach meistens sind dort entsprechende Kommentare hinterlegt.

Du solltest sicherstellen, dass es nur einen Master gibt der mit den Slaves kommuniziert. Ich denke eine normale Task mit einer sinnvollen gegenseitigen Verriegelung für den Masterbaustein würde Sinn machen.
Die Master sollten z.B. nicht sofort nach einem Neustart los rennen :)

Gruß
Lord2k3

„If you always do what you’ve always done, you’ll always get what you’ve always got.“
„Wer immer tut, was er schon kann, bleibt immer das, was er schon ist.“
Henry Ford
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich oute mich, wie immer bei diesem Thema, als Skeptiker was selbstgebaute Redundanzlösungen betrifft.

Üblicherweise sind redundate SPS Systeme über einen eigenen HW Kanal verbunden der HW seitig autonom ist und dazu dient festzustellen was wirklich der Fehler ist. Sollte das nicht der Fall sein (in der IT z.B. beim SQL Server) dann wird mit einem Drittsystem, einem s.g. Witness (Zeugen) gearbeitet.

Denn in deiner Lösung hast du immer das Problem: Wenn einer mitbekommt dass der andere nichts tut, ist der andere kaputt oder ist der "Überwacher" selber kaputt?
 
Danke für die Antwort :)

Ich hab schon einige Dokumentation von Libs angeguckt und hab keine passende error cods gefunden, es fehlen immer 129 und 4.:confused: Muss woll bei Wago anrufen.

Was meinst du mit Masterbaustein, den Baustein der von Modbus Konfigurator generiert wird?

mfg
 
Hallo spec,

die Fehlercodes findest Du in der Bibliothek Wago_MBCFG_COMMON_01.lib.
Diese wird vom Modbus Master Konfigurator automatisch angezogen und ist im Reiter Ressourcen/Bibliotheksverwalter zu finden. Im Datentyp MBCFG_eERROR ist die Enumeration der Fehlercodes zu finden.

Der vom Modbus Master Konfigurator generierte Code ist für eine zyklische Kommunikation gedacht. Diesen generierten Code nur bedingt aufzurufen könnte zu undefinierten Zuständen führen.
Hier ist es ratsamer den Baustein ETHERNET_MODBUSMASTER_TCP oder ETHERNET_MODBUSMASTER_UDP aus der Bibliotek WagoLibModbus_IP_01.lib zu nutzen. Der Anwendungshinweis A300003 zeigt die Verwendung dieser Bibliothek.
http://www.wago.de/suche/index.jsp?...dium=forum&utm_content=sps-forum&utm_term=APN

Trotzdem ist diese Lösung nicht mit einem echten redundanten System zu vergleichen.

Viele Grüße
 
Zuletzt bearbeitet von einem Moderator:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Anwort.

Ich hab die Bibliothek Wago_MBCFG_COMMON_01.lib gefunden aber wenn ich es herunterlade kann ich es nicht öffnen und das liegt nicht am winrar. Die Datei scheint selbst Fehler zu enthalten.

mfg
 
Schau mal in deinem bibliotheken ordner, dort sollte sie schon vorhanden sein. Diese musst du dann in codesys hinzufügen.
In dem anwendungshinweis ist es gut beschrieben, dort sind auch beispiele.
 
Hab alles gefunden danke. :)

Ich weiß nicht ob das hier rein passt aber ich hab wieder ein Problem. Und zwar ich mache in meine Firma eine Gebäudeautomatisierung mit Wago SPS. Ein kleiner Bereich ist aber noch das alte Beckhoff Koppler BK9000 und diese soll bleiben. Ich hab jetzt eine Modbus Kommunikation zwischen Wago (Master) und BK9000(Slave) aufgebaut, über das Modbus-Konfigurator. Digitale Eingänge und Digitale Ausgänge von dem Koppler bekomme ich gelesen und geschrieben und die Beckhoff Klemme KL3204 (Für PT100, zwei Draht System) kann auch gelesen werden. Nur bei KL3202 (PT100 drei Draht System) und bei KL3454 (4-24mA, für Lichtsensoren) gibt es Probleme, die kann ich nicht lesen bzw irgendwie finde ich die nicht. Kann es sein das man nicht alle Klemmen über Modbus lesen kann?? Oder könnte das an meine Adressierung liegen?

Ich hab das so Adressiert:
Code:
MBCFG_ModbusSlave(
    QX0_0:= ,     BOOL      (* Adresse 0, FC5 *)
    QX0_1:= ,     BOOL      (* Adresse 1, FC5 *)
    QX0_2:= ,     BOOL      (* Adresse 2, FC5 *)
    QX0_3:= ,     BOOL      (* Adresse 3, FC5 *)
    QX0_4:= ,     BOOL      (* Adresse 4, FC5 *)
    QX0_5:= ,     BOOL      (* Adresse 5, FC5 *)
    QX0_6:= ,     BOOL      (* Adresse 6, FC5 *)
    QX0_7:= ,     BOOL      (* Adresse 7, FC5 *)

    QX1_0:= ,     BOOL      (* Adresse 8, FC5 *)
    .
    .
    .
    QX16_5:= ,   BOOL      (* Adresse 133, FC5 *)
    QX16_6:= ,   BOOL      (* Adresse 134, FC5 *)
    QX16_7:= ,   BOOL      (* Adresse 135, FC5 *)

    IX0_0=> ,     BOOL      (* Adresse 0, FC2 *)
    IX0_1=> ,     BOOL      (* Adresse 1, FC2 *)
    .
    .
    .
    IX13_6=> ,    BOOL      (* Adresse 110, FC2 *)
    IX13_7=> ,    BOOL      (* Adresse 111, FC2 *)

    AnalogWerte1=> ,    WORD  (* Adresse 14, FC4 *)
    AnalogWerte2=> ,    WORD  (* Adresse 15, FC4 *)
    .
    .
    .

Wie gesagt kann DI/DOs lesen und schreiben sowie die KL3204 Klemmen aber nicht die Oben erwähnten Klemmen.



mfg
 
Zuletzt bearbeitet:
Ne hab kein ERROR gehabt, nur als ich mal anders adressiert hab kamm ERROR CODE 512 "MBCFG_INVALID_STARTBIT". Aber sonst funktioniert alles gut bis auf die Klemmen.

mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke nochmals für die Hilfe hab das Problem gelöst.
Eine Frage habe ich noch, warum können hier im Forum manche User eine Frage mit zwei Zeilen erklären und die Firmen kriegen das nicht mit 100 Seiten??


mfg
 
Zurück
Oben