TIA Verbindung von 3 S7-12xx

risingStar

Level-1
Beiträge
16
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Schönen guten Morgen,
ich verzweifle mit der Verbindung von 3 Stk S7-12xx. Die S7-1214C soll ein DWord und ein Byte an die S7-1212C mittels PUT senden. Beim error bekomme ich immer eine 1, dass die Verbindung nicht funktioniert. In den Steuerungen ist das PUT/GET Häkchen gesetzt. Die 1214 hat als Verbindungs-ID 100, die 1212 E-Verteiler die Verb-ID 101 und die Red-Stat die 102.
Hat jemand eine Ahnung, was ich falsch mache?
Friedrich
 

Anhänge

  • Verbindung1.pdf
    388,6 KB · Aufrufe: 17
Die Hardware Konfig ist übersetzt und in die SPS geladen?
Ist der Ziel-DB in der anderen SPS auf Standard-Zugriff?
Ist die Ziel-SPS eingeschaltet? Kann Dein TIA mit der anderen SPS online gehen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hardwarekonfiguration wurde erfolgreich geladen kommt im TIA V18.1 bei allen S7 nach dem Laden.
Bei allen Steuerungen ist der Empfangs-DB und Sende-DB auf nicht optimiert eingestellt.
Alle SPS sind im RUN Modus und arbeiten soweit korrekt. Alle sind über das TIA erreichbar und Daten und Zustände können beobachtet werden.

Ich habe den Reqest beim Sendebaustein jetzt mit #done geschaltet, bringt aber auch nichts. Error nach wie vor 1 und Status 0.
 
Sind die CPUs alle im selben IP-Subnetz? Anstatt dem unsicheren (und unschönen) PUT/GET könntest Du Profinet-IO-Kommunikation projektieren. Eine CPU wird Profinet-IO-Controller (entspricht Master) und die anderen CPUs werden Profinet-IO-Device (iDevice, entspricht Slave). Da brauchst Du nur die Transferbereiche projektieren und für die Kommunikation keine Kommunikationsbausteine aufrufen. Verbindungsaufbau und Datenaustausch macht das Betriebssystem der CPUs selbständig.

Für PUT/GET: gibt es in dem TIA V18.x evtl. wieder mal neue Kommunikations-Security? Ist vielleicht (sämtliche) Kommunikation erstmal verboten und nur mit CPU-Passwort freischaltbar/verbindbar? Sind die Uhren aller CPUs (halbwegs) korrekt gestellt?
PS: gibt es für die DB oder DB-Variablen Attribute, die aktiviert werden müssen, damit auf die DB-Variablen über Kommunikation zugegriffen werden darf/kann (ala "Erreichbar aus HMI/OPC/... ") und sind die freigegeben?

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@ DeltaMikeAir: TIA Portal Version 18 update 1

@harald: Danke mal für die Hilfe. werde mich mit der alterativen Verbindungsmethode erst beschäftigen müssen.
- Zur Sicherheit habe ich die Uhren überprüft, wichen um 6 Minuten von der Rechnerzeit ab. Nach der Synchronisation hat sich aber auch nichts geändert.
- Passwörter habe ich in der Security keine vergeben. Werde ich noch einmal mit PW versuchen.
- Die Sendedaten haben ein Häkchen bei Erreichbar aus HMI/OPC UA/Web API.
- In den Attributen der DBs hätte ich auch nichts gefunden, was nach Kommunikation klingt.
- Subnetz ist PN/IE_1 bei allen CPUs.
 
Hast Du die Hardware Konfig auch in die Partner SPS geladen?
Warum steht in Deiner S7-Verbindung "Partner Unbekannt"? Hast Du die S7-Verbindung nicht in der Netzsicht grafisch projektiert (aktivieren "Verbindungen" und "S7-Verbindung" und dann einfach die Verbindung zwischen den gewünschten SPS ziehen)?
Wie sehen die Adressdetails Deiner S7-Verbindung aus? Der häufigste Fehler: falscher oder nicht mit Partner übereinstimmender TSAP projektiert.
Welche SPS macht in der S7-Verbindung den aktiven Verbindungsaufbau?
 
