# Reaktionszeiten auf Profibus erhöhen



## kipphase (14 Januar 2008)

Hallo,

wie erreicht man schnellere Reaktionszeiten auf einem Profibus ohne die Baudrate zu erhöhen?

Ich habe eine S7-315 2DP die mit einem Umrichter kommuniziert. Es wird ein Startbefehl geschickt, das "Done" ausgelesen und wieder ein Startbefehl geschickt. Die Zeit Auslesen-Start beträgt ca.90ms. Die Zykluszeit in der S7 5ms, im Umrichter 4ms. 
Warum vergehen dann von Auslesen bis Neustart 90ms. Das kann nur an der Kommunikation auf dem Bus liegen.

Welche Parameter kann man ändern um die Reaktionszeit zu beschleunigen?

Gruß und Dank
Kipphase


----------



## Ralle (14 Januar 2008)

Geh mal in die Hardwarekonfig.

Doppelclick auf DP der SPS.
Reiter "Allgemein"
Schnittstelle/Eigenschaften anclicken.
Reiter "Parameter"
Subnetz/Eigenschaften anclicken.
Reiter "Netzeinstellungen"
Optionen anclicken.
Hilfe anclicken.
In der Hilfe: "Kurze und gelwixhlange Prozeßzyklusziten am Profibus-DP projektieren" anclicken (ganz unten).

Vielleicht hilft das weiter.

Ansonsten: Wenn viel Am DP-Bus hängt, eigene CP für den Antrieb verwenden.


----------



## godi (14 Januar 2008)

Hallo!

Was hast den für eine Busgeschwindigkeit eingestellt?
Wieviele Daten werden Übertragen?
Wie Kommunizierst du mit dem FU? Über SFC 14/15 oder PAW/PEW?
Hast du nur einen Slave an deinem Profibus?

Was hast den für einen Wert eingestellt bei Zyklusbelastung durch Kommunikation? (Ist zu finden bei CPU Eigenschaften Zyklus/Taktmerker)
Vielleicht hakt es da weil deine Zykluszeit relativ gering ist.

godi


----------



## kipphase (14 Januar 2008)

@Ralle
habe wie Du vorgeschlagen hast den Bus benutzerdefiniert parametriert. Leider ohne Ergebnis.
Die Reaktionszeiten verändern sich nicht.

@Godi
Baudrate erhöht von 1.5M auf 12M, ohne Änderung. Es liegt also nicht an der Baudrate.
Übertragen werden 7 Worte senden, 7 Worte empfangen, über SFC14/15.
Habe 3 Slaves am BUS, aber zur Zeit nur für einen Slave SFC14/15 aktiviert. Wenn ich die anderen auch noch aktiviere verändern sich die Reaktionszeiten nicht. Bleib zu Testzwecken erst einmal bei einer Kommunikation.
Zyklusbelastung 20% durch Kommunikation festgelegt.
Habe auch schon von DPV0 auf DPV1 umgeschaltet.

@ALL
Dank und bitte noch weitere Ideen.

Kipphase


----------



## Ralle (14 Januar 2008)

Kannst du mal ein Bildchen von den Busparametern einstellen?


----------



## Günter (14 Januar 2008)

Schau doch mal unter den Profibus Eigenschaften die Busparamter an.
Dort gibt es einen Wert der Ttr typisch heißt.
Dieser Wert zeigt dir wie schnell deine Signale über den Profibus ein und ausggeben werden.
Wenn dieser Wert ca. 4 mal kleiner wie dein SPS Zyklus ist kommt es zu keinen
Verzögerungen durch den Bus.


----------



## marlob (14 Januar 2008)

Günter schrieb:


> ...


Wir haben leider keinen Zugriff auf deine Festplatte. Lade das jpg doch mal als anhang hoch


----------



## Günter (14 Januar 2008)

nächster Versuch


----------



## Rainer Hönle (14 Januar 2008)

Ist es sicher, dass der Umrichter keine Zeit zum Starten benötigt? So wie ich das sehe ist doch das Done das Ergebnis auf den Startbefehl, oder? Dann kann der Umrichter doch irgendwelche Statsequenzen abarbeiten, die entsprechend Zeit brauchen. Dass die Busgeschwindigkeit keinen Einfluss auf die Zeit hat, deutet auch etwas darauf hin. Genauer kann ich das allerdings erst mit einem Profibus-Log sagen. Kannst du sowas erstellen?


----------



## kipphase (14 Januar 2008)

@Ralle
ich hoffe die Busparameter lassen sich hochladen. Hab ich noch nicht versucht.
Baudrate 12mB und höchste Teilnehmeradresse 10

@Günter
meine Kenntnisse über die Pysik von Dp sind nicht umfassend. Deshalb die Frage: Wenn die trt z.B. 5ms beträgt, ist dann in dieser Zeit ein kompletter Umlauf im DP-Ring abgearbeitet?
Wenn SFC14/15 aufgerufen werden, derden diese dann sofort bearbeitet oder arbeiten sie azyklisch, unabhängig vom Programmzyklus?

@Rainer Hönle
der DONE sagt, das ein Fahrbefehl beendet ist, und der nächste gestartet werden kann (vor - zurück). Ich gebe Dir aber recht, dass die Verzögerungen vielleicht im Umrichter zu suchen sind (Servo Compax3 Fa. Parker), weil bis jetzt keine Maßnahme etwas verändert hat. Selbt wenn ich 3 Umrichter anspreche verlängert sich die Reaktionszeit der Antriebe nicht.
Benötigt man für ein Profibus-Log einen BT3 von Deltalogic? Wenn ja könnte ich das machen, wenn Du mir sagst wie es geht.

@all
Danke


----------



## Ralle (14 Januar 2008)

Der Bus ist eigentlich schnell, ich tippe auch eher auf die Regler. Normalerweise haben Servos und Umrichter doch immer einen Parameterkanal (langsam) und einen Prozesswertkanal (schnell). Falls ihr das alles über die Parameter macht, kann das schon langsam werden, denke ich.


----------



## Günter (15 Januar 2008)

@Günter
meine Kenntnisse über die Pysik von Dp sind nicht umfassend. Deshalb die Frage: Wenn die trt z.B. 5ms beträgt, ist dann in dieser Zeit ein kompletter Umlauf im DP-Ring abgearbeitet?
Wenn SFC14/15 aufgerufen werden, derden diese dann sofort bearbeitet oder arbeiten sie azyklisch, unabhängig vom Programmzyklus?


Wenn ich deinen Trt typisch von 0,4 ms sehe und das Standart DP Protokoll
erlaubt ca.4 fehlerhafte Telegramme ohne das ein Profibusfehler an die CPU weitergegeben wird ist davon auszugehen das die Busphysik nicht dein Problem ist.
Wie das genau mit dem SFC14/15 abläuft weiss ich nicht.

Bei dem meisten Umrichter gibt es die Möglichkeit einen schnellen "Überwachungstask" zu starten.
Versuche doch in diesem schnellen Task einfach einen Ausgang zu setzen wenn von der SPS ein Eingang kommt.Messe dann noch mal deine Reaktionszeit.


----------



## kipphase (15 Januar 2008)

@all

Recht herzlichen Dank. Es liegt nicht am Bus sondern an den Servoreglern. Habe die Programme geändert und frage keine Statusbits ab, sondern schnelle Nocken, die jeweils 2mm vor MoveEND abgefragt werden, und die Kommunikation und Reaktion erfolgt innerhalb weniger ms. Muß mich also mit dem Servohersteller in Verbindung setzen.

Trotzdem vielen Dank an alle, habe wieder was über DP gelernt.

Kipphase


----------

