Kommunikationsprobleme S7 417-4 und 317-4

steppenwolf

Level-1
Beiträge
47
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen!

Ich sollte zusammen mit einem amerikanischen Kollegen eine Liniensteuerung in Betrieb nehmen.

Im großen und ganzen funktioniert die ganze Sache recht gut.

Kommunikation über Industrial Ethernet und Profibus arbeitet einwandfrei und wir können von jedem beliebigen Punkt in der Linie auf jede CPUs zugreifen, ändern, online beobachten usw...

Verbaut ist eine 417-4 mit neuester Firmware, sowie mehrere 317-4er ebenfalls neueste Version. Teilwseise sind sie mit 343 CPs ausgestattet, teilweise haben sie die Kommunikation mit in der CPU verbaut. Des weiteren ein SIMATIC Field PG M V5.4 SP2 mit allen HW Updates.:ROFLMAO:

Nun zum Problem:

Wir wollen aus den verschiedenen CPUs Status DB mit dem Betriebszustand, Fehlercode usw. auslesen. Insgesamt wollen wir 15 Wörter (30Byte) von jeder CPU auslesen.Ausgelesen werden: Ein Heartbeat (einziger bool), mehere Status Wörter und einige Reserve Wörter. Reserve deshalb, weil die Anlage noch nicht fertig ist, und der Kunde evtl. noch den einen oder anderen Status Visualisieren möchte.

Zum auslesen verwenden wir die PUT (FB15) und GET (FB14) Bausteine aus der stdlib. Die Einstellungen (Subnet, IP, Slot Nummer usw) stimmen auf jeden Fall. Leider haben wir in den besagten DBs kein Signal. Nicht einmal der Heartbeatbit wird erreicht. Als Error Status bekommen wir die Nummern 1, 19 und b!!!!

1 ist klar und wurde auch behoben. aber 19 und b????? und das an FB14 und 15???:confused:

haben auch schon SFB14 und SFB15 probiert. Jedoch nur mit einer Adresse und einem Ziel, hat aber auch nicht funktioniert. Übrigens in die Gegenrichtung (von der 417er zu einer der 317er), was wir auch programmieren sollten, funktioniert es auch nicht.:twisted:


So, jetzt habe ich euch mein Problem lang und breit erklärt, und hoffentlich auch ausführlich genug.

Falls jemand noch Fragen hat, einfach posten. Lösungsvorschläge werden natürlich auch sehr gerne entgegengenommen.

Ich danke soweit im Voraus und verbleibe soweit

Mfg

Flo

PS: Bin nur normaler Elektriker mit beschränkten SPS Kentnissen. Deshalb fehlt hier oder da vielleicht die eine oder andere Information die für die Lösung dieses Problems noch erforderlich wäre. Wenn ja, einfach posten.
Und Danke nochmal im Voraus für Lösungsvorschläge, wir sind mit unserem Latein am 0Bit angelangt...
 
Wen ich das richtig verstehe wurde im Netpro eine TCP/IP Verbindung
projektiert?.
Falls das der Fall sein sollte, würde ich die Datenverbindung mit
FC5 und FC6 aufbauen. Da gibt es hier im Forum mit der Suchfunktion
etliche Beiträge. Oder hier habe ich mal was als Anhang:


MFG
Bitverbieger
 

Anhänge

  • e01.pdf
    994,4 KB · Aufrufe: 42
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Danke für die pdf.

Konnten das problem in der TZwischenzeit mit Hilfe stundenlangen rumprobierens lösen!

was wirklich der grund war für dieses problem kann ich nicht einmal sagen, da wir rein gar nichts verändert haben.

das einzige was wir gemacht haben ist die 417er mehrmals urzulöschen und das programm neu downloaden! warum das gasnze nicht gefunzt hat bleibt wohl immer ein geheimnis.

danke trotzdem für die pdf. ist immer nützlich ,-)

Grüsse

Flo
 
Kann es sein, dass die CPUs sehr kurze Zykluszeiten haben? Dann kann es nämlich passieren, dass für die Kommunikation zu wenig Zeit bleibt.

Standardmäßig ist die maximale Zykluszeitbelastung durch Kommunikation (einstellbar in den CPU-Eigenschaften) auf 20% eingestellt. Das bedeutet z.B. bei eine normalen CPU-Zykluszeit von 4ms, dass Kommunikationsaufträge die Zykluszeit um maximal 0,8 ms erhöhen dürfen. Der Wert ann maximal auf 50% erhöht werden. - dies würde in meinem Beispiel eine maximale Verlängerung der Zykluszeit um 2ms erlauben.

Äußern tut sich dieses Problem dadurch, dass manche Kommunikatiosnaufträge sporadisch nicht mehr funktionieren - oder einfach gar nicht. Ich hatte es schon bei Touch-Panels, dass von eine Taste beim Ereignis "Drücken" das zugeordnete Bit gesetzt wurde, beim Ereignis "Loslassen" das zugehörige Bit aber nicht mehr abgelöscht wurde (besonders lästig bei Handfunktionen).
Bei diesen Anlagen lief sehr viel Kommunikation über CP343, zusätzlich war an jeder CPU ein MP370 und eine WinCC-Station.


Dieses Problem tritt vor allem dann auf, wenn eine CPU sehr viele Kommunikatiosnaufträge verarbeiten muss, aber sonst kaum zyklisches Programm abarbeiten muss.


Anhilfe schafft i.d.R. das Erhöhen der Einstellung "maximale Zykluszeitbelastung durch Kommunikation" - Achtung: dadurch kann sich die Zykluszeit stark erhöhen.
Bei sehr schnellen CPUs hilft hier zum Teil auch, die CPU bewusst zu bremsen (mit SFC47) - dadurch wird die normale Zykluszeit erhöht, und somit auch die maximale Rechenzeit für Kommunikation.



Die tatsache, dass durch mehrmaliges Urlöschen das ganze plötzlich funktionierte, deutet aber nicht zwingend auf das von mir beschriebene Phänomen hin.


mfg
Maxl
 
Zurück
Oben