Reaktionszeiten auf Profibus erhöhen

kipphase

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
@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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
moz-screenshot.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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?
 
@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
 

Anhänge

  • buspara.JPG
    buspara.JPG
    25,9 KB · Aufrufe: 41
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@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.
 
@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
 
Zurück
Oben