# Netzwerktopologie mit I-Device



## HeadCrack0r (22 März 2021)

Moin zusammen,

ich habe eine Anlage die mir derzeit Netzwerktechnisch Probleme bereitet, mir ist die Master-SPS auch schon beim beobachten mittels dem SPS-Analyser mit einer Zykluszeitüberschreitung auf Stop gegangen. 

Vorgaben: 
1 x Master-SPS
3 x Station-SPS

Datenaustausch zwischen dem Master und der Stationen mittels I-Device (Auch Safety). Signale die zwischen den Stationen ausgetauscht werden müssen laufen über die Master-SPS.
Jede SPS braucht eine Verbindung zum Leitrechner. 
An jedem Switch befinden sich noch etliche weitere Teilnehmer. Alle Teilnehmer befinden sich im gleichen Subnetz.
Am liebsten wäre es mir wenn ich von der Verbindung vom Leitrechner alle Teilnehmer erreichen kann.
 Zykluszeit derzeit 50ms.

Laut Projektierungsanleitung soll das unterlagerte IO-System des I-Devices vom IO-System des IO-Controllers abgehängt sein.



Ist-Stand:



Ich habe nun zwei Vorschläge wie man es anders (besser?) machen könnte.

Vorschlag 1:



Vorschlag 2:



Ich neige zum Vorschlag 1. Beim zweiten Vorschlag erreiche ich nicht alle Profinetteilnehmer über die Verbindung vom Leitrechner.

Habt ihr sonst noch eine Idee wie man es am besten machen kann?


Danke und Gruß


----------



## Indu-Sol (23 März 2021)

Hallo HeadCrack0r,

ein interessanter Fall! Ich kann beide Vorschläge nachvollziehen. 
Im Vorschlag 1 möchten Sie der Projektierungsanleitung nachkommen und die beiden Kommunikationswege Master-SPS zu Stations-SPS (I-Device) und Stations-SPS zu PROFINET Devices (PNIO RT) trennen. Völlig in Ordnung auf Basis dieser Voraussetzung und eine mögliche Variante. Die Kommunikation beschränkt sich in der Realität jedoch nicht nur auf diese beiden Kommunikationswege. Wie Sie erwähnen, wollen Sie mit dem Leitrechner auch auf die unterlagerten Geräte zugreifen. Und natürlich gibt es eine Vielzahl weiterer Kommunikationsarten in einem solchen Netzwerk (Beispiele: Visualisierungen, Servicezugriffe, Kameraanwendungen, Energiemanagement und Condition Monitoring). An dieser Stelle hat die Variante 1 den Nachteil, dass die Stations-SPS nicht nur die zyklische PROFINET-Kommunikation an beiden Schnittstellen bedienen muss, sondern auch den anderen Datenverkehr wie z.B. die Zugriffe des Leitrechners auf die IO Devices, wodurch weitere wertvolle Netzwerk-Bandbreite belegt wird und eine Änderung zu dieser Variante negative Auswirkungen haben kann. 
Variante 2 wäre aus PROFINET-Sicht die Stabilste, da die Kommunikationswege vollständig getrennt sind, es keine gegenseitigen Beeinflussungen gibt und aus Sicht des Leitrechners auch nicht möglich sind. Und dies ist auch der Punkt, welcher diese Variante aus dem Gesichtspunkt eines offenen Ethernet-Netzwerkes disqualifiziert. Sie haben einfach nicht die Freiheit Daten zu erfassen oder Zugriffe auf Endgeräte ermöglichen, wenn diese benötigt werden.

Der Ist-Stand aus Netzwerksicht: die Switch-Infrastruktur händelt die Kommunikation im Netzwerk und Endgeräte wie eine SPS werden nicht mit zusätzlichen Datenverkehr beaufschlagt
…und aus Digitalisierungssicht: alle Kommunikationswege /-Beziehungen können genutzt werden, wenn gewollt.

Die Ausgangssituation mit den Zykluszeitüberschreitungen und die damit einhergehenden Probleme sind damit noch nicht gelöst:

