Step 7 Profinet - Daten schnell übertragen

Glasesba

Level-2
Beiträge
266
Reaktionspunkte
79
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich hab folgende Anwendung. Ich möchte mit einer S7 (317 oder 319) von einem Profinet Device (ET200S) Analogwerte einlesen und an ein anderes Profinet Device direkt wieder ausgeben (das andere Device ist ein Koppler zu einer überlagerten Steuerung). Ich könnte einen OB35 mit 2ms laufen lassen in dem ich dann einfach "L PEWxx" und "T PAWxx" programmieren würde. Allerdings ist das glaube ich nicht die eleganteste Lösung weil ich ja jedesmal direkt auf die Peripherie zugreife. Nun war meine Überlegung die entsprechenden Adressbereiche nicht dem OB1 Prozessabbild zuzuordnen sondern dem TPA-1. Ich würde dann im OB35 zuerst mit dem SFC26 die Eingänge des TPA-1 einlesen, dann ganz normal mit "L EWxx" und "T AWxx" die Daten rumkopieren und dann die Ausgänge des TPA-1 mit dem SFC27 schreiben. Alternative gäbe es noch den OB61, allerdings bin ich mir da nicht sicher ob dieser mit Profinet RT überhaupt funktioniert oder ob er nur mit IRT funktioniert. Was wäre eurer Meinung nach die eleganteste Lösung, vielleicht gibt es ja noch eine ganz andere Lösung?

Gruß Sebastian
 
Hallo,

ich hab folgende Anwendung. Ich möchte mit einer S7 (317 oder 319) von einem Profinet Device (ET200S) Analogwerte einlesen und an ein anderes Profinet Device direkt wieder ausgeben (das andere Device ist ein Koppler zu einer überlagerten Steuerung). Ich könnte einen OB35 mit 2ms laufen lassen in dem ich dann einfach "L PEWxx" und "T PAWxx" programmieren würde. Allerdings ist das glaube ich nicht die eleganteste Lösung weil ich ja jedesmal direkt auf die Peripherie zugreife. Nun war meine Überlegung die entsprechenden Adressbereiche nicht dem OB1 Prozessabbild zuzuordnen sondern dem TPA-1. Ich würde dann im OB35 zuerst mit dem SFC26 die Eingänge des TPA-1 einlesen, dann ganz normal mit "L EWxx" und "T AWxx" die Daten rumkopieren und dann die Ausgänge des TPA-1 mit dem SFC27 schreiben. Alternative gäbe es noch den OB61, allerdings bin ich mir da nicht sicher ob dieser mit Profinet RT überhaupt funktioniert oder ob er nur mit IRT funktioniert. Was wäre eurer Meinung nach die eleganteste Lösung, vielleicht gibt es ja noch eine ganz andere Lösung?

Gruß Sebastian

Ist Dir klar welche CPU-Last ein 2ms Zyklus bedeutet?
Möchest Du wirklich eine CPU 319 zu einer Lade-Transfer Maschine machen?
Wie schnell ist das Analogsignal überhaupt?
Wie schnell wird das Signal von der übergeordneten Steuerung gelesen und verarbeitet? Braucht die auch 2ms Taktung?
Warum von Profinet zu Profinet Device und nicht direkt vom Profinet eilesen in die Ziel-CPU da offensichtlich am gleichen Bus?

Gruß

Johannes
 
Zuviel Werbung?
-> Hier kostenlos registrieren
schau erstmal, wie schnell die Analogkarten überhaupt sind. Habs jetzt für ne ET200S nicht im Kopf, aber unter Umständen liegst Du da schon im 100ms Bereich... Dann brauchst Dir über die schnelle Kopplung keine Sorgen machen.
 
Je nach Analog-Karte lösen die Pro Kanal mit unterschiedlichen Zeiten auf.
Wenn du eine "normale" hast, erinnere ich mich, ist die Auflösezeit bei 30ms für ein analoges Strom-Signal 4-20mA, bei Widerständsmessung um die 68ms.
Wenn du nun eine 8er Karte alle Kanäle ausnutzt, hast du somit 30ms*8 minimalste Aktualisierungszeit für einen Kanal.
Sprich, alle 240ms ändert sich der Wert. Hier macht eine Übertragung alle 2ms absolut keinen Sinn!

Selbst die HF-Karte lösen pro Kanal zwischen 3 und 5ms auf. Und da die ziemlich Teuer sind, würde ich nicht einen Kanal nur nutzen, um ein Analog-Signal
zu übertragen!
 
schau erstmal, wie schnell die Analogkarten überhaupt sind. Habs jetzt für ne ET200S nicht im Kopf, aber unter Umständen liegst Du da schon im 100ms Bereich... Dann brauchst Dir über die schnelle Kopplung keine Sorgen machen.

Also Klemmen haben wir die hier:

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

Die Wandlungszeit sollte da kein Problem sein.

Inzwischen hab ich noch mit dem Support von Siemens Kontakt aufgenommen. Wie vermutet schreibt die SPS mit PAW nicht direkt in die Peripherie sonden in einen Speicherbereich der CPU. Dieser Speicherbereich wird dann mit der Profinet Aktualisierungszeit an die Klemme rausgeschrieben. Somit müsste die Lösung mit PEW/PAW bzw. SFC14/SFC15 für größere Blöcke funktionieren.