Die Konfig wurde in alle Stationen geladen und alle mit der positiven Antwort.
Partner unbekannt habe ich aus einem Youtube Video, nachdem das mit dem Ziehen nicht funktioniert hat. Es soll sich die CPU dann auf die angegebene IP Adresse verbinden.
Ich habe jetzt nochmal alle Verbindungen gelöscht und durch Ziehen die Verbindung hergestellt. Unter den Eigenschaften der Verbindung steht:
Lokal ist die CPU E-Verteiler und Partner die RRM CPU. Bei der Schnittstelle steht bei beiden der Name und danach Profinet..... der Typ ist jeweils Ethernet und Subnetz PN/IE_1 und danach die von mir vergebenen IP-Adressen. Die Lokale ID (hex) ist 100 und unter lokaler Endpunkt ist der aktive Verbindungsaufbau angehakt. Unter Adressdetails steht bei Lokal und Partner die jeweiligen CPUs mit Namen und unter TSAP bei beiden SIMATIC-ACC 10001 und Subnetz8002-0001.
Öffne ich in der Partner CPU (RRM) den PUT-Baustein, dann ist beim kleinen Werkzeugkasten unter Verbindung jetzt
Lokal die RRM CPU und als Partner die CPU E-Verteiler - also vertauscht, Subnetz bei beiden Ethernet und Subnetz-Name PN/IE_1 gefolgt von den IP Adressen. Die Lokale Verbindungs-ID 100 und der Verbindungsname S7_Verbindung_2. Aktiver Verbindungsaufbau ist nicht angehakt.
Beim Übersetzen kommt kein Fehler. Beide CPUs mit erweitertem Laden geladen - keine Fehler beim Übersetzen.
Im Modus RUN kommt ein Fehler bei der RRM CPU - Error blinkt rot. Im Diagnosepuffer steht: Fehler beim Partner - Falscher Partner-Port.

Nachdem ich jetzt in die entgegengesetzte Richtung sende (PUT vom Partner bei der Verbindungserstellung) wie die Ziehrichtung bei der Verbindungserstellung war, könnte das der Fehler sein? Kann ich nur in der Richtung senden, wie die Ziehrichtung bei der Verbindungserstellung war?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Beim Erstellen der S7-Verbindung per Ziehen wird vom TIA offensichtlich eine beidseitig projektierte Verbindung erstellt, so daß beide Partner senden können, also PUT und GET aufrufen. Üblicherweise macht PUT und GET aber nur eine SPS, und diese sollte dann sinnvollerweise auch den aktiven Verbindungsaufbau machen. Welcher Partner den Verbindungsaufbau macht, kann man auch nachträglich noch ändern/festlegen in der Projektierung seiner Seite der S7-Verbindung in "Besondere Verbindungseigenschaften". (siehe Bild)
Wenn man eine S7-Verbindung zu einem unbekannten Partner projektiert, dann kann das auch eine "Einseitig" projektierte Verbindung sein, und da kann nur der aktive Partner die Verbindung aufbauen. (ich weiß aber nicht genau wie das geht, bei S7-1200/1500 mache ich keine S7-Verbindungen) Bei den einseitig projektierten Verbindungen muß man alle Partner-Adressdetails (IP, Rack, Steckplatz, TSAP) händisch eingeben und kann deshalb Fehler machen (meist beim TSAP).

Im Modus RUN kommt ein Fehler bei der RRM CPU - Error blinkt rot. Im Diagnosepuffer steht: Fehler beim Partner - Falscher Partner-Port.
Hast Du die geänderte Verbindungsprojektierung nur in eine SPS geladen? Es müssen beide Partner geladen werden.
Ansonsten dürfte das nicht passieren. Es ist ja gerade der Vorteil bei der grafischen Verbindungserstellung per Ziehen zwischen den Partnern, daß da keine Verbindungsdetails falsch sein können, weil man die gar nicht händisch eingeben muß und auch nicht kann - TIA macht ja alles selbst.
Hilft es, wenn Du den "aktiven Verbindungsaufbau" in der Verbindung beim Partner aktivierst und das PUT/GET im Partner machst?
Oder ist hier ein Bug in Deinem TIA V18?

Hier aber nochmal der Tip: Projektiere Profinet-IO-Kommunikation, da wärst Du vermutlich schon fertig.
Anstatt dem unsicheren (und unschönen) PUT/GET könntest Du Profinet-IO-Kommunikation projektieren. Eine CPU wird Profinet-IO-Controller (entspricht Master) und die anderen CPUs werden Profinet-IO-Device (iDevice, entspricht Slave). Da brauchst Du nur die Transferbereiche projektieren und für die Kommunikation keine Kommunikationsbausteine aufrufen. Verbindungsaufbau und Datenaustausch macht das Betriebssystem der CPUs selbständig.
 

Anhänge

  • S7-Verbindung.png
    S7-Verbindung.png
    61,2 KB · Aufrufe: 20