Ich würde eine nachträgliche Bandbreiten-Planung empfehlen. Damit ermitteln Sie an dem Beispiel Ihres Netzwerkaufbaues die möglichen Engpässe und optimieren Ihre Konfiguration, wie z.B. die Aktualisierungszeiten. Und auch die erforderliche Switch-Performance und Broadcastbelastung können ebenfalls hierbei betrachtet werden. Nutzen Sie dazu die aktuelle Testversion von PROnetplan V2 
Und mit Hilfe einer Netzwerkanalyse ermitteln Sie die reale Performance und Reserve Ihrer derzeitigen Struktur und Konfiguration. So können Sie mögliche Engpässe beseitigen. Hierbei sollten Sie besonderes Augenmerk auf die Parameter Netzwerkauslastung, Discards und Errors der jeweiligen Switchports legen. Es gibt zentrale Softwarelösungen, die die einzelnen Parameter berechnen und aufbereiten, wie z.B. PROmanage NT. 
Zusätzlich hierzu empfiehlt es sich auch die zyklische Echtzeit-Kommunikation PROFINET näher unter die Lupe zu nehmen, wobei in diesem Fall die Einhaltung der vorgegebenen Aktualisierungszeiten mit den Parametern Jitter (zeitliche Abweichung zur Soll-Aktualisierung) und Telegrammlücken (ausbleiben von Aktualisierungen) betrachtet wird und natürlich auch alle weiteren Protokollbesonderheiten, wie z.B. PROFIsafe und Diagnosemeldungen. Es gibt eine automatisierte Telegrammauswertung mit dem PROFINET-INspektor NT (manuell mit Wireshark möglich). 

Ich hoffe ich konnte Ihnen etwas bei Ihrem Fall weiterhelfen und Ihnen ein paar Lösungsideen an die Hand geben. 

MfG
Frank Lehmann


----------



## JesperMP (23 März 2021)

Nur um es zu verstehen, warum steigt die CPU Zykluszeit wegen die SPS Analyzer ?
Welche SPS Analyzer ist es ?


----------



## maxder2te (23 März 2021)

HeadCrack0r schrieb:


> Moin zusammen,
> 
> ich habe eine Anlage die mir derzeit Netzwerktechnisch Probleme bereitet, mir ist die Master-SPS auch schon beim beobachten mittels dem SPS-Analyser mit einer Zykluszeitüberschreitung auf Stop gegangen.


Also dass die CPU-STOP mit den netzwerktechnischen Problemen zusammenhängen, wage ich zu bezweifeln. Ich habe hier eher den Einduck, dass die CPU aus dem letzten Loch pfeift und bei jeder Zusatzbelastung einfach nicht mehr kann.
Vor allem beim SPS-Analyser ist fraglich, was du da machst. Wenn du eine Variante einsetzt, die zusätzliche Bausteine auf die CPU lädt um zyklusgenau abtasten zu können dann kann ich mir schon vorstellen, dass der die CPU in die Knie zwingt. Zudem sind die CPUs < 1517 nicht gerade für ihre Mörder-Performance berühmt.

Du solltest hier eher mal ein Profiling machen und dir ansehen, welche Programmteile welche Ressourcen und welche Laufzeit benötigen. Vor allem die Laufzeit des Safety-Programms (die man sich über den Status-DB der Ablaufgruppe ansehen kann) wäre da interessant.

Zudem wäre interessant, mit welchen Fehlermeldungen die CPU auf STOP gegangen ist. Die Info in deinem Post ist in etwa so aufschlußreich wie "Drucker druckt an Dell-PC, aber nicht an MacBook". Bitte um genauere Informationen.




HeadCrack0r schrieb:


> Vorgaben:
> 1 x Master-SPS
> 3 x Station-SPS
> 
> ...



So wie du das mit 50ms (Safety-)Zykluszeit beschreibst, wirst du die XC216 und XC208 nicht so leicht in die Knie zwingen. Ich habs bis dato noch nicht geschafft, einen XC-Hauptswitch mit einem Profinet-IO System und > 60 PN-Teilnehmern an einer 1518F in die Knie zu zwingen. Das beschriebene Schema zum Aufbau mit den I-Devices ist zwar prinzipiell schön und logisch, aber meiner Ansicht nach nicht das Problem.





HeadCrack0r schrieb:


