Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Codeausführung bei S7 vs B&R Automation Runtime

  1. #1
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich frage mich gerade wie intern der Programmcode auf den verschiedenen Steuerungen ausgeführt wird.

    Punkt 1:
    Bei der S7-300 wird ja der (MC7) Code direkt vom Prozessor ausgeführt, bzw wird jeder Befehl des MC7 code als Opcode Codiert vom Prozessor abgearbeitet.
    Bei der S7-1500 habe ich hier im Forum mal gelesen das dieser SCL Code direkt ausführt. Stimmt dies?
    Also sind da für die SCL Befehle auch eigene Opcodes hinterlegt?
    Was passiert mit dem Code von den anderen Sprachen? Wird das auch wieder als MC7 Code ausgeführt?

    Punkt 2:
    Weiters interessiert es mich wie dies bei B&R (X20 CP148x) durchgeführt wird.
    Hier gibt es ja die Automation Runtime.
    Wenn ich das richtig verstehe dann wird hier eine CPU emuliert,
    und im Hintergrund läuft ein Betriebssystem (VxWorks?) welches die Automation Runtime ausführt.
    Also der Code wird nicht direkt vom Prozessor verarbeitet sondern von der Automation Runtime.
    Ist dies zu Vergleichen mit der Java Virtual Machine die den Java Bytecode ausführt?

    Auf der Homepage von B&R habe ich nicht viel dazu gefunden die meine Fragen bzw Wissenslücken dazu auffüllen.

    Punkt 3:
    Desweiteren würde mich interessieren wie die Verarbeitungsgeschwindigkeit des Codes bei B&R aussieht.
    In der S7 steht ja im Handbuch die CPU - Bearbeitungszeiten, im Handbuch zur X20CP1486 habe ich nur die typische Befehlszykluszeit gefunden.
    Gilt diese für alle Befehle?
    Wie können die Bearbeitungszeiten denn nun verglichen werden?

    Für eine S7-1516 steht im Handbuch:
    CPU-Bearbeitungszeiten
    • für Bitoperationen, typ. 10 ns
    • für Wortoperationen, typ. 12 ns
    • für Festpunktarithmetik, typ. 16 ns
    • für Gleitpunktarithmetik, typ. 64 ns

    Die typische Befehlszykluszeit der X20CP1486 liegt jedoch bei 3,4ns.

    Sind die B&R Steuerungen wirklich um so viel schneller gegenüber einer neuen S7-1500?


    Ich freue mich über jede Antwort die ein wenig Informationen über die Verarbeitung von Programmcode in den SPSen enthält.

    godi
    Zitieren Zitieren Codeausführung bei S7 vs B&R Automation Runtime  

  2. #2
    Registriert seit
    05.04.2012
    Beiträge
    952
    Danke
    94
    Erhielt 216 Danke für 191 Beiträge

    Standard

    ... hier kann man bzgl. der S7-1500 einiges rauslesen:
    http://support.automation.siemens.co...ew/de/81318674

    wenn es um Performance geht, dann kannst Du ja noch auf die 1518 warten, die nochmal richtig schneller sein soll.
    Was hast Du denn für Anwendungen, wo es auf die Zykluszeit ankommt?
    Bei MotionControl Anwendungen würde ich bei SIEMENS z.B. eine SIMOTION nehmen.

  3. Folgender Benutzer sagt Danke zu zako für den nützlichen Beitrag:

    godi (08.02.2014)

  4. #3
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Hallo,
    danke für deine Antwort!
    Mir gehts jetzt nicht um ein Projekt oder speziell um Zykluszeiten.
    Mich interessiert wie dies intern Abläuft, vor allem bei B&R.
    Ich habe Gestern nur mit jemanden gesprochen, der gemeint hat, dass er mal einen Kunden gehabt hat der S7 einsetzen wollte aber diese zu langsam war.
    In dem Fall ging es um Regler (mittels Optimierung) die aus Simulink generiert wurden.

    Aber wie gesagt, ich bin jetzt ganz allgemein an dem Thema interessiert.


    Edit:
    Punkt 1 ist im oben verlinkten Dokument im Kapitel 2.3 Optimierter Maschinencode beschrieben.
    Demnach wird jede Sprache direkt in Maschinencode kompiliert.
    Geändert von godi (08.02.2014 um 21:40 Uhr)

  5. #4
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.493
    Danke
    1.142
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Die 1500er sind keine schlechten Steuerungen.
    Von der Geschwindigkeit darf man von den bisherigen CPUs keine Wunder erwarten.

    Hier hat Siemens sicher noch einiges an Potential.

    Gruß
    Dieter

  6. #5
    Registriert seit
    19.07.2008
    Ort
    Aachen
    Beiträge
    270
    Danke
    2
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Wenn ich mich nicht irre ist doch auch B&R im Kern auf CoDeSys basiert.
    Und wenn dem so ist, dann wird der Code kompiliert und zwar für den konkreten Prozessor. Dieses Kompilat wird dann auf dem Prozessor ausgeführt. Die Runtime sorgt in dem Fall von VXWorks vermutlich nur dafür, dass dieser Code in einer eigenen RT-Task ausgeführt wird. Bei Systemen, die auf Nicht-RT-Betriebssystemen aufsetzen, sorgt die Runtime vor allem dafür, dass der SPS-Code deterministisch und hochprior behandelt wird, quasi am Scheduler des OS vorbei. Es findet aber m.W.n. keine Emulation oder sowas statt.

    Wenn's dir um "richtig schnell" geht bin ich mal polemisch, aber es stimmt: Nimm KEINE Siemens-Steuerung. Einer der Gründe für die oben von dir genannte Steigerung der Befehlsausführungszeit bei Siemens ist, dass - soweit ich weiß, korrigiert mich, wenns falsch ist - die S7-Steuerungen noch immer 16-Bit-Prozessoren ohne FPU haben.

    Die meisten anderen Hersteller setzen mittlerweile auf Soft-SPS auf Standard-CPU's (Intel z.B.). Diese CPU's haben i.d.R. auch eine FPU und mittlerweile oft sogar 64-Bit-Prozessoren. Letzteres nützt natürlich nur was, wenn die Runtime auch 64-Bit kann. Und dann kann die CPU üblicherweise auch alle Operationen innerhalb eines Zyklus ausführen.

    BTW: Ich halte das mit dem "SCL Code wird direkt ausgeführt" für ein Gerücht. Vermutlich meinte der, der das behauptet hat damit, dass der SCL-Code direkt kompiliert wird und nicht in irgendwelchen AWL-Code "zwischenübersetzt". Ob das ohne eine FPU und mit nur 16 Bit im Prozessor aber eine signifikante Leistungssteierung bedeutet sei mal dahin gestellt.

    Ein direkter Vergleich könnte jedenfalls knifflig sein. Ich würde aber mal schätzen, dass in ziemlich jeder Anwendung B&R um min. 1-2 Größenordnungen schneller sein dürfte. Bei viel "Mathe" wird dieser Abstand signifikant größer werden. Bin aber kein B&R-Spezialist sondern eher bei Beckhoff zu Hause (und komme ursprünglich von Siemens, das nur zur Info).
    Ich habe jedoch kürzlich in einem Projekt einen CX2030 (<2000€ inkl. Motion-Runtime) zur Steuerung und Positionsregelung von insgesamt 11 Servoachsen plus massig SPS-Code bei einer realen Ausführungszeit von unter 100µs eingesetzt. Und ich glaube, dass das bei B&R auch gehen würde.
    "Always code as if the guy, who ends up maintaining your code, is a violent psychopath who knows, where you live."
    -------------------------------------------------------------------------------------------------------------------------------------------------------
    Youtube-Channel

  7. Folgender Benutzer sagt Danke zu Majestic_1987 für den nützlichen Beitrag:

    godi (09.02.2014)

  8. #6
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Hallo
    Zitat Zitat von godi Beitrag anzeigen
    Hallo,


    Punkt 2:
    Weiters interessiert es mich wie dies bei B&R (X20 CP148x) durchgeführt wird.
    Hier gibt es ja die Automation Runtime.
    Wenn ich das richtig verstehe dann wird hier eine CPU emuliert,
    und im Hintergrund läuft ein Betriebssystem (VxWorks?) welches die Automation Runtime ausführt.
    Also der Code wird nicht direkt vom Prozessor verarbeitet sondern von der Automation Runtime.
    Ist dies zu Vergleichen mit der Java Virtual Machine die den Java Bytecode ausführt?

    Auf der Homepage von B&R habe ich nicht viel dazu gefunden die meine Fragen bzw Wissenslücken dazu auffüllen.
    Das mit der Automation Runtime musst du dir ein wenig anders vorstellen.

    Die RT schafft einfach gesagt die Basis für die Ausführung der vom Anwender erstellten Programmteile. Diese werden ja als .br Module in die Steuerung gespielt. Die Runtime stellt als erstes mal die gesamte Funktionalität zur Verfügung.

    Dazu gehört unter anderem

    - File Handling
    - Variablen Funktionen
    - Connectivity
    - ...
    - ..

    Das ganze könnte man im Vergleich mit Windows mit einer Ansammlung von DLL's vergleichen, welche die Funktionalitäten zur Verfügung stellen.

    Weiters wird natürlich das gesamte Taskhandling von der RT durchgeführt. Abarbeitung der Taskklassen, Einhaltung der Zeitslots, die Unterbrechung der langsameren Taskklassen um die schnelleren durchzuführen. IO handling, Feldbus usw. usf.

    Habe einen kurzen Screenshot aus der B&R Hilfe (-->Echtzeit Betriebssystem/Arbeitsweise) eingefügt. Ich nehme an du hast AS und damit die Hilfe zur Verfügung.

    Aufgaben Betriebssystem.jpg

    BG
    bb

  9. Folgender Benutzer sagt Danke zu bits'bytes für den nützlichen Beitrag:

    godi (09.02.2014)

  10. #7
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Danke euch für die ausführliche Information, und den Hinweis mit der Hilfe. Habe ich total übersehen, dass es in der Hilfe ein eigenes Kapitel über das Echtzeit Betriebssystem gibt. Das werde ich mir jetzt mal genauer durchlesen.

    Aber ich hätte nicht gedacht, dass die Unterschiede zu Siemens noch so groß sind. Naja wenn man von Anfang an und überall mit Siemens verseucht wird, dann hat man ein striktes SPS-Siemensweltbild.

  11. Folgender Benutzer sagt Danke zu godi für den nützlichen Beitrag:

    viler84 (10.02.2014)

  12. #8
    Registriert seit
    05.04.2012
    Beiträge
    952
    Danke
    94
    Erhielt 216 Danke für 191 Beiträge

    Standard

    Aber ich hätte nicht gedacht, dass die Unterschiede zu Siemens noch so groß sind.
    Bei Siemens gibt`s ja nicht nur ne SIMATIC. Da gibt`s die SIMOTION, SINUMERIK, FM- Baugruppen, SIMATIC TDC, ...

  13. #9
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Zitat Zitat von Majestic_1987 Beitrag anzeigen
    Wenn ich mich nicht irre ist doch auch B&R im Kern auf CoDeSys basiert.
    Wir (3S) haben vor >10 Jahren mal Compiler und Editoren an B&R verkauft. Seitdem haben wir nichts mehr mit B&R zu tun.
    In aktueller Software von B&R ist kein CODESYS mehr drin.

    Die angegebenen Zeiten sprechen dafür, dass beide Systeme direkt Maschinencode erzeugen und den ausführen.

    Wenn man die Geschwindigkeit zweier SPSen vergleichen will, dann reicht es jedenfalls nicht, einfach nur die CPU-Zeiten miteinander
    zu vergleichen. Es geht dann um Speicherzugriffe, um die Anbindung der IOs etc.
    Es könnte auch Skalierungseffekte geben, ein 10 Mal so grosses Programm könnte vielleicht 100 Mal so lange brauchen.
    Es könnte Unterschiede geben ob die einzelnen Bausteine klein oder gross sind.

    Das ist ein schwieriges Thema, und die CPU-Bearbeitungszeit allein sagt noch nicht viel aus.

    Leider gibt es (noch) keinen allgemein anerkannten Benchmark um SPSen miteinander zu vergleichen.
    Deswegen bleibt einem nichts anderes übrig als selber Projekte zu schreiben und zu vergleichen, wenn man es wirklich wissen will.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  14. Folgender Benutzer sagt Danke zu Werner29 für den nützlichen Beitrag:

    godi (10.02.2014)

  15. #10
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von zako Beitrag anzeigen
    Bei Siemens gibt`s ja nicht nur ne SIMATIC. Da gibt`s die SIMOTION, SINUMERIK, FM- Baugruppen, SIMATIC TDC, ...
    Ja es stimmt schon, dass es bei Siemens alles gibt.
    Natürlich die Simatic TDC hat schon einen 64-Bit Prozessor eingebaut, aber für kleinere Anlagen wo jetzt ein eigener etwas komplexer Regler verbaut ist, bestimmt ein wenig teuer.

Ähnliche Themen

  1. Automation Trainee bei B&R
    Von jj777 im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 15.12.2012, 14:29
  2. IEC Timer- Messung in B&R Automation Runtime
    Von MPH im Forum Sonstige Steuerungen
    Antworten: 21
    Letzter Beitrag: 17.10.2012, 13:01
  3. B&R Automation
    Von ralfsps im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 24.06.2010, 21:34
  4. B&R Automation Runtime
    Von Markus80 im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 21.06.2010, 09:17
  5. S5 Codeausführung in Intervall
    Von Einherjer14 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2006, 03:07

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •