TIA Redundante Open User Communication

Zuviel Werbung?
-> Hier kostenlos registrieren
Das hört sich gut an.
Dies kann ich testweise auch paralell zur jetzige Verbindung testen.
Ich habe da mal was einfaches gemacht. Nur um die Stabilität zu testen. Kann man noch stark optimieren.
Im Anhang ist der Baustein. Läuft auf zwei 1517H und einer 1515

Ich kommuniziere jetzt immer komplett über die Aufgebauten Verbindungen. Ist ja nicht weiter tragisch, man könnte die Redundanten Verbindungen aber z.B. Runtertakten um Zykluszeit zu sparen.
Bedenke die VerbindungsID ist nur die Lokale seite, auf der Remote kann man die anders Nummerieren. Es wird immer die angegebene ID verwendet plus 3 zusätzliche darauffolgende Nummern.
Aufgerufen wird er wie folgt. Auf der H Steuerung
Code:
#Com_H_Steuerung(enable := true, //  zur Kommunikation zur zweiten H Steuerung
                TSEL := 'H_Steuerung',
                Interface_1 := "Local1~PROFINET-Schnittstelle_2",
                Interface_2 := "Local2~PROFINET-Schnittstelle_2",
                remote_IP_1 := '192.168.10.22',
                remote_IP_2 := '192.168.10.32',
                ActiveCon := true,
                VerbID := 100,
                LocH := TRUE,
                RemH := TRUE,
                SendData := "Datenübertragung"."H_Master->H_Slave",
                RecvData := "Datenübertragung"."H_Master<-H_Slave");

#Com_Standard(enable:=true, //  zur Kommunikation zu einer Standardsteuerung
              TSEL := 'Standard',
              Interface_1 := "Local1~PROFINET-Schnittstelle_2",
              Interface_2 := "Local2~PROFINET-Schnittstelle_2",
              remote_IP_1 := '192.168.10.41',
              ActiveCon := true,
              VerbID := 105,
              LocH:=true,
              RemH:=false,
              SendData := "Datenübertragung"."H_Master->Standard",
              RecvData := "Datenübertragung"."H_Master<-Standard");

In der zweiten H Steuerung
Code:
#Com_H_Steuerung(enable:=true,
                TSEL := 'H_Steuerung',
                Interface_1 := "Local1~PROFINET-Schnittstelle_2",
                Interface_2:="Local2~PROFINET-Schnittstelle_2",
                remote_IP_1 := '192.168.10.13',
                remote_IP_2 := '192.168.10.24',
                ActiveCon := false,
                VerbID := 100,
                LocH:=true,
                RemH:=true,
                SendData := "Datenübertragung"."H_Master<-H_Slave",
                RecvData := "Datenübertragung"."H_Master->H_Slave");

In der Standardsteuerung
Code:
#Com_Standard(enable:=true,
                TSEL := 'Standard',
                Interface_1 := "Local~PROFINET-Schnittstelle_2",
                remote_IP_1 := '192.168.10.13',
                remote_IP_2 := '192.168.10.24',
                ActiveCon := false,
                VerbID := 100,
                LocH:=false,
                RemH:=true,
                SendData := "Datenübertragung"."H_Master<-Standard",
                RecvData := "Datenübertragung"."H_Master->Standard");

Edit: Quellfile Hauptbaustein Schnittstelle noch mit etwas Prosa ausgestatttet
 

Anhänge

Zuletzt bearbeitet:
Achja das ding ist natürlich nicht auf H-Steuerungen beschränkt. Eigentlich kann man so jede Steuerung über redundante Verbindungen verknüpfen. die Ports müssen sich einfach alle erreichen können.
 
Zurück
Oben