> Ich habe nun zwei Vorschläge wie man es anders (besser?) machen könnte.
> 
> Vorschlag 1:
> Anhang anzeigen 53550
> ...



Eindeutig Vorschlag 1, da er strukturierter und modularer ist. Aber wie schon oben genannt, wohl nicht das Problem.





HeadCrack0r schrieb:


> Ich habe eine Anlage die mir derzeit Netzwerktechnisch Probleme bereitet, mir ist die Master-SPS auch schon beim beobachten mittels dem SPS-Analyser mit einer Zykluszeitüberschreitung auf Stop gegangen.



Bis auf die Zykluszeitüberschreitung hast du keinerlei Hinweis darauf gegeben, wie sich die Netzwerkprobleme äußern. Fallen Profinet-Teilnehmer aus? Fälle die I-Device-Verbindung aus? Fallen Safety-Kommunikationsbeziehungen aus? Fällt die Verbindung zwischen Leitrechner und PLCs aus? Wie äußert sich das?

Wie schon weiter oben geschrieben sagt mein Bauchgefühl, dass die CPUs an ihrer Performance-Grenze unterwegs sind. Wenn auf der Master-CPU vor allem Safety-Geschichten laufen, welche 80% Ressourcen brauchen und im MAIN (OB1) nicht viel Programm läuft, dann bleiben beispielsweise für die Kommunikation (PG, Leitrechner, OUC, S7-Verbindungen, OPC-UA, ...) relativ wenig Ressourcen übrig. Wenn dann vielleicht noch die Prioritäten-Aufteilung nicht passt (weil die Kommunikation das Safety-Programm unterbrechen darf) dann ist da schnell Ende.

Du solltest dir imho mal Gedanken über den Ressourcenverbrauch der PLCs und die Prioritäten-Verteilung machen.


lg
Aus dem Bauch heraus


----------



## HeadCrack0r (24 März 2021)

Vielen Dank für eure Antworten!

Ich möchte einmal die Gesamtsituation darstellen damit ich hier nicht in die Salamitaktik verfalle.

Ich war im TIA-Portal online und habe gleichzeitig im SPS-Analyser pro 6 von Autem eine einzige Variable beobachtet.
Mir ist unmittelbar danach die Master-CPU mit einer Zykluszeitüberschreitung auf Stop gegangen.

Nach einem Gespräch mit Fa. Autem wurde mir gesagt das die Kommunikationslast der CPU durch den Analyser erhöht ist.
Wenn nur eine einzige Variable beobachtet wird und der Abtastintervall vom Analyser auf minimal steht ist die Kommunikationslast nochmal deutlich höher.

Im weiteren Verlauf hat sich herausgestellt das die "Zyklusbelastung durch Kommunikation" in der Gerätekonfiguration der CPU auf 50% eingestellt ist.
Dadurch kann sich die Zykluszeit im ungünstigsten Fall um 100% erhöhen.

Ich habe nach einer Analyse vom SPS-Programm einen Baustein gefunden welcher sporadisch aufgerufen wird und die Zykluszeit auf 140ms erhöht.
Die normale Zykluszeit beträgt 50ms.

Die Kombination aus SPS-Analyser mit geringem Abtastintervall, der "Zyklusbelastung durch Kommunikation" auf 50% und der Zykluszeiterhöhung durch den einen Baustein hat den CPU-Stop verursacht.

Nach einem Telefonat mit dem Anlagenhersteller wurde mir gesagt das es während der Inbetriebnahme sporadisch (1 x in der Woche) Probleme mit der Safetykommunikation gab und die Anlage dann auf Not-Aus gegangen ist.
Welcher Diagnosemeldung genau kam konnte man mir nicht mehr sagen. Jedoch waren die Probleme beseitigt nachdem man auf teilweise auf managbare Switche umgerüstet hatte und die "Zyklusbelastung durch Kommunikation" auf 50% gestellt hat.

Stand heute habe ich aber immer noch den Fehler "Timeout in der RPC-Anwendung" an zwei Switchen. Jedoch läuft die Anlage weiter.

Ein paar Infos zum Iststand:

