Step 7 Kommunikation unterschiedliche Steuerungen

Spencer

Level-2
Beiträge
84
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen :),

ich habe mal eine allgemeine Frage (wenn man die denn überhaupt allgemein Beantworten kann).

Wie funktioniert das mit der Kommunikation unterschiedlicher Steuerungen untereinander. Wir haben z.B. bei uns in der Firma an mehreren Anlagen S7-Steuerungen von Siemens verbaut und dann noch eine eigene Steuerung des Maschinenherstellers. In der S7 werden Signale in einen bestimmten DB geschrieben und darauf greift ja dann (vermutlich) die Fremdsteuerung zu, bzw. darüber findet der Signalaustausch statt. Meine Frage ist, wie findet dieser Zugriff statt. Muss man da mit bestimmten SFC's/SFB's arbeiten, oder wird nur in der Fremdsteuerung definiert auf welchen DB sie zugreifen muss. Ich habe öfter das Problem, dass in der S7 ein Signal in einem DB gespeichert wird und ich nicht weiß, wie ich jetzt den "Querverweis" zu der Fremdsteuerung finden soll, bzw. wo dort das Signal weiterverarbeitet wird. Das gleiche gilt auch für zwei S7-Steuerungen, die mit DB's als Datenaustausch arbeiten. Ich finde im Programm nicht den Teil, wo die Daten übergeben werden, damit ich in der anderen Steuerung dann weitersuchen kann.

Danke schonmal für die Hilfe :)

Gruß
Spencer
 
Ich habe öfter das Problem, dass in der S7 ein Signal in einem DB gespeichert wird und ich nicht weiß, wie ich jetzt den "Querverweis" zu der Fremdsteuerung finden soll, bzw. wo dort das Signal weiterverarbeitet wird. Das gleiche gilt auch für zwei S7-Steuerungen, die mit DB's als Datenaustausch arbeiten. Ich finde im Programm nicht den Teil, wo die Daten übergeben werden, damit ich in der anderen Steuerung dann weitersuchen kann.
Keinerlei Kommentare zu dem Thema zu finden? Keine "verräterische" symbolische Namen? Keine Dokumentation? Niemand in der Firma, der etwas weiss? Sind bei den verbundenen Steuerungen identische DatenStrukturen zu finden? Ist überhaupt bekannt, warum Daten ausgetauscht werden und welche?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Heinileini,

nein, in der Firma weiß das leider auch keiner. Die beschriebenen Datenbits in den DB's werden bei den Referenzdaten auch nur einmal aufgelistet; und zwar dort, wo sie geschrieben werden.
Die Daten werden ausgetauscht, weil die HMI offensichtlich was eigenes von dem Maschinenhersteller ist. Wenn dort eine Fehlermeldung auftaucht, kann ich nicht rückwarts schauen, welches Bit dafür zuständig ist, außer ich sehe es zufällig in dem Symbolkommentar, sofern der vorhanden ist.

Gruß
Spencer
 
Zuletzt bearbeitet:
Wenn dort eine Fehlermeldung auftaucht, kann ich nicht rückwarts schauen, welches Bit dafür zuständig ist, ...
Du kannst nicht schauen. Fehlermeldungen, die keinerlei Info über die Ursache/Herkunft beinhalten, dürften aber recht nutzlos sein.
Gibt es da irgendwo eine Liste der Fehlermeldungen, in der man nachsehen kann, welche Meldung von welcher Steuerung kommt und wodurch sie ausgelöst wird?
 
Ich formuliere es mal so... Ich hatte in der Vergangenheit eine Fehlermeldung, wo ich nur eine Nummer angezeigt bekommen habe und keinen Text. Offensichtlich ein Fehler in der HMI-Fehlerliste. Und die DB's waren in der S7 nicht mit Kommentaren versehen. Wodurch es sich ziemlich schwierig gestaltete, die Ursache rauszufinden :).
Meine ursprüngliche Frage lautet daher: Wie greifen Fremdsteuerungen auf S7 DB's zu. Muss man in der S7 dazu etwas programmieren? Also sowas wie "send" oder "recieve", damit die Daten überhaupt bei der Fremdsteuerung ankommen und umgekehrt?

P.S.: Wir sind kein Maschinenhersteller, sondern lediglich Kunde. Und ich versuche mich halt irgendwie durchs Programm zu hangeln :).

Gruß
Spencer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meine ursprüngliche Frage lautet daher: Wie greifen Fremdsteuerungen auf S7 DB's zu. Muss man in der S7 dazu etwas programmieren? Also sowas wie "send" oder "recieve", damit die Daten überhaupt bei der Fremdsteuerung ankommen und umgekehrt?
Darauf bin ich bisher ganz bewusst nicht eingegangen, weil ich darüber kaum DetailWissen habe. ;)
Ich spekuliere darauf, dass sich hier noch kompetente Mitleser zu Wort melden werden!
 
HMI-Kommunikation und PUT/GET-Kommunikation laufen ohne Zutun des SPS-Anwenderprogramms direkt in der Firmware der S7-CPUen ab. Deshalb findet man bei solcher Kommunikation keine Aufrufe von Kommunikations-Bausteinen. Da ist es wichtig, daß durch Symbolnamen und Kommentare die Datenbereiche/Datenschnittstellen für die Kommunikation dokumentiert werden. Die Fremdsysteme müssen nur die Datenadressen wissen und können direkt auf diese Adressen zugreifen. Welche S7-CPUs hast Du?

Wie ist Deine SPS mit den Fremdsteuerungen vernetzt? Falls per Ethernet, dann könntest Du mit z.B. WireShark mitlesen, auf welche Datenadressen die Fremdsysteme zugreifen. Wenn Du alle Vernetzung unterbrichst, dann wird mit etwas Glück eventuell auf den Fremdsystemen angezeigt, zu welchen Datenadressen der Zugriff fehlschlägt.

Oder Du hast die SPS-Projekte oder HMI-Projekte der Fremdsysteme, da könntest Du in der Projektierung nachschauen.

Harald
 
Ich müsste morgen mal nachschauen, was da genau verbaut ist. Aber sowas in die Richtung habe ich mir schon gedacht. Ist immer sehr umständlich, nachzuforschen, wie der Datenaustausch stattfindet :).
Aber Danke erstmal für die Antworten :)

Gruß
Spencer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Spencer,

Du schreibst von mehreren Steuerungen... Steht denn fest, welche Steuerung mit welcher Steuerung kommuniziert?
Sind von der Maschinenhersteller-Steuerung die Programme vorhanden? Um welche Art Steuerung handelt es sich?

Wie Harald schon schreibt: Es kann über Put/Get direkt geschrieben werden. Es spricht aber ja auch nichts dagegen, daß die über einen Bus koordiniert sind und Du die ggf. auch in der Vernetzung findest.

Über Put/Get hättest Du natürlich keine Möglichkeit, das nachzuvollziehen, außer, Du hast auch das Fremd-Programm und kannst dort nach den zu sendenden Daten suchen.

Da die Daten aber ja vermutlich fortlaufendem in dem Empfangs-DB liegen, kannst Du anhand der Nummer (die anderen Fehler haben ja vermutlich auch Nummern) das Bit ggf. rausfinden und kannst zumindest das dann schonmal im DB identifizieren.

Gruß
Jens
 
Zurück
Oben