TIA Peek & pook

husox81

Level-1
Beiträge
57
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe mir das TIA (S7-1500) installiert und versucht ein paar kleine Programme zu schreiben.

Bei den Funktionen von PEEK und POKE ist mir folgendes aufgefallen:

- PEEK: der byteOffset von der Variable muss um 1 höher liegen, als die Adresse vom Quell-DB!
- POKE: der byteOffset von der Variable muss um 0 höher liegen, als die Adresse vom Ziel-DB!

Hat das bei der Funktion von PEEK einen speziellen Grund dafür?

Code:
// Wert von DB1.DBW0 abholen und in TEMP_WORD_1 schreiben
#TEMP_WORD_1 := PEEK(area := 16#84, dbNumber := 1, byteOffset := 1);


// Den Wert von TEMP_WORD_1 DB2.DBW0 schreiben
POKE(area := 16#84,
     dbNumber := 2,
     byteOffset := 0,
     value := #TEMP_WORD_1);

Bild1.jpg
 
Wenn ich's richtig in Erinnerung hab', dann liest Du in Deinem Code mit Peek ein Byte und übergibst zum Schreiben mit Poke ein Word (2 Byte).

Du müsstest IMHO eigentlich Peek_Word und Poke_Word verwenden.
 
Zurück
Oben