Die Zykluszeit der F-Ablaufgruppe beträgt 100ms, die Laufzeit im Durschnitt 5ms (Maximal 10ms).
Die Priorität der F-Ablaufgruppe beträgt 12.
Es sind teilweise noch unmanaged Switche verbaut.
PN-Geräte gehen über mehrere Switche Richtung SPS.
Teilweise gibt es Verbindungslinien von PN-Teilnehmer mit mehr als 20 Teilnehmern. (Mehrere FUs hintereinander verbunden)
Die Zyklusbelastung durch die Kommunikation beträgt im Durschnitt 10%, ging aber schon einmal auf 27% hoch. (Ausgelesen durch RT_INFO)

Was ich alles vor habe:
Baustein optimiert welcher die Zykluszeit sporadisch massiv erhöht hat (bereits erledigt).
Priorität der F-Ablaufgruppe größer 15 einstellen (Damit die Safety nicht durch die Kommunikationslast beeinträchtigt wird).
Zyklusbelastung durch Kommunikation auf einen tieferen Wert stellen (Hier bin ich aber nicht sicher worauf man diesen Stellen soll).
Unmanaged Switche gegen managbare Switche tauschen.
Maximale Anzahl der in Linientopologie verbundener PN-Teilnehmer auf 7 begrenzen.
PN-Geräte an die Switche anschließen wo sie auch benötigt werden.

Da ich die Netzwerktopologie auf Stand bringen möchte(siehe letzter Punkt) kam die Frage auf welche Variante nun am effektivsten wäre.
Ich werde durch euren Input den grundsätzlichen Ist-Stand beibehalten und alle Verbindungen auf Sinnhaftigkeit prüfen.

Desweiteren schaue ich mir PROnetplan V2 einmal an.
Einen PROFINET-INspektor NT habe ich im Haus, jedoch habe ich damit noch nicht intensiv gearbeitet. Ich werde aber mal schauen was ich damit herausfinden kann.

Ich habe noch ein paar Fragen:

Ist es sinnvoll die Switche in das TIA-Projekt zu projektieren?
Es gibt für jede CPU ein eigenes TIA-Projekt, spricht außer der Übersichtlichkeit noch etwas dafür diese in ein Projekt zu sammeln?
Auf welchen Wert stellt man die "Zyklusbelastung durch Kommunikation" normalerweise ein?
Ist es Sinnvoll im TIA-Projekt die Teilnehmer in der Topologiesicht zu verschalten? Oder reicht die Netzsicht? 

Danke und Gruß


----------



## maxder2te (24 März 2021)

HeadCrack0r schrieb:


> Vielen Dank für eure Antworten!
> 
> Ich möchte einmal die Gesamtsituation darstellen damit ich hier nicht in die Salamitaktik verfalle.
> 
> ...




Ich lag mit meiner Diagnose "Die CPU pfeift aus dem letzten Loch" gar nicht mal so weit daneben.

Ich würde dir folgende Maßnahme vorschlagen:
1. Master CPU von 1515 auf 1517 tauschen
2. Profinet-Sendetakt bei allen CPUs von Default 1 ms auf 4 ms erhöhen - für deinen Prozess wird das unerheblich sein, allerdings wird das Profinet-Netzwerk wesentlich toleranter und du reduzierst die Netzlast immens.
3. Bei 4 ms Sendetakt wären prinzipiell 28 Profinet-RT Teilnehmer in einer Linie zulässig. Das ist auch ok, sofern alle Swicthes dazwischen managed sind. Manche Firmen haben leider die Unart, ein paar 100 EUR zu sparen und setzen statt der XC200 auf einfache 100 MBit-Switches welche den Profinet-Verkehr manchmal nicht priorisieren.
4. Die Zykluszeitbelastung durch Kommunikation = 50% ist an und für sich ok, wenn das der Prozess zulässt. Meiner Erfahrung nach geht die Profinet-Kommunikation in diesen Wert nicht mit ein, wohl aber HMI-Verbindungen, PG-Verbindungen, OPC-UA-Verbindungen, OUC, usw. Wenn du allerdings von vornherein schon 140ms-Ausreißer in der Zykluszeit hast und im MAIN laufen "zeitkritische" sachen, dann ist das heikel. Umgekehrt ist es auch sehr unangenehm, wenn die CPU notwendige Kommunikationsdienste nicht mehr zulässt - sowas hatte ich mal bei einer 1515 mit vielen 100 OPC-UA Tags, wo der OPC-Server mit dem Abtasten nicht mehr zurecht gekommen ist. Da helfen dann Dinge wie HMI-Traffic reduzieren (Aktualisierungsintervall auf notwendiges Maß reduzieren, "ständig lesen" auf notwendiges Maß reduzieren usw.) und nicht zuletzt eine größere CPU.


