Datenformat eeprom

mariob

Level-3
Beiträge
2.052
Reaktionspunkte
276
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich stelle es einfach hier nochmal rein:

Also, CPU ist eine S7-22x und hier mein Text:

Hallo,
ich bin in der Firma nur ein ab und zu mal Nutzer dieses kleinen Systemes, sonst eigentlich nur Step5 und Siclimat. Meine Frage: Wie sieht das Adressformat zum Speichern eines Variablenwertes im internen eeprom aus? Im Handbuch wird außerdem noch etwas von einem Versatz von V0 geschrieben - ein konkretes Beispiel wäre: MOVW &Variable,SMW32 - geht logischerweise nicht, da Adressen offensichtlich Doppelwörter sind. Wie muß es also richtig aussehen (wahrscheinlich kann ich hier keine symbolische Adressierung nutzen)? Und wie kann ich prüfen, das der Wert tatsächlich hinterher zurückgeschrieben wird, falls mal der Pufferkondensator alle ist?

Danke mariob
 
Hallo,
Ich möchte mich nocmal in Erinnerung bringen, vielleicht kann mir jemand helfen.... In einem anderen Forum habe ich nochmal den Hinweis zu den Handbuchseiten erhalten, hier nochmal der Text meiner Antwort darauf, das beschreibt vielleicht das Problem etwas klarer.

Also,
danke erstmal für die schnelle Antwort neo, die betreffenden Textstellen kenne ich, ich habe dieses Handbuch von vorne bis hinten fast intus, essentiell ist für mich das Problem, das ich die Adresse für SMW32 nicht mit "&Variablenname" angeben kann sondern scheinbar mit "204" für z.B. VB oder VW 204. Nur muß das dezimal oder hexadezimal sein.... Das geht eben aus dem Handbuch nicht hervor. Es gibt auch Bibliotheksteile für solche Sachen, aber das sind scheinbar nur FUPs, man kann aber irgendwie nicht reinschauen, und ich schreibe halt lieber AWL. Von daher wäre ein Hinweis schonmal ganz sinnvoll von jemanden, der sowas schon mal probiert hat und ein Hinweis auf eine Verbesserung des Handbuches.

Danke mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab das zwar noch nicht gemacht, steht aber doch eigentlich ganz schön in der Hilfe-Datei.

Vorgehensweise:

Code:
NETWORK 1
LD     SM0.0
MOVW   +100, #REG_TO_SAVE

NETWORK 2
LD     #EPROM_Speichern
EU
MOVW   #REG_TO_SAVE, SMW32          //V Bereich in SMW32 (da mit 100 Beschrieben ab VB100
S      SM31.0, 2                    //Auswählen Doppelwort (Jetzt praktisch VD100)
R      M31.2, 5                     //Sonstige Bits im SMB31 plattmachen (Sicherheit)
S      SM31.7, 1                    //Schreibaktion Ausführen

NETWORK 3
LD     SM31.7
ED
R      #EPROM_Speichern, 1

NETWORK 4
LD     SM31.7
TON    T37, +10                     //Wenn Bit Schreiben nach 1 Sekunde von Steurung nicht zurückgesetzt wurde, dann Fehler

NETWORK 5
LD     T37
S      #EPROM_FAIL, 1               //Fehler setzen
MOVB   0, SMB31                     //SMB31 mit 0 überschreiben
MOVW   +0, SMW32                    //SMW32 mit 0 Überschreiben
Allerdings diese Sache mit Bedacht einsetzen, das EEPROM ist nur ca. 1000 mal beschreibbar!!!

Mfg
Manuel
 
Tausend Dank!
Ist genau das, was ich suchte..... Manchmal sieht man den Wald vor lauter Bäumen nicht - hätte aber auch nochmal im Handbuch stehen können. Na was solls, gibt ja auch Foren.

Danke an alle!
mario
 
Zurück
Oben