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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mittlerweile gibt es eine neue Bibliothek als Quelle, (V20);
https://support.industry.siemens.co...n-user-communication-(lcomred)?dti=0&lc=de-DE

Mit diese Baustein habe ich die Kommunikation zwischen die 3 H-Stationen am laufen.
Geschwindigkeit, oder wie der Baustein intern wie und was macht ist mir zweitranhig.
Sie ist stabil und baut nach komplette Abruch auch wieder die verbindung auf.

Um bei komplett Abruch (Stop H-System) die Verbindung auf zu bauen muss eine Positive Flanke am Enable kommen, und true bleiben.

Das mach ich einerseits durch ein reset und anderseits duch ein auto reset.
Möglich bau ich dies noch um.
Die Auto Reset brauche ich um eine selbständige Verbindungsaufbau zu machen nach ausfall des MRP Rings zwischen die Anlagen. (Umschaltung der Ring. Die Baustein reagiert darauf kurz mit connectionvalid auf false.




RedConn.png
 
das "enable" ist scheinbar eher ein "REQ"??? Warum hast Du da keinen Taktmerker dran. oder funktioniert das bei dem Baustein wieder anders als sonst?
 
Zurück
Oben