----------



## HeadCrack0r (24 März 2021)

Danke für die Tipps!

Wenn ich die Leistungsdaten der 1515 mit einer 1517/1518 vergleiche frage ich mich ob man nicht alles auf dieser laufen lassen kann.
Die Stationen könnte man ja durch eine ET200MP ersetzten. 

Dann würde man sich auch die ganze Kommunikation mit den CPUs sparen.

Jedoch müsste die CPU dann 100 PN-Geräte und 30 PB-Geräte befeuern.


----------



## Indu-Sol (26 März 2021)

Hallo Zusammen, 

…sehr interessante Unterhaltung mit unterschiedlichen Betrachtungswinkeln und Ansatzpunkten.

Ihre Fragen würde ich wie folgt beantworten:


HeadCrack0r schrieb:


> Ist es sinnvoll die Switche in das TIA-Projekt zu projektieren?


 
Aus Sicht des Programmierers mit Netzwerkverständnis macht das durchaus Sinn. Einerseits kann ich über das TIA-Projekt die Konfiguration dieser Geräte vornehmen, wie zum Beispiel für die IP Adressierung, Porteinstellungen, Zusatzfunktionen wie z.B. MRP und natürlich auch die durchgängige Topologie-Festlegung. Klare Vorteile sind hier, dass ich eine einheitliche Konfiguration und einen Plausibilitätscheck über das TIA Projekt habe und nicht die Switche über andere Wege konfigurieren muss. 
Beim Anlagenbetrieb geht es vor allem um die Diagnosefähigkeit dieser Komponenten und schnelle Meldungen im Fehlerfall. Bei einer Störung einer IO-Baugruppe wäre interessant zu wissen, ob der Switch noch mit der SPS kommuniziert, oder ob dieser nützliche Diagnosemeldungen wie z.B. Portfehler, schlechte Leitungsqualität, erhöhte Netzlast usw. an die SPS sendet. 



HeadCrack0r schrieb:


> Es gibt für jede CPU ein eigenes TIA-Projekt, spricht außer der Übersichtlichkeit noch etwas dafür diese in ein Projekt zu sammeln?


Die Übersichtlichkeit würde ich hier auch hervorheben und auch den Plausibilitätscheck. Wenn ich ein Netzwerk habe mit mehreren PROFINET Anwendungen, die alle ein eigenes Projekt besitzen, können hier schnell Fehler bei der PROFINET Namensvergabe und in der IP Adressierungen gemacht werden. Ziel sollte es sein in einem Netzwerk nur einmal den Namen und die IP-Adresse zu verwenden. 



HeadCrack0r schrieb:


> Auf welchen Wert stellt man die "Zyklusbelastung durch Kommunikation" normalerweise ein?


Einen goldenen Weg gibt es hier aus meiner Sicht nicht. Es kommt immer auf die Randbedingen an, welche auch maxder2te erwähnt, wie z.B. OPC-UA Verbindungen und sonstige Nicht-Echtzeitzugriffe. Persönlich würde ich mit 20% starten, um die SPS Zykluszeit durch solche Zugriffe nicht unnötig zu erhöhen. 



HeadCrack0r schrieb:


> Ist es Sinnvoll im TIA-Projekt die Teilnehmer in der Topologiesicht zu verschalten? Oder reicht die Netzsicht?


Die Topologieverschaltung bringt die Vorteile mit sich, dass ein Gerätewechsel ohne vorhergehende Gerätekonfiguration möglich ist und man Diagnosemeldungen bei Änderungen im Netzwerk (z.B. falscher Nachbar) bekommt. Jedoch kann dies nur für PROFINET Geräte vorgenommen werden. Alle anderen Geräte gehen bei dieser Betrachtung verloren, wodurch entweder eine falsche Sicherheit erweckt wird, oder doppelte Arbeit notwendig wird. 

Gerne würde ich noch etwas zu den empfohlenen Maßnahmen von maxder2te hinzufügen:



maxder2te schrieb:


> 1. Master CPU von 1515 auf 1517 tauschen


Sollte wirklich die Performance ein Thema sein und darauf deuten auch die normale Zykluszeit von 50ms hin, dann ist dies bestimmt eine Lösung. Ich bin jedoch kein Freund vom pauschalen Austauschen von Komponenten, da es auch andere Stellschrauben gibt. Größer, Schneller, Weiter ist häufig nicht wirtschaftlich (es werden ja auch keine Briefe mit einem Auflieger für Schwertransport ausgeliefert).



maxder2te schrieb:


> 2. Profinet-Sendetakt bei allen CPUs von Default 1 ms auf 4 ms erhöhen - für deinen Prozess wird das unerheblich sein, allerdings wird das Profinet-Netzwerk wesentlich toleranter und du reduzierst die Netzlast immens.


An sich geht diese Empfehlung in die richtige Richtung, wenn die vorherrschende Netzlast im System zu hoch ist. Jedoch sollte hier das Augenmerk auf die Aktualisierungszeit der einzelnen Gerät gelegt werden und diese nach dem realen Bedarf eingestellt werden à ein wichtiges Thema der Netzwerkplanung. Hintergrund: Mit dem Sendetakt wird der Takt für die Aktualisierung im Netzwerk vorgegeben. Bei dem Beispiel von 1ms sendet die Steuerung jede Millisekunde Daten an die IO-Baugruppen. Ist nun eine Aktualisierungszeit flächendeckend von 2ms konfiguriert, dann wird im ersten Takt (erste Millisekunde) eine Hälfte der IO-Baugruppen angesprochen und im zweiten Takt (zweite Millisekunde) die zweite Hälfte. Wird nun ein Sendetakt von 4ms genutzt und die Aktualisierungszeit beträgt ebenfalls 4ms, dann werden alle 4ms alle IO-Baugruppen angesprochen, was die Netzlast sogar punktuell erhöht und somit die Warteschlangen in den Switches kurzzeitig auslasten kann. 
Empfehlenswert ist daher bei dieser Betrachtung ein niedriger Sendetakt (1ms oder sogar 0,25ms) und eine passende Aktualisierungszeit für die Endgeräte, um den entstehenden Datenverkehr möglichst gleichmäßig auf die Zeit zu verteilen und Spitzen zu vermeiden. 



maxder2te schrieb:


> 3. Bei 4 ms Sendetakt wären prinzipiell 28 Profinet-RT Teilnehmer in einer Linie zulässig. Das ist auch ok, sofern alle Swicthes dazwischen managed sind. Manche Firmen haben leider die Unart, ein paar 100 EUR zu sparen und setzen statt der XC200 auf einfache 100 MBit-Switches welche den Profinet-Verkehr manchmal nicht priorisieren.


Ich gebe Ihnen hier recht, dass die Auswahl der Switches gerade bei komplexen Netzwerkstrukturen große Prio haben sollte. Jedoch ist das Thema Performance und Priorisierung nicht der gravierende Unterschied, da auch günstige IT Switche sehr schnell die Performance von den von Ihnen erwähnten Scalance XC200 um ein Vielfaches übersteigen. Schauen Sie sich hier einmal Werte wie z.B. Backplane Capacity, Data Throughput und Switchmemory an. Man sollte einfach ein Verständnis für dieses Thema haben und gerade bei komplexen Netzwerken (eine Vielzahl an unterschiedlichen Kommunikationsprotokollen und unterschiedlichste Kommunikationswege) das Thema planen, wofür einfache Hilfsmittel genutzt werden können. Und hier ist man einfach wieder bei dem Thema Netzwerkstabilität (Hardware mit passender Performance) und Wirtschaftlichkeit. 



HeadCrack0r schrieb:


