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

Ergebnis 1 bis 9 von 9

Thema: S7-226 - Daten dauerhaft speichern

  1. #1
    Registriert seit
    13.08.2005
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    auf mich kommt die Aufgabe zu, Daten ins EEPROM (wg. dauerhaft) zu übertragen.
    Nun schreibt Siemens, daß es hierfür einen Befehl gäbe. Befehl ist, lt. Siemens,
    "Übertrage Daten ins EEPROM".
    Nur geben diese Schlauberger keine Syntax hierfür an. Daher kann ich diesen "Befehl" in Microwin 4 auch nicht finden.

    Weiß jemand wie das Problem zu lösen ist ?

    Besten Dank im voraus !
    S7 Grübel grübel ...
    Zitieren Zitieren S7-226 - Daten dauerhaft speichern  

  2. #2
    Registriert seit
    17.04.2004
    Beiträge
    28
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Im SMW32 wird die Adresse im DB angegeben wo gespeichert werden soll.
    Die Schreibsteuerung ist im SMB31.

    Der Schreibbefehl wird sofort ausgeführt (also nicht erst am Zyklusende).
    Deshalb sollte auch zuerst das SMW32 beschrieben werden und dann erst den Schreibauftrag starten.

    Ist in der Hilfe von MicroWin eigentlich nicht schlecht beschrieben.

    Gruß,

    Harald

  3. #3
    Registriert seit
    13.08.2005
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Harald,
    in der Hilfe steht es so :
    Zum Ausführen der Funktion laden Sie die Adresse, die gespeichert werden soll, in SMW32.

    Nun stellen sich die Fragen :
    1.) Wo bekomme ich die Adresse der Varaibalen (VB, VW, VD) her ?
    2.) Und woher weiß ich an welcher Adresse im EEPROM der abgespeicherte Wert liegt ?

    Wenn man die Antworten kennt, sind sicherlich die in der Hilfe angeführten Beschreibungen klar.
    Aber so aus dem Nichts ist das schon etwas intransparent.

    Ein kleines Programmbeispiel wäre hier sehr hilfreich.
    S7 Grübel grübel ...

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Zu 1)
    SMW32 Die Adresse im Variablenspeicher, deren Daten gespeichert werden sollen, wird in SMW32 abgelegt. Dieser Wert wird als Versatz von V0 angegeben. Wenn die Speicherfunktion ausgeführt wird, wird der Wert aus der Adresse im Variablenspeicher in der entsprechenden Adresse des Variablenspeichers im nullspannungsfesten Speicher (EEPROM) abgelegt.

    Heißt auf Deutsch:
    Ins SMW32 schreibst du die Nummer des Startbytes,
    nehmen wir mal an du willst VD1000 speichern,
    also 1000 ins SMW32 transferieren,
    Hex83 ins SMB31, Binär: 10000011
    und schon ist VD1000 ab dem nächsten Zyklus im EEPROM gespeichert.

    Zu 2)
    Ist so nicht relevant!

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Wichtig:
    Entgegen der Beschreibung von Harald wird der Schreibbefehl NICHT sofort ausgeführt,
    sondern erst am Zyklusende.
    Dies hat wiederum zur Folge das das ändern von SMW32, SMB31 nur einmalig pro Zyklus (sinnvoll) erfolgen kann.

    Zitat aus der Hilfe:
    Am Ende eines jeden Zyklus prüft die CPU, ob ein Wert im nullspannungsfesten Speicher abgelegt werden soll. Ist dies der Fall, dann wird der angegebene Wert im nullspannungsfesten Speicher abgelegt.
    Geändert von MSB (24.08.2006 um 15:59 Uhr)
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #6
    Registriert seit
    13.08.2005
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von MSB Beitrag anzeigen
    Zu 1)
    SMW32 Die Adresse im Variablenspeicher, deren Daten gespeichert werden sollen, wird in SMW32 abgelegt. Dieser Wert wird als Versatz von V0 angegeben. Wenn die Speicherfunktion ausgeführt wird, wird der Wert aus der Adresse im Variablenspeicher in der entsprechenden Adresse des Variablenspeichers im nullspannungsfesten Speicher (EEPROM) abgelegt.

    Heißt auf Deutsch:
    Ins SMW32 schreibst du die Nummer des Startbytes,
    nehmen wir mal an du willst VD1000 speichern,
    also 1000 ins SMW32 transferieren,
    Hex83 ins SMB31, Binär: 10000011
    und schon ist VD1000 ab dem nächsten Zyklus im EEPROM gespeichert.

    Zu 2)
    Ist so nicht relevant!

    Mfg
    Manuel

    Danke für die praxisorientierte Erkärung. Samples sind halt mal das A+O aller Handbücher.

    Muß aber nochmal zu Pkt.2 Stellung nehmen.
    Die Daten sollten ja nicht nur speichbar, sondern auch wieder greifbar sein.
    Wenn ich es richtig sehe, steht dann in VD1000 dauerhaft der abgelegte Wert ?
    D.h. wenn ich VD1000 verändern möchte, kann ich das machen, müßte aber die Veränderung wieder erneut abspeichern ?
    S7 Grübel grübel ...

  7. #7
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Also ich verstehe das anders,
    du speicherst irgendeinen Wert, z.B. 1000 von VD1000 in EEPROM,
    jetzt veränderst du VD1000 dynamisch im Programm ...

    Jetzt ist Spannungsausfall.

    Ist nun VD1000 remanent definiert (im Systemdatenbaustein) bleibt
    der Wert zum Zeitpunkt des Spannungsausfalls solange im VD1000,
    bis der Pufferkondensator leer ist also ca. 2 - 4 Wochen.
    Nach diesen ca. 2 Wochen wird dann der Wert der im EEPROM gespeichert ist,
    in VD1000 geladen.

    Im Grunde so verstehe ich das, ist das die Dynamisierung des Datenbausteins.

    Also nach längeren Spannungsausfall passiert also folgendes:
    Es werden entweder die V-Register mit dem Inhalt des Datenbausteins initialisiert,
    oder falls vorhanden mit den Werten im EEPROM.

    Mfg
    Manuel
    Geändert von MSB (24.08.2006 um 16:50 Uhr)
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  8. #8
    Registriert seit
    13.08.2005
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von MSB Beitrag anzeigen
    Also ich verstehe das anders,
    du speicherst irgendeinen Wert, z.B. 1000 von VD1000 in EEPROM,
    jetzt veränderst du VD1000 dynamisch im Programm ...

    Jetzt ist Spannungsausfall.

    Ist nun VD1000 remanent definiert (im Systemdatenbaustein) bleibt
    der Wert zum Zeitpunkt des Spannungsausfalls solange im VD1000,
    bis der Pufferkondensator leer ist also ca. 2 - 4 Wochen.
    Nach diesen ca. 2 Wochen wird dann der Wert der im EEPROM gespeichert ist,
    in VD1000 geladen.

    Im Grunde so verstehe ich das, ist das die Dynamisierung des Datenbausteins.

    Also nach längeren Spannungsausfall passiert also folgendes:
    Es werden entweder die V-Register mit dem Inhalt des Datenbausteins initialisiert,
    oder falls vorhanden mit den Werten im EEPROM.

    Mfg
    Manuel


    Ich möchte übers TD 200 eingebene Parameter dauerhaft abspeichern und im Programm als Positionsangabe (f. Schrittmotor) verwenden. Hierfür muß ich mir noch eine Sequenz basteln welche die Funktionstasten auswertet.

    Mit Deiner Angabe sollte es funktionieren. Ich muß nur EEPROM und Datenspeicher gleichhalten d.h. Eingaben sofort abspeichern.
    S7 Grübel grübel ...

  9. #9
    Registriert seit
    01.08.2005
    Beiträge
    247
    Danke
    3
    Erhielt 41 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    MSB hat das richtig gut beschrieben.

    Nur die Remanenz des eingebeuten Cap's ist doch kürzer. Laut HB:

    CPU221/222 typ. 50 Stunden
    CPU 224/224XP/226typ 100 Stunden.

    Ihr solltet auch nicht "ständig" ins EEPROM schreiben (max. 100.000 Schreibzyklen).

    Dummerweise gibts die Seite www.27-200.net nicht mehr. Da waren schöne brauchbar Lib's für das Schreiben ins EEPROM, auch für mehr als 4 Bytes.

    Sonst noch ein schönes Wochenende.

    Gruss

    Helmut

Ähnliche Themen

  1. Daten aus DB auslesen und speichern
    Von buhuu im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 12.04.2011, 08:16
  2. PID-Regelparameter dauerhaft speichern?
    Von HoGe im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 29.01.2010, 20:48
  3. Werte eines Array dauerhaft speichern!!
    Von SliderZ im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.02.2007, 12:49
  4. Antworten: 4
    Letzter Beitrag: 22.10.2005, 11:07
  5. Daten speichern
    Von Sascha77 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.03.2004, 06:33

Lesezeichen

Berechtigungen

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