Arbeitsweise S7 300/400

RobRoy94

Level-1
Beiträge
40
Reaktionspunkte
0
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
 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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ß
 
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).
 
Zurück
Oben