> Wenn ich die Leistungsdaten der 1515 mit einer 1517/1518 vergleiche frage ich mich ob man nicht alles auf dieser laufen lassen kann.
> Die Stationen könnte man ja durch eine ET200MP ersetzten.
> Dann würde man sich auch die ganze Kommunikation mit den CPUs sparen.
> Jedoch müsste die CPU dann 100 PN-Geräte und 30 PB-Geräte befeuern.


 
Grundsätzlich stellt eine Anzahl von 100 PROFINET Geräten und 30 PROFIBUS Geräten aus Netzwerk- und SPS-Sicht kein Problem dar. Hier empfiehlt sich vielleicht eine Aktualisierungszeit von 8ms für die PROFINET Geräte. Zum Beispiel ermöglicht Siemens bei der 1518 eine Anbindung von bis zu 512 PROFINET IO Baugruppen und inkl. PROFIBUS und AS-i sogar bis zu 1000. Was aus meiner Sicht zu betrachten ist, ist die Komplexität des eigentlichen SPS Programmes und die hierfür notwendige Performance und natürlich die Zykluszeit. Vielleicht hat hier jemand einen Tipp, wie dies geplant und berechnet werden kann. 

Ich hoffe Sie finden eine passende Lösung für sich. Bitte auch gern hier die schlussendliche Lösung kurz im Diskussionschat beschreiben. Ich stehe auch weiter gern Rede und Antwort. 

Frank Lehmann


----------



## maxder2te (29 März 2021)

Indu-Sol schrieb:


> Sollte wirklich die Performance ein Thema sein und darauf deuten auch die normale Zykluszeit von 50ms hin, dann ist dies bestimmt eine Lösung. Ich bin jedoch kein Freund vom pauschalen Austauschen von Komponenten, da es auch andere Stellschrauben gibt. Größer, Schneller, Weiter ist häufig nicht wirtschaftlich (es werden ja auch keine Briefe mit einem Auflieger für Schwertransport ausgeliefert).


Der Einwand "wirtschaftlich" ist natürlich berechtigt. Die CPU kostet ein paar Scheine, aber wenn man stattdessen eine Woche an den Symptomen herumbastelt kostet das auch etwas, bzw. doppelt weil man in der Zeit auch was Sinnvolles machen könnte. Wir sparen bei Einzelmaschinen und -anlagen bzw. bei den Kopfsteuerungen nicht an der Hardware, weil die Ersparnis mit einer Anreise immer x-fach aufgefressen ist.



Indu-Sol schrieb:


> An sich geht diese Empfehlung in die richtige Richtung, wenn die vorherrschende Netzlast im System zu hoch ist. Jedoch sollte hier das Augenmerk auf die Aktualisierungszeit der einzelnen Gerät gelegt werden und diese nach dem realen Bedarf eingestellt werden à ein wichtiges Thema der Netzwerkplanung. Hintergrund: Mit dem Sendetakt wird der Takt für die Aktualisierung im Netzwerk vorgegeben. Bei dem Beispiel von 1ms sendet die Steuerung jede Millisekunde Daten an die IO-Baugruppen. Ist nun eine Aktualisierungszeit flächendeckend von 2ms konfiguriert, dann wird im ersten Takt (erste Millisekunde) eine Hälfte der IO-Baugruppen angesprochen und im zweiten Takt (zweite Millisekunde) die zweite Hälfte. Wird nun ein Sendetakt von 4ms genutzt und die Aktualisierungszeit beträgt ebenfalls 4ms, dann werden alle 4ms alle IO-Baugruppen angesprochen, was die Netzlast sogar punktuell erhöht und somit die Warteschlangen in den Switches kurzzeitig auslasten kann.
> Empfehlenswert ist daher bei dieser Betrachtung ein niedriger Sendetakt (1ms oder sogar 0,25ms) und eine passende Aktualisierungszeit für die Endgeräte, um den entstehenden Datenverkehr möglichst gleichmäßig auf die Zeit zu verteilen und Spitzen zu vermeiden.


Mein Vorschlag spielt auch nicht auf die Netzlast an, sondern auf die Netzwerkausdehnung. Die gängigen Profinet-Aufbaurichtlinien besagen meines Wissens nach folgendes:
- 1 ms Sendetakt = max 7 Teilnehmer in Linie
- 2 ms Sendetakt = max. 14 Teilnehmer in Linie
- 4 ms Sendetakt = max. 28 Teilnehmer in Linie
Speziell bei Umrichtern innerhalb von Schaltschränken, wo es kaum EMV-Probleme geben dürfte und die i.d.R. jeder einen RT-tauglichen ER200-Switch drinnen haben sind somit auch bei 20 Teilnehmern in Linie keine Probleme zu erwarten.

