# Profibus Kommunikation mit starker verzögerung



## MarcelKIT (25 März 2020)

Moin Moin 



  Ich habe ein Problem mit der Ansprechzeit zwischen meiner SPS und einer induktiven Erwärmungsanlage.
  Die Kommunikation läuft über Profibus.
  Die SPS ist über ein 1253-5 Modul mit dem Anybus Communicator seitens des Generators verbunden. 
  Die Kommunikation läuft auch ansonsten Reibungslos, bis eben auf die Verzögerung.

  Um dies zu veranschaulichen, habe ich mal ein Screenshot eines Trace beigefügt. 

U_SET(A)                 als Startsignal/Leistungsvorgabe von der SPS. 

U_SET                      Feedback üben den Leistungsverlauf vom Generator zur SPS über den BUS

U_SET_Scaled          Ein Analogsignal welches der Generator ohne Bus an die SPS 

                                  als Feedback übergibt

IstThermoelement   Temperatursignal mit einem Thermoelement gemessen welches über einen Messwandler direkt an die SPS geht


  Das Interessante an dem Trace ist also die Verzögerung zwischen U_SET(A) als Startpunkt und U_SET
  sowie U_SET_Scaled als Feedback (die fallsche Auflösung von U_SET_Scaled ist nur ein 
  skalierungsfehler und kann ignoriert werden).


  Hier sieht man, dass das Analoge Feedback Signal eine Verzögerung von ca. 180ms hat, das Profibus 

  Feedback Signal sogar ca. 350ms. 


  Ich kann mir eigentlich nicht vorstellen, dass das am Profibus seitens der SPS liegt und vermute die
  Ursache eher bei der integrierten Steuerung des Generators.

  Da der Hersteller des Generator jedoch keine Aussagen zu der Ansprechzeit seiner Anlage macht und 
  Die Ursache an der SPS andeutet, wollte ich euch Fragen was ihr dazu meint. 

  macht es wirklich Sinn das die SPS bzw. der Profibus so ein starkes Delay erzeugt, oder haltet ihr es 
  auch eher für Wahrscheinlich das es an dem Generator und dessen Datenverarbeitung liegt?



  Ich habe hier leider keine Nennenswerten Erfahrungswerte weshalb ich mir nicht ganz sicher bin… 
  Vielen Danke schon mal im Voraus


----------



## StP (25 März 2020)

Am Profibus selbst würde ich das Problem eher nicht suchen - es sei denn, es sind extrem viele Teilnehmer angeschlossen, aber poste mal Deine Busparameter.
Eher am AnyBus-Koppler. Wenn dieser in jede Richtung 170-180ms Verzögerung hätte, würde dies die Grafik IMHO erklären.


----------



## Ralle (25 März 2020)

Auch die Zykuszeit deiner SPS wäre interessant.


----------



## Thomas_v2.1 (25 März 2020)

Und bei Profibus zusätzlich die DP-Zykluszeit, bei Step7 wurde diese berechnet und als "Ttr typisch" angezeigt.


----------



## escride1 (25 März 2020)

Irgendwie habe ich folgendes im Kopf, kann mich jemand aufklären?

- Was ist ein 1253-5 für ein Modul? Oder ist 1243-5 gemeint?
- Der Trace zeigt die Werte der Eingänge direkt an oder aber eines OB mit dem Regler? (OB wird alle 100ms Sekunden aufgerufen oder schneller?)
- Einstellung des Anybus Communicators? (zyklisch, azyklisch, Updatezeit,..)
- Wie ist das Zusammenspiel zwischen Communicator und dem anderen Gerät - kann das überwacht/überprüft/eingestellt werden? (Ist diese Verbindung so langsam)
- Kann die Verzögerung vom Endgerät her kommen? (Es verarbeitet z.B. Klemmen so schnell es arbeiten kann aber die Busverbindungen langsamer, sodass er erst das Analogsignal zurückliefert und danach erst über den Bus.)

Das es vom Profibus her kommt kann ich mir wie andere schon schrieben nicht ganz so vorstellen. Immerhin habe ich bisher beim Zusammenspiel Anybus<>Siemens auch PWM-Signale im 20ms-Bereich verarbeiten können.


----------



## Thomas_v2.1 (25 März 2020)

Im Prinzip kann er für den schlechtesten Fall so rechnen, bis die Rückmeldung vom Zielgerät wieder in der SPS ankommt:
2 x (Zykluszeit SPS + Profibus Ttr + Anybus Verarbeitungszeit + Zykluszeit Bus Anybus <> Zielgerät + Zykluszeit Zielgerät)

Wenn bei einem Teil nur 10ms sind, dann bist du schon bei 100ms bis zur Rückmeldung.


----------



## MarcelKIT (30 März 2020)

@escride1 
1. Ja stimmt es ist ein 1243-5 Modul, 1253-5 war natürlich quatsch was ich geschrieben habe 
2. Der Trace nimmt im Intervall des Weckalarm OB "5 TemperaturRegler" auf, welcher auf 5ms steht.
3. Habe mal 2 Screenshots von der Oberfläche des Anybus Communicators hochgeladen. Ehrlich gesagt bin ich mir nicht sicher wie ich die Daten zu interpretieren habe. Zum Beispiel "Update Time (10ms)" + der nachfolgende Wert mit Bspw 10. Beduetet das dann das ein Updatetiming von 10 x 10ms gewählt ist? Ich bin mir da nicht sicher ^^
4. Das zu steuernde Gerät, also der Generator, ist ein "geschlossenes System" wovon ich keine weiteren Informationen wie wie bspw. Ansprechzeit oder Aktualisierungsrate o.Ä. habe. 
Auch auf nachfrage hat die Firma da keine konkreten Infos gegeben, daher versuche ich der Sache so auf die Spur zu kommen... Da ist aber aufjedenfall eine eigene Steuerung verbaut bei der es nicht auszuschließen ist das es tatsächlich daran liegt...
5. Ja mir scheint das auch so, das die Ansteuerung für das Analog Signal eine schnellere Aktualisierungsrate hat als die digitale Ausgabe über Profibus.