Um die Zykluszeit mach ich mir keine großen Sorgen. Es handelt sich maximal um 20-30 Kanäle, die sollte eine 319 locker mit 2ms verarbeiten können. Dann wird halt das restliche Programm langsamer aber das ist nicht so tragisch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist Dir klar welche CPU-Last ein 2ms Zyklus bedeutet?
Möchest Du wirklich eine CPU 319 zu einer Lade-Transfer Maschine machen?
Wie schnell ist das Analogsignal überhaupt?
Wie schnell wird das Signal von der übergeordneten Steuerung gelesen und verarbeitet? Braucht die auch 2ms Taktung?
Warum von Profinet zu Profinet Device und nicht direkt vom Profinet eilesen in die Ziel-CPU da offensichtlich am gleichen Bus?

Gruß

Johannes

Die übergerodnete Steuerung misst mit 1kHz.

Das Profinet Device an das die Daten rausgeschrieben werden ist ein Koppler von Profinet auf Ethercat (Beckhoff EL6631-0010), die übergeordnete Steuerung kann kein Profinet, nur Ethercat.
 
Zuletzt bearbeitet:
Dann die ET200S direkt an diese Koppler verbinden. Du brauchst kein S7 dazwischen.

Der Grund warum wir die Signale über die SPS übertragen wollen ist weil wir in den entsprechenden Schaltschränken sowieso eine ET200S für Safety und andere Signale haben. Deswegen wollen wir da noch die Analogmodule dranhängen. Ansonsten müssten wir eine seperate Businsel (Ethercat) für die Analogsignale einbauen die dann direkt vom übergeordneten System eingelesen werden. Das wollen wir uns sparen da es eben nur ein paar Kanäle sind.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Also Klemmen haben wir die hier:

Um die Zykluszeit mach ich mir keine großen Sorgen. Es handelt sich maximal um 20-30 Kanäle, die sollte eine 319 locker mit 2ms verarbeiten können. Dann wird halt das restliche Programm langsamer aber das ist nicht so tragisch.

Nur mal angenommen das Programm das im 2 ms Zyklus aufgerufen wird Lade, Transfer, Send, Recive benötigt 1ms.
Das bedeutet für Dich 50% CPU Last. Für das Betriebsystem muss man auch noch gut 10% spendieren. Bleiben Dir mit viel Glück 30-35% Leistung von deiner 319 CPU zur Verfügung.
Mit einer 315 und einer direkten Kopplung erzielst Du ein besseres Ergebnis zu niedrigeren Kosten.

Gruß

Johannes
 
Nur mal angenommen das Programm das im 2 ms Zyklus aufgerufen wird Lade, Transfer, Send, Recive benötigt 1ms.
Das bedeutet für Dich 50% CPU Last. Für das Betriebsystem muss man auch noch gut 10% spendieren. Bleiben Dir mit viel Glück 30-35% Leistung von deiner 319 CPU zur Verfügung.
Mit einer 315 und einer direkten Kopplung erzielst Du ein besseres Ergebnis zu niedrigeren Kosten.

Gruß

Johannes

Ich habe sowieso entweder eine 317F oder 319F und an der entsprechenden Stellen auch schon eien ET200S. Diese macht die ganze Anlagensteuerung, Safety, usw... . Ohne den OB35 mit 2ms würde eine 319F mit 6-7ms Zykluszeit laufen. Selbst wenn (was ich nicht glaube) sich der OB1-Zyklus durch den OB35 auf 20ms verlängert ist das vollkommen egal weil es nur Steuer- und Überwachungsfunktionen sind. Allerdings sparen wir uns dadurch seperate Buskoppler und Verkabelung für das Messystem.
 
Zuletzt bearbeitet:
Ich habe sowieso entweder eine 317F oder 319F und an der entsprechenden Stellen auch schon eien ET200S. Diese macht die ganze Anlagensteuerung, Safety, usw... . Ohne den OB35 mit 2ms würde eine 319F mit 6-7ms Zykluszeit laufen. Selbst wenn (was ich nicht glaube) sich der OB1-Zyklus durch den OB35 auf 20ms verlängert ist das vollkommen egal weil es nur Steuer- und Überwachungsfunktionen sind. Allerdings sparen wir uns dadurch seperate Buskoppler und Verkabelung für das Messystem.

In welchem OB läüft das Sicherheitsprogramm? Auch im OB35?
Wenn Dein Programm im OB35 2ms beträgt und Du dieses Programm alle 2ms aufrufst dann bleiben Dir noch genau 0ms für den Rest!
Dem OB1 bleiben keine Ressourcen mehr übrig.

Gruß

Johannes
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nur mal angenommen das Programm das im 2 ms Zyklus aufgerufen wird Lade, Transfer, Send, Recive benötigt 1ms.
Das bedeutet für Dich 50% CPU Last.
Für eine 319F wird Lade, Transfer, Send, Recive keine 1 ms dauern.
Es gibt viele Anwendungen mit Zeitinterrupt in den ms-bereich, und mit viel mehr 'Arbeit' als Lade, Transfer, Send, Recive.

Wie die Daten von den S7 nach Beckhoff Profinet Koppler kommen ist nicht diskutiert geworden. Ich schlage vor das der S7 CPU teilen die Daten als I-Device mit der Beckhoff Controller als Profinet IO Controller. Das geht am schnellsten, und es gibt kein Programmierungsaufwand in der S7, ausser das erste Laden von die Daten von den Prozessimage.
 
Also wenn die CPU noch F-Funktionen ausführen soll, kannst du das mit 2ms vergessen. Das Sicherheitsprogramm muss 2 Mal abgearbeitet werden und das Ergebnis wird dann verglischen.
Sind beide gleich, ist das Safety-Programm ok. Diese Verarbeitung wird immer zwingend von der CPU ausgelöst da Safety vorgeht.
Wenn du 6-7ms Zykluszeit hast, und alle 2ms den OB35 startest, wird die SPS nach einschalten keine 150ms später in den Watchdog gehen!
 
Zurück
Oben