Wie schon angemerkt, mit normaler RT-Last sind die managed Switches X200C faktisch nicht in die Knie zu zwingen, zumindest solange man nicht 100 Teilnehmer mit je 1400 Byte Daten und 1 ms Aktualisierungszeit einsetzt.




Indu-Sol schrieb:


> Ich gebe Ihnen hier recht, dass die Auswahl der Switches gerade bei komplexen Netzwerkstrukturen große Prio haben sollte. Jedoch ist das Thema Performance und Priorisierung nicht der gravierende Unterschied, da auch günstige IT Switche sehr schnell die Performance von den von Ihnen erwähnten Scalance XC200 um ein Vielfaches übersteigen. Schauen Sie sich hier einmal Werte wie z.B. Backplane Capacity, Data Throughput und Switchmemory an. Man sollte einfach ein Verständnis für dieses Thema haben und gerade bei komplexen Netzwerken (eine Vielzahl an unterschiedlichen Kommunikationsprotokollen und unterschiedlichste Kommunikationswege) das Thema planen, wofür einfache Hilfsmittel genutzt werden können. Und hier ist man einfach wieder bei dem Thema Netzwerkstabilität (Hardware mit passender Performance) und Wirtschaftlichkeit.


Das ist schon korrekt, aber bei reiner RT-Last nicht das Problem. Problematisch wird es meiner Erfahrung nach nur, wenn zusätzlich zur RT-Last viel datenlastiger Mist (HMI, OPC, Youtube, Kameras, .....) mit laufen - dann kommt es bei diesen zusätzlichen Diensten schnell zu Engpässen - und die kann man natürlich mit Switches mit höherer Backplane-Leistung oder mit Gigabit-Switches abfedern. Aber die RT-Kommunikation läuft!
Natürlich geht sowas auch mit günstigen IT-Switches (ich bin RT-Anlagen monatelang über USB-Switches von Conrad Electronic gefahren weil der Kunde die RT-Switches zur Hallenabindung nicht beigebracht hat.

Spannend wird es, wenn Dienste mit laufen, welche ebenfalls das QoS-Flag in den VLAN-Tags verwenden und somit höhere Priorität als Profinet-RT erzwingen ODER die IT-Switches so alt sind, dass sie dieses Tag nicht auswerten - aber hier nicht das Proböem!




Indu-Sol schrieb:


> Grundsätzlich stellt eine Anzahl von 100 PROFINET Geräten und 30 PROFIBUS Geräten aus Netzwerk- und SPS-Sicht kein Problem dar. Hier empfiehlt sich vielleicht eine Aktualisierungszeit von 8ms für die PROFINET Geräte. Zum Beispiel ermöglicht Siemens bei der 1518 eine Anbindung von bis zu 512 PROFINET IO Baugruppen und inkl. PROFIBUS und AS-i sogar bis zu 1000. Was aus meiner Sicht zu betrachten ist, ist die Komplexität des eigentlichen SPS Programmes und die hierfür notwendige Performance und natürlich die Zykluszeit. Vielleicht hat hier jemand einen Tipp, wie dies geplant und berechnet werden kann.



Es gibt nomninelle Daten von Siemens zum Thema Performance und unsere eigenen Erfahrungswerte.
Die Nominellen Angaben von Siemens ein Leistungsverhältnis (1515 : 1515SP OC : 1516 : 1517 : 1518 ) von 1 : 1 : 3 : 15 : 30.
Die tatsächlichen Erfahrungen mit gängigen Anlagen-Programmen ergeben ein Verhältnis von 1 : 10 : 3 : 45 : 90 - d.h. der Performance-Sprung von 1516 zu 1518 ist in Wirklichkeit 1:30 und nicht 1:10. Und wenn Kommunikation ins Spiel kommt, dann wird der Unterschied zwischen den 1-Core CPUs (<= 1516) und den Mehrkern CPUs (1517, 1518 ) noch eklatant größer.


----------