Zuletzt bearbeitet:
Nach Änderung an der Verbindung lade ich immer beide Steuerungen mit erweitertem Laden.
Was ich in deinem Bild nicht verstehe, ist, dass alle ID's immer 100 sind. Ich war der Meinung, dass jede CPU eine eigene ID benötigt.
Aus meinem WIFI Kurs kenne ich nur die S7-Verbindung und habe damit auch schon ein funktionieredes Projekt gemacht (E-Verteiler--Red-Stat). Erst nachdem ich das Ganze um die RRM erweitert habe, funktioniert das nicht mehr. Evtl. liegt's doch am Upd 1 von TIA.
 
Was ich in deinem Bild nicht verstehe, ist, dass alle ID's immer 100 sind. Ich war der Meinung, dass jede CPU eine eigene ID benötigt.
Das ist mehr oder weniger ein "glücklicher" Zufall. Beim Anlegen neuer S7-Verbindungen werden die IDs für Lokal und den Partner getrennt ab 100 hex durchnummeriert. Weil in meinem "frischen" Testprojekt für beide CPU noch keine S7-Verbindung projektiert war, hat die neu angelegte Verbindung bei beiden Partnern den Name "S7_Verbindung_1" und die ID 100 hex erhalten. Den Name und die ID jeder Verbindung kann man für jeden Partner getrennt nachträglich noch ändern (z.B. wenn man sinnvollere "sprechende"/merkbare Namen haben möchte und wenn man Lust dazu hat). Die Verbindungsnamen und die ID einer Verbindung müssen nicht auf beiden Seiten gleich sein, sie müssen nur je CPU einmalig sein. Jeder Partner hat seine eigene Liste der Verbindungen mit eigenen Verbindungsnamen und eigenen ID.

Angenommen CPU A braucht Verbindungen zu 2 anderen CPU B und CPU C, da würde man z.B. zuerst die Verbindung CPU A zu CPU B anlegen und dann die Verbindung CPU A zu CPU C. Dann vergibt TIA für die zweite Verbindung einen Verbindungsname, den es in beiden CPU noch nicht gibt und je CPU die nächsthöhere ID, hier also in CPU A den Name "S7_Verbindung_2" und die ID 101 und in CPU C den Name "S7_Verbindung_2" und die ID 100. Man könnte nun z.B. den Verbindungsname auf beiden Seiten ändern zu "S7_Verb_A_zu_C" und die ID auf beiden Seiten zu 102.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich das richtig verstanden habe, dann bezieht sich die ID auf die Verbindung. Unter den Verbindungsdetails ändert sich mit einer andern ID auch der TSAP Eintrag.
Ich habe jetzt meine Verbindungen wie im Anhang konfiguriert. Der TSAP Eintrag ist bei den jeweiligen Verbindungen gleich. Ich bekomme allerdings bei zwei CPU's einen roten Schraubenschlüssel. Fahre ich diesen mit der Maus an, kommt ein gelbes Popup mit der Meldung "Fehler in unterlagerter Komponente". Beim Laden in die CPU's gibt es keinen Fehler. Selber Text steht auch im Diagnosestatus. Im Diagnosepuffer steht nur CPU wechselt von Anlauf in Run.
 

Anhänge

  • Verbindung2.pdf
    254,1 KB · Aufrufe: 6
Wenn ich das richtig verstanden habe, dann bezieht sich die ID auf die Verbindung.
Richtig. Beim Aufruf von PUT oder GET muß man ja angeben, zu/von welcher Remote-CPU man putten/getten will. Da gibt man die ID der Verbindung an (sozusagen ein Handle). (in Step7 classic kann man einen Rechtsmausklick auf den PUT/GET-Aufruf machen und die Verbindung aus der Liste der projektierten Verbindungen auswählen. Ob und wie sowas in TIA geht, weiß ich jetzt nicht)

Ich bekomme allerdings bei zwei CPU's einen roten Schraubenschlüssel.
Welche Firmware-Versionen haben die CPUs? Vielleicht gibt es eine neuere Firmwareversion, wo das Problem nicht mehr auftritt?
Ansonsten befrage mal den Siemens Support zu dem Problem.

Harald
 
Hallo Harald,
danke für deine HIlfe und Geduld. Es ist mir Einiges klarer geworden. Meine CPU's haben alle die Firmware 4.6, müssten daher aktuell sein.

LG Friedrich
 
Hallo Friedrich,
schön daß es nun geht.
Werkseinstellungen - kannte ich noch gar nicht. Was es nicht alles gibt...
Harald
 
Zurück
Oben