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

Ergebnis 1 bis 7 von 7

Thema: Arbeitsweise S7 300/400

  1. #1
    Registriert seit
    13.03.2006
    Beiträge
    40
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!
    Kann mir jemand die Arbeitsweise einer S7 bezüglich compilieren erklären?
    Die "genaue" Frage:
    Wann wird das Programm, das ich in Step7 schreibe, compiliert? Erst in der S7 oder schon beim übertragen?
    Oder kann mir jemand eine Seite empfehlen wo ich sowas nachlesen kann?
    Vielen Dank im vorraus
    Roland
    Zitieren Zitieren Arbeitsweise S7 300/400  

  2. #2
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von RobRoy94 Beitrag anzeigen
    Hallo!
    Kann mir jemand die Arbeitsweise einer S7 bezüglich compilieren erklären?
    Die "genaue" Frage:
    Wann wird das Programm, das ich in Step7 schreibe, compiliert? Erst in der S7 oder schon beim übertragen?
    Oder kann mir jemand eine Seite empfehlen wo ich sowas nachlesen kann?
    Vielen Dank im vorraus
    Roland
    Im wesentlichen wird es (AWL vorausgesetzt) gar nicht compiliert. Der Code, der in die SPS geschrieben wird, entspricht dem AWL 1:1, mit Ausnahme der Call-Befehle und einiger Dinge, die mir gerade nicht einfallen. Step7 arbeitet da eher wie ein Makro-Assembler.

  3. #3
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Zottel Beitrag anzeigen
    Im wesentlichen wird es (AWL vorausgesetzt) gar nicht compiliert. Der Code, der in die SPS geschrieben wird, entspricht dem AWL 1:1, mit Ausnahme der Call-Befehle und einiger Dinge, die mir gerade nicht einfallen. Step7 arbeitet da eher wie ein Makro-Assembler.
    Ich glaube, das stimmt nicht ganz.
    Zumindest die 400er (bis auf die vor Jahren ausgestorbene 413) sind echte Compilermaschinen. Im Arbeitspeicher (NICHT Ladespeicher) wird ein MC7 Code abgelegt, der mit AWL garnichts mehr zu tun hat.

    Die 300er sind Interpreter, aber auch hier kommt IMHO MC7 zur Anwendung, nicht etwa AWL.

  4. #4
    Registriert seit
    08.09.2006
    Beiträge
    170
    Danke
    4
    Erhielt 26 Danke für 16 Beiträge

    Standard

    Hallo!

    Auf dem PC (oder PG), also im SIEMENS Step7 Paket, wird zunächst mal alles von SCL, KOP, FUP, AWL, ... in MC7-Code übersetzt (Ist zum größten Teil AWL mit ein paar kleinen Unterschieden).
    Das wird dann zur S7-CPU geschickt.

    Dort trennen sich die Wege:

    S7-300:
    Kompilieren des MC7-Codes auf native Code des jeweils eingesetzten Prozessors (319: MIPS64; 317: Tricore; Rest 31x: C165)

    S7-400, 318 und Speed7: Bei diesen CPUs ist MC7 der native Code des Prozessors, also keine Umsetzung notwendig (deswegen werden hier auch einige Sachen etwas "sauberer" Ausgeführt (z.B.: Sprünge in Verknüpfungsketten, L STW, und "Baustein Beobachten",...).



    Gruß


    Longbow

  5. #5
    Registriert seit
    13.03.2006
    Beiträge
    40
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erstmal für die Antworten!
    Was würde sich denn auf der Speicherkarte befinden?
    Dort müssten doch die normal in Step7 programmierten FC's usw. liegen, die dann kompiliert und an die CPU geschickt werden.
    Was ich nicht ganz verstehe:
    Es ist ja möglich während des Betriebes einen FC zu ändern. D.h. der Maschinencode für das komplette Programm ändert sich. Werden die FC's dann erst auf der Memory Card zwischengespeichert, dann in der SPS zu einem neuen Maschinencode kompiliert, und zwischen einem Zyklus in der CPU ersetzt?
    Gruß Roland

  6. #6
    Registriert seit
    08.09.2006
    Beiträge
    170
    Danke
    4
    Erhielt 26 Danke für 16 Beiträge

    Standard

    Zitat Zitat von RobRoy94 Beitrag anzeigen
    Danke erstmal für die Antworten!
    Was ich nicht ganz verstehe:
    Es ist ja möglich während des Betriebes einen FC zu ändern. D.h. der Maschinencode für das komplette Programm ändert sich. Werden die FC's dann erst auf der Memory Card zwischengespeichert, dann in der SPS zu einem neuen Maschinencode kompiliert, und zwischen einem Zyklus in der CPU ersetzt?
    Gruß Roland
    Hallo!

    Trifft die Sache ziemlich gut. Allerdings bin ich mir nicht ganz sicher, ob bei SIEMENS nicht noch mehr auf die MMC geschrieben wird.

    Gruß

  7. #7
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von RobRoy94 Beitrag anzeigen
    Was ich nicht ganz verstehe:
    Es ist ja möglich während des Betriebes einen FC zu ändern. D.h. der Maschinencode für das komplette Programm ändert sich. Werden die FC's dann erst auf der Memory Card zwischengespeichert, dann in der SPS zu einem neuen Maschinencode kompiliert, und zwischen einem Zyklus in der CPU ersetzt?
    Gruß Roland
    Wo sie zwischengespeichert werden, entzieht sich meiner Kenntnis, aber das entscheidende ist, daß der neue Baustein zunächst vollständig im Maschinencode vorliegen muß, natürlich an einer anderen Speicheradresse. Der Aufruf der Bausteins erfolgt über eine Liste der Adressen. Dort wird die Adresse des alten durch die des neuen ersetzt, ab dann wird der neue aufgerufen. Das lies sich bei der S5 noch schön verfolgen (und manipulieren).

Ähnliche Themen

  1. Arbeitsweise CPU - Diskussionsfutter
    Von Lobo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 24.01.2007, 13:39

Lesezeichen

Berechtigungen

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