Technical Forum

Kommunikation / Netzwerke

Buszykluszeit von Profinet ausreitzen

Erstellt von hanssattel am 26.03.2012 15:58 (5 Antworten)

« Vorheriges Thema Nächstes Thema »
Seite 1 von 1 (6 Objekte)
  26.03.2012, 15:58
Beigetreten am: 04.11.2011
Letzter Besuch: 22.08.2012
Beiträge: 22
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Hallo,
ich experimentiere gerade mit einer S7-315 PN/DP herum und würde gerne mit wenigen Busteilnehmer die Zykluszeit so ausreitzen, dass ich einen Fehler verursache...

Gibt es eine Formel mit der ich bestimmen kann, wie schnell ich die Zykluszeit wählen kann?
Oder was muss ich bei der bestimmung der Zykluszeit beachten?

Viele Dank
Hans
Top
  28.03.2012, 09:59
Beigetreten am: 17.06.2011
Letzter Besuch: 23.05.2013
Beiträge: 1283
Bewertung:
Bewertung: Exzellent [4,06 von 5 / 82 mal bewertet]. (82) 
Benutzer mit speziellen Fachkenntnissen, die einzelne Konferenzen betreuen
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 

Hallo hanssattel,

dazu gibt es eine Webapplikation mit einigen Beispielrechnungen:

http://support.automation.siemens.com/WW/view/de/21869080

Hilft Dir das schoneinmal weiter?


Gruß / best regards
Rated X
Top
  28.03.2012, 10:16
Beigetreten am: 01.12.2010
Letzter Besuch: 18.04.2013
Beiträge: 315
Bewertung:
Bewertung: Herausragend [3,97 von 5 / 35 mal bewertet]. (35) 
Bewertung: Exzellent [5 von 5 / 1 mal bewertet]. (1) 

Hi hansattel,

was willst du denn anstellen?

Du kannst die folgenden Use-Cases testen:
       a) Deine Bandbreite ist ausgelastet
       b) Deine Systemverzögerung im Netzwerk ist zu groß, so dass der Watch-Dog zuschlägt


zu a)
Mit wenigen Devices die Bandbreite voll auszulasten ist schwierig, nahezu unmöglich!
Über dem Daumen kann man sagen, bei kleinen Ausbauden von einer ET200S (dann nutzt man meist ein Minimumframe 64Byte = 7µs). Bei einer Aktualiserungszeit von 1ms für jedes Device kann man so 64 Devices aktualisieren.
Bei 2ms + Minimumframe: 128
Bei 500µs + Minimumframe: 32
Bei 250µs + Minimumframe: 16

zu b)
Die Echtzeit beim PROFINET wird durch den Watchdog realisiert!
Der Watchdog ist ein Vielfaches der Aktualiserungszeit, default = 3!
D.h. wenn 3 Frames vom Controller --> Device oder Device --> Controller nicht ankommen, dann wird das Device als nicht vorhanden erkannt und die CPU und das Device können reagieren.

In beiden Fehlerfällen, Bandbreitenüberlastung und überschreiten des Watchdogs, wird das Device als nicht vorhanden "gemeldet".
Dies kannst du simulieren, indem du das Kabel aus dem Device ziehst! Schon hast du ganz einfach beide Fehlerfälle simuliert. Rnf:lblSmileyTooltip_

Grüße Chilly


Grüße / Regards / Salut / ciao / adiós / adieu / tchau
Chilly Garfield
Top
Für diesen Beitrag bedankt sich:
  28.03.2012, 12:32
Beigetreten am: 04.11.2011
Letzter Besuch: 22.08.2012
Beiträge: 22
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 

Schonmal vielen dank euch zwei,
im Prinzip hört sich das schon mal so an wie ich es auch wollte.

Für mich stellt sich nur die Frage, wie ich die Buszyklenzeit für ein Variables System ermitteln kann...

Wir bauen Maschinen die jede Woche andere Komponenten haben aber ein paar Sachen sind fast immer drin wie z.B. Ventilinsel, Servoverstärker...
Als SPS nehmen wir auch nur die CPU315 oder 317.

Doch was muss ich beachten um den Buszyklus zu bestimmen?
Meine Gedanken gingen da in Richtung, Gesamtbyteanzahl die über den Bus gesenden werden müssen und die Verarbeitungsgeschwindigkeit der Teilnehmer?

In deiner WEB Applikation kann man auch nicht unterscheiden, ob ich Profinet oder Profibus benutze.
Gibt Konstanten die bei der Berechnung eine Rolle spielen, ob ich ein RT oder IRT oder nur TCP/IP fähiges Gerät verwende?

Im bereich Busgeschwindigkeit habe ich imprinzip kein Peil :-)
Hoffe ihr könnt mir dieses Thema ein bisschen näher bringen.

Vielen Dank
Hans

Top
  28.03.2012, 14:49
Beigetreten am: 01.12.2010
Letzter Besuch: 18.04.2013
Beiträge: 315
Bewertung:
Bewertung: Herausragend [3,97 von 5 / 35 mal bewertet]. (35) 
Bewertung: Exzellent [5 von 5 / 1 mal bewertet]. (1) 
Hey,

beim PROFINET hat man keinen Buszyklus!
Bei PROFIBUS hat noch jeder weitere Slave die Tokenumlaufzeit verlängert!

Bei PROFINET ist die Aktualiserungszeit für jedes Device frei wählbar und bleibt gleich, auch wenn ein weiteres Device eingefügt wird.
Das Limit beim PROFINET ist die Bandbreite!
100Mbit/s Vullduplex, d.h. 100Mbit/s zum Senden und 100Mbit/s zum Empfangen aber nur bis zu 50% für PROFINET IO!
--> 100Mbit/s = 12,5 MByte/s ~ 12,5kB/ms ~ 12,5B/µs.

Nun könntest du dir die Arbeit machen und die benötigte Bandbreite bestimmen.
Berechnung:
                                                      (Daten pro Device) + (Header)
Prozentuale Bandbreite pro Device = --------------------------------------------------
                                                      12500 B/ms * Aktualisierungszeit

Bsp:
                 (20Byte) + (~ 50 Byte)
ET200S = ----------------------------------- = 0.6% von max. 50%
                 12500 B/ms * 1ms

Für die Abschätzung der Bandbreite muss diese Rechnung für alle Stadionen vorgenommen werden und dann die Summe bilden. Diese Zahl sollte unter 50% sein!
Das ist die Bandbreitenbelastung durch PROFINET IO!

Jedes weitere Gerät, PC, Drucker, Netzwerkcamera, usw. belastet diese Bandbreite auch!

Den nächsten punkt, den du ansprichst ist die Systemverzögerung!
Diese ist sehr schwer, bis garnicht ermittelbar, da sie von der Gesamten Netzlast durch alle Geräte und deren Sendezeitpunkt abhängig ist.

ABER wenn du nicht zu viel andere Netzlast auf deinem Netzwerk hast, dann sollte das zu keinen Problemen führen!

Abschließender Hinweis:
IRT hat eine reservierte Bandbreite die nur von IRT genutz wird, daher wird die IRT-Kommunikation nicht von TCP/UDP-Frames verzögert. Das könnte eine alternative bei zu großer zusätzlicher Last sein.
Was für nicht PN-Geräte hast du in deinem Netz drin?

Grüße / Regards / Salut / ciao / adiós / adieu / tchau
Chilly Garfield
Top
Für diesen Beitrag bedankt sich:
  28.03.2012, 15:30
Beigetreten am: 04.11.2011
Letzter Besuch: 22.08.2012
Beiträge: 22
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Super ich glaube genau das habe ich gesucht...
Die Aktualisierungszeit bestimme ich selber bzw. der Hersteller je nach Anwendungsfall?!?
Die Daten pro Device sind auch vom Programm abhängig (das sind doch die Byte die ich im HW einstelle oder? Also Endadresse minus Anfangsadresse = benötigte Byte)

Müsste ich den Header nicht nur einmal mit einrechenen? Oder wird der Header pro Device proportional (in etwa) größer?


Ich habe einen kleinen Testaufbau, in diesem Testaufbau ist ein Servoverstärker über Profinet, zwei Servomotoren und eine Ventilinsel über Profibus verbunden. Leider haben wir noch nicht so viele Profinetgeräte im Einsatz, da wir erst auf Profinet umstellen....

Hoffe das ich oben alles richtig wiedergegeben habe ;-)

LG
Hans
Top
Seite 1 von 1 (6 Objekte)
Aktionen