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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 36 von 36

Thema: Der S7-1200 unter den Rock geschaut

  1. #31
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    6.048
    Danke
    147
    Erhielt 1.783 Danke für 1.291 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    Die Steuerung compiliert den Code dann selbst oder interpretiert die den etwa?? Dann würde das doch Zykluszeittechnisch niemals hinhauen.
    Nein, der Binärkomponente wird separat übertragen, das ist der Teil welchen ich im 1. Post beschrieben habe.
    Diese weiteren Informationen liegen wahrscheinlich nur auf der Steuerung herum, ohne dass sie von dieser verwendet werden. Zumindest ist das meine Vermutung aus dem was ich sehe.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  2. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    Ralle (05.03.2017)

  3. #32
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    6.048
    Danke
    147
    Erhielt 1.783 Danke für 1.291 Beiträge

    Standard

    Ich habe noch etwas zur Speicherbelegung bei optimierten Datenbausteinen nachgeforscht. Dass die Daten der Speichergröße der Variablen nach sortiert abgelegt wurden hat Siemens ja schon im Programmierleitfaden gezeigt. Aber man kann ja mal nachschauen ob das auch stimmt. Stimmt soweit, gibt also eigentlich nichts neues.

    Ich habe mir einen Datenbaustein mit diversen Variablen angelegt, und diesen mit verschiedenen Optionen übersetzt und in die CPU geladen (1200 FW4.2). Als Optionen habe ich einmal die nicht-optimierte Variante, dann einmal optimiert mit allen Variablen ohne Remanenz, und optimiert mit alternierend remanent/nicht remanent verwendet.

    Aufbau der "Test-DBs", die Nummern der Variablennamen finden sich in den Speicherkästchen wieder:
    DB-aufbau.jpg

    Die Speicherbelegung bei "nicht optimiert" ist so wie sie auch im TIA Portal angezeigt wird:
    DB-nicht-optimiert.jpg

    In der "optimierten" Variante werden die Variablen nach Größe sortiert abgelegt, spart in diesem Fall sagenhafte 6 Bytes:
    DB-optimiert-nichts-remanent.png

    Werden einzelne Variablen remanent geschaltet, so landen diese in einem separaten Speicherbereich getrennt von den nicht-remanenten:
    DB-optimiert-remanenz-alternierend.jpg

    Für den ersten großen freigebliebenen Block habe ich noch keine Erklärung.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  4. #33
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.809
    Danke
    209
    Erhielt 428 Danke für 340 Beiträge

    Standard

    Normalerweise sollte doch bei optimiert jedes bool ein eigenes byte belegen...

    Oder ist das nur bei 1500er CPU so?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #34
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    6.048
    Danke
    147
    Erhielt 1.783 Danke für 1.291 Beiträge

    Standard

    Diesen Bool-Type der ein ganzes Byte benötigt besitzt eine eigene Datentypkennung, diesen habe ich bei der 1200 zumindest in einem Global-DB noch nicht gesehen.

    Bei der 1500 gibt es das, aber da habe ich mangels Test-Hardware keine Möglichkeit das Verhalten dort zu analysieren.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  6. #35
    Registriert seit
    17.03.2016
    Beiträge
    13
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Laut Programmierleitfaden wird auf der 1200 ja anders optimiert als auf der 1500.

    Auf der 1200 wird Speicheroptimiert abgelegt, heisst jedes Bool ist auch nur ein Bit gross und auf der 1500 Zugriffszeitoptimiert, jedes Bool wird jetzt ein Byte gross.

  7. #36
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    6.048
    Danke
    147
    Erhielt 1.783 Danke für 1.291 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich konnte es mal an einer S7-1500 testen. Dort nehmen in optimierten DBs die Bools wirklich ein Byte ein.

    Datenbaustein "optimiert":
    S71500-DB-optimiert-nichts-remanent.jpg

    Datenbaustein "optimiert" mit alternierender Remanenz:
    S71500-DB-optimiert-remanenz-alternierend.jpg

    Bei vielen Bools schlägt das beim Speicherbedarf schon recht ordentlich zu Buche.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

Ähnliche Themen

  1. TIA Seltsames Verhalten der TON-Timer bei der S7-1200
    Von Thomas_v2.1 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.05.2013, 23:56
  2. Antworten: 10
    Letzter Beitrag: 07.12.2012, 07:22
  3. Antworten: 9
    Letzter Beitrag: 08.10.2012, 11:24
  4. Blick unter den Rock...
    Von Borsti im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 06.02.2008, 10:50
  5. Was ist der Unterschied bei den Adressierungen...
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.09.2005, 17:09

Lesezeichen

Berechtigungen

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