TIA Extended Safety erhöht CPU Zykluszeit massiv

Stoky

Level-2
Beiträge
416
Reaktionspunkte
69
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen liebes Forum,

wir verwenden in unseren Anlagen eine CPU 1512SP F-1 (6ES7512-1SK01-0AB0) als Sicherheitssteuerung und eine Simotion D4x5-2 PN/DP für unsere Servoantriebe. In diesem konkreten Fall ist es eine Simotion D425-2 PN/DP, es könnten aber auch 435, 445 oder 455 sein. Das Verhalten lässt sich auch mit den anderen (größeren) Simotion Modellen reproduzieren. Die Simotion ist als IDEVICE mit der 1512 über Profinet verbunden. Software ist TIA V14 SP1 mit Scout 5.1.

Wir verwenden für die Achssicherheit Extended Safety. Auf der 1512 wird abhängig von der Betriebsart, Not-Halt, Schutztüren, etc. berechnet, ob die Achsen STO, SS1, SOS, SLS, etc. bekommen oder nicht. Dies wird dann per Telegramm 30 mittels der F-Proxy Funktion an die Simotion gesendet.

Die 1512 hat einen OB1 Takt von ca. 1,5ms, braucht aber für die Abarbeitung des Sicherheitsprogramms ziemlich lange. Ein normaler Safety Takt liegt schon bei ca. 8ms und springt sehr häufig hoch auf bis zu 19ms. Durch auskommentieren ist dabei aufgefallen, dass allein das Kopieren vom STAT Bereich des Safety FBs auf die Safetyausgänge (Profinet) für eine Achse (sicherer PLC Datentyp mit 2 Byte Länge (16 BOOLs)) die Zykluszeit um locker 1ms verlängert. Also 16 Bools beschreiben braucht mehr als 1ms. Wir haben in dieser Anlage 6 Servo Achsen.

Es wird noch schlimmer. Wenn Bei Neustart der Anlage die Simotion etwas länger braucht um hochzufahren, dann steigt die Zykluszeit der 1512 auf ganze 58ms! In diesem Fall finden sich im Diagnosepuffer Störmeldungen "IO Datenausfall an Hardware-Komponente" wegens des Ausfalls der 20 Byte E/A Kommunikation zwischen Simotion und 1512 (nicht Safety), sowie der 6 Achssafety Telegramme.


Wir müssen dieses Verhalten unbedingt wegbekommen, da das alle unsere Anlagen betrifft. Ich hoffe ihr könnt mir helfen!

Gruß Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist denn die Zykluszeit in diesem Moment ( Anlage fährt hoch ) so relevant?
Grundsätzlich nein, aber es führt halt zu einer Überschreitung der maximal zulässigen Zykluszeit. Das sorgt dafür, dass der OB80 aufgerufen wird und eine Störung kommt. Klar kann ich jetzt die Meldung auch unterdrücken, sofern die Simotion im Stop ist. Damit ließe sich leben. Mit den 1ms pro Achse kann ich allerdings nicht leben, wir haben Anlagen mit bis zu 100 Achsen...


Viele Anlagen davon haben ein Lichtgitter und brauchen daher entsprechend kurze Reaktionszeiten.
 
Grundsätzlich nein, aber es führt halt zu einer Überschreitung der maximal zulässigen Zykluszeit. Das sorgt dafür, dass der OB80 aufgerufen wird und eine Störung kommt.
Wäre es evtl. eine Möglichkeit, in den CPU Eigenschaften unter "Anlauf" die Parametrierungszeit zu erhöhen, so das die CPU länger auf die Simotion wartet, bevor sie in RUN übergeht?
Standard sind meine ich 60s.
 
Also das Problem beim Hochlauf bekommen wir abgefangen, hat denn noch irgendwer eine Idee was das Problem mir der unglaublich langen Zeit beim Beschreiben der Ausgänge angeht?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie habt ihr es abgefangen? Über die Parametrierungszeit?

Haben wir zunächst überlegt, diese greift allerdings nur beim Neustart der 1512, es gibt aber genug Fälle in denen nur die Simotion in Stop geht, da das dann diesen fiesen Folgefehler verursachen würde haben wir uns für die Meldungsunterdrückung entschieden. Also Meldung im OB80 nur setzen, wenn Simotion im RUN ist (das gibt es als Bit). Trotzdem war das ein sehr interessanter Einfall. Die Funktion hatte ich bisher nicht auf dem Schirm.
 
Liegt das evtl. einfach an der Hardware? 100 Achsen geht schwer an 1512...

Die Achsen hängen ja an der Simotion. Mit der Rechenleistung dafür hat die 1512 nichts zutun. Die 1512 ist lediglich für Betriebsarten und Safety zuständig. Das Standardprogramm ist relativ klein und hat vielleicht 20 FCs/FBs, da habe ich früher in die 315er deutlich größere Programme reingeladen. Das Sicherheitsprogramm ist mit 5 FBs und 2 FCs auch recht klein. Offensichtlich braucht die 1512 nur sehr, sehr lange um das Sicherheitsprogramm abzuarbeiten, insbesondere um sichere Ausgänge zu beschreiben. Wir haben zwischen 4 und 8 sichere Ausgänge an Ausgangskarten und dann 16 sichere Ausgänge pro Achse ans Profinet. Das finde ich jetzt ziemlich wenig. Da habe ich früher in der 315F bestimmt das zehnfache eingesetzt ohne eine signifikante Erhöhung der F-Zykluszeit zu bekommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von Siemens kam bisher wenig produktives, bis auf:
"Die Kommunikationslast ist in Ihrem Projekt auf 50 % eingestellt. Hier bietet es sich an diese auf 20% herabzusetzen. Somit steht mehr Zykluszeit für die Programmbearbeitung zur Verfügung."

Das könnte natürlich auch nach hinten losgehen, da die hohe Zykluszeit des Sicherheitsprogramms ja beim Beschreiben der sicheren Ausgänge passiert. Und wie ich vermute auf eine Reaktion gewartet wird. Leider kann ich das aktuell nicht testen.


Hat von euch sonst keiner mehr ne Idee?
 
Moin,
was man noch probieren könnte:
Anlegen einer Safety-UDT mit deinen 16-Bool. Im Stat-Bereich und als Mapping auf den Safety Ausgängen nutzt du diese UDT. Und beim Umkopieren der Statics auf die F-Ausgänge halt nicht die einzelnen Bits sondern die ganze UDT auf die Ausgänge moven.
MoveOnFOutputs.JPG
 
Moin,
was man noch probieren könnte:
Anlegen einer Safety-UDT mit deinen 16-Bool. Im Stat-Bereich und als Mapping auf den Safety Ausgängen nutzt du diese UDT. Und beim Umkopieren der Statics auf die F-Ausgänge halt nicht die einzelnen Bits sondern die ganze UDT auf die Ausgänge moven.

Hallo Howard, genau das mache ich schon. Für jeden MOVE mit den 16 Bools geht die Zykluszeit des Sicherheitsprogramms um mehr als 1ms hoch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Huch - sorry. Das habe ich überlesen. Dass das F-Programm nicht das schnellste ist, ist mir auch schon aufgefallen. Allerdings habe ich auch noch nie so viele F-IOs mit einer so kleinen SPS gesteuert (ich bin mir nicht sicher, ob man eine 1512 wirklich mit der von dir genannten 315 vergleichen kann). Andererseits Bremsen meine Achsen beim SS1 auch 2-3 Sekunden. Da spielt es dann auch nicht so sehr die Rolle, ob ein F-Zyklus 10 oder 20 oder 30 ms dauert - der Worst Case muss halt nur in der Validierung dokumentiert werden.
Du könntest jetzt noch untersuchen, ob der Move grundsätzlich so lange dauert oder doch ein einzelnes Kopieren der einzelnen Bits fixer ist. Vielleicht ist der F-Move ja einfach eine Bremse. :confused:
Zum Thema lange Hochlaufzeit eines Teilnehmers: Da hatte mir der Siemens-Techniker mal zu folgendem Haken geraten - vielleicht auch noch einen Versuch wert:
PriorisierterHochlauf.jpg
 
ich bin mir nicht sicher, ob man eine 1512 wirklich mit der von dir genannten 315 vergleichen kann).

Nein, kann man auch nicht. Bei ähnlichem Programm hätte die 315 eine Zykluszeit vom Anwenderprogramm von etwa 10ms gehabt, hier haben wir 1,5ms. Die Abarbeitungszeit des Sicherheitsprogramms hätte hingegen auf beiden Steuerungen ca. 10ms gebraucht. Was mich sehr verwirrt, wieso ist das Anwenderprogramm so viel schneller, das Sicherheitsprogramm hingegen nicht. Natürlich entspricht die 1512 nicht dem Nachfolgemodell der 315, aber die neuen Steuerungen können ja sehr viel mehr. Zudem ist die 1512 ja nun auch nicht ganz klein, schließlich sind alle 12xxer und die beiden 1510 und 1511 kleiner/langsamer. Erst alles ab 1513 ist schneller. Hat dafür den Vorteil die SP Baugruppen nehmen zu können, die kosten nur 1/3 von den normalen.


Andererseits Bremsen meine Achsen beim SS1 auch 2-3 Sekunden. Da spielt es dann auch nicht so sehr die Rolle, ob ein F-Zyklus 10 oder 20 oder 30 ms dauert - der Worst Case muss halt nur in der Validierung dokumentiert werden.

Genau. Bei uns ist aber ein Lichtgitter eingebaut. Die Reaktionszeit bestimmt den zulässigen Abstand zur Maschine. Und üblicherweise bekommt man von den Kunden nicht 2 Meter Abstand als Platz zugestanden. daher ist da irgendwo bei 20-25ms ne Grenze die wir nicht überschreiten dürfen.


Du könntest jetzt noch untersuchen, ob der Move grundsätzlich so lange dauert oder doch ein einzelnes Kopieren der einzelnen Bits fixer ist. Vielleicht ist der F-Move ja einfach eine Bremse. :confused:

Laut Siemens Support ist das Move so ok. Ich kanns aber leider grad nicht testen, da natürlich die Maschine schon ausgeliefert wurde. Safety ist halt ungeliebt und wird dann bis ganz an den Schluss verschoben, da muss ich wohl noch ein wenig Überzeugungsarbeit bei den Kollegen/Vorgesetzten leisten.

Zum Thema lange Hochlaufzeit eines Teilnehmers: Da hatte mir der Siemens-Techniker mal zu folgendem Haken geraten - vielleicht auch noch einen Versuch wert:

Mir sagt die Option irgendwas, aber bei meiner 1512 gibt es dieses Optionskästchen nicht. Zumindest habe ich das weder an der gleichen Stelle wie bei dir, noch sonstwo in den Eigenschaften der CPU gefunden.

PS: Der Kollege auf der Baustelle meldete gerade, dass es durch Ändern der Kommunikationlast von 50% auf 20% tatsächlich besser geworden sein soll. Siemens hatte noch einen wieteren Vorschlag und zwar die Priorität des Sicherheitsprogramms auf 17 zu erhöhen, da die Abarbeitung dann nicht mehr durch die Kommunikation untebrochen wird.


Vielen Dank für eure bisherigen Bemühungen! Hat noch wer Ideen?
 
Danke für die Infos - interessant mit der Kommunikationslast.
Der Haken sollte ggf. bei Devices zu finden sein - nicht bei der SPS selbst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hmm, schwer jetzt die verschiedenen CPU-Typen zu vergleichen...

aber wenn ich früher ne IM151-8 also ET200S CPU genommen hat, dann würde ich das heute mit ner 1510 oder 1512 ET200SP-CPU vergleichen.

Ne 315 entsricht eher ner 1515.

Aber gut, der eine brauch eher Remanenzspeicher, der andere eher Zykluszeiten von <10ms

Aber ne 1512SP würd ich jetzt nicht in der Leistungsklasse einer 315 ansiedeln

Zum Zykluszeitüberschreitung OB80 Problem, warum setzt Ihr die max. Zykluszeitgrenze nicht einfach höher? Oder hab ich was überlesen?

Gruß.
 
Zum Zykluszeitüberschreitung OB80 Problem, warum setzt Ihr die max. Zykluszeitgrenze nicht einfach höher? Oder hab ich was überlesen?

Wie weiter oben schon versucht zu erklären muss bei der Berechnung der Reaktionszeit der Sicherheitseinrichtung die maximale Zykluszeitengrenze des Sicherheitsprogramms mit eingerechnet werden. Größere max. Zeit = größerer notwendiger Abstand des Lichtgitters. Da wir das Lichtgitter nur ca. 1m entfernt aufstellen können ist diese Zeit also nach oben hin begrenzt.

Was die Zykluszeit des OB1 Zyklus angeht ist es so, dass eine massiv erhöhte Zeit (z.B. 50ms) dann widerum fiese Effekte im normalen Betrieb der Maschine hätten. Unsere Maschinen sind nicht ereignisgesteuert (z.B. Schrittketten), sondern haben eine Leitachse mit Nockenschaltwerk und Kurvenscheiben (virtuell ;) ). Wenn dann die Zeiten so gravierend schwanken kann das tatsächlich dazu führen, dass Anlagenteile kaputt gehen, zumindest mal führt es dazu, dass unsere Produkte leicht unterschiedlich werden. Das wird keiner unserer Kunden akzeptieren.

Ich hoffe das war jetzt verständlicher,
Gruß Christian
 
Zuletzt bearbeitet:
Wenn dann die Zeiten so gravierend schwanken kann das tatsächlich dazu führen, dass Anlagenteile kaputt gehen, zumindest mal führt es dazu, dass unsere Produkte leicht unterschiedlich werden. Das wird keiner unserer Kunden akzeptieren.

Das mit den schwankenden OB1 Zykluszeiten ist ne Krankheit der 1500er... DAs ist schon extrem, nicht nur bei CPU-Start. Wenn Du mit dem PG Online draufschaust z.B. ...

Also da würd ich die kritischen Programmteile in nen Weckalarm legen...
 
Zurück
Oben