@Thomas_v2.1
Habe ein Screenshot der Profibus Settings seitens der SPS beigefügt 
Ttr typisch ist mit 16,800 ms angegeben.

@Ralle Welche Zykluszeit meint ihr genau? Der Weckalarm läuft mit 5ms. Ansonsten habe ich in den Einstellung der SPS unter Zyklus noch den Wert 150ms unter "Zyklusüberwachungszeit" gefunden, das scheint mir aber nur eine Überwachung und nicht der normale Takt zu sein, oder? 

@StP Hoffe ihr könnt mit den angehängten Screenshots was anfangen, ansonsten kann ich noch mehr machen. Bei dem Anybus Communicator kenne ich mich nicht wirklich aus, weshalb ich einfach mal das beigefügt habe, was ich als interessant eingeschätzt habe... Die Settings waren die Standart einstellungen was von dem Hersteller aufgespielt waren...


LG und vielen dank für eure Mühe 
Marcel


----------



## Ralle (30 März 2020)

Mit Zykluszeit meine ich die aktuelle Zykluszeit der SPS.
Die findest du z.B. über "Online und Diagnose", ich glaube unterhalb der SPS links im Baum, wenn du online bist.


----------



## MarcelKIT (30 März 2020)

Alles klar, schaue gleich nach 

Hab auch wegen dem Wert "update time" beim Anybus Communicator geguckt, in der Bedienungsanleitung finde ich dazu:

This parameter specifies how often the transaction will be issued in steps of 10 ms
(relevant only when “Update mode” is set to “Cyclically”, “On data change” or “Change
of state on trigger”).
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.

Das müsste dann also bedeuten das wenn da ein Wert von 10 Stand, eine Transaktion 100ms benötigt? Naja ich geh gleich mal im Labor vorbei und teste das mal aus und berichte nachher (hab da leider kein Internet ^^)

LG


----------



## PN/DP (30 März 2020)

MarcelKIT schrieb:


> Intervall des Weckalarm OB "5 TemperaturRegler" auf, welcher auf 5ms steht
> [...]
> Habe ein Screenshot der Profibus Settings seitens der SPS beigefÃ¼gt
> Ttr typisch ist mit 16,800 ms angegeben.


Regelst Du da die Temperatur einer Stecknadelspitze? 
Für normale Temperaturregelung sollte ein Regler-Aufruf alle 100ms oder meinetwegen schnelle 50ms völlig reichen. Du wirst vermutlich eh' nicht alle 5ms einen neuen Istwert erhalten.
Mach doch mal einen Trace des Temperatur-Istwertes, wie schnell der sich tatsächlich ändert.

Harald


----------



## MarcelKIT (30 März 2020)

@PN/DP
Also wenn alles funktioniert solte es eine sehr steile Temperaturflanke erreichen, wenn der Generator seine Leistung erreicht hat sollten innerhalb 50 ms ein durch aus signifikanter Temperaturanstieg möglich sein. 
Leider machen sich bei so einer schnellen Regelstrecke auch moderate Verzögerungen seitens der Kommunikation stark bemerkbar


----------



## MarcelKIT (30 März 2020)

Hier mal der Auszug von Online&Diagnose bezüglich der Zyklus Zeit, 1-4ms scheint mir OK?


----------



## MarcelKIT (30 März 2020)

Also ich habe noch ein paar versuche gemacht und habe mal zwei Ergebnisse hoch geladen...

Ich habe für Versuchswecke das Kühlwasser mal abgedreht, was dazu führt das der Generator zwar auf Befehle per Profibus reagiert, jedoch keine Leistung fahren kann (er hat eine Durchflusszelle welche bei zu geringem Durchfluss den Leistungsteil deaktiviert.

Interessanter weise führt das dazu, das die Verzögerung deutlich nachlässt. 

Wenn ich mit "U_SET(A)" per SPS die Leistungsvorgabe auf 100V (max. Leistung) setze und den Versuch starte, sollte ja im besten fall "U_SET" als Feedback Signal ebenfalls unmittelbar ansprechen -Was aber ja leider nicht funktioniert und auch mal bis zu 350ms dauern kann...
Wenn der Generator jedoch keine Leistung fährt, also nur mit dem Feedback Signal "U_SET" reagiert aber ansonsten nichts weiter ausführen muss, ist die Verzögerung plötzlich nur noch ca 100ms groß.

Dadurch vermute ich sollangsam wirklich das es an der Steuerung in dem Generator selbst liegt, welche bei der parallelen Leistungsregelung + Kommunikation per Profibus zu lange zur Verarbeitung benötigt.

Was anderes fällt mir akuell dazu nicht ein, weshalb sich diese Werte so stark unterscheiden... oder was meint ihr? 

Echt schade dass das ganze Projekt sich so zieht, hat am Anfang wirklich Spaß gemacht... 
Naja vielleicht wirds ja noch was


----------

