BLKMOV in Lokal-Stack

Samiel

Level-1
Beiträge
50
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgendes Minimal-Bsp macht mir gerade Ärger:
Code:
// Pointer 1
L     B#16#10                     // 10h für S7      BYTE
T     LB    20
L     B#16#4                      // 04h für WORD    BYTE
T     LB    21
L     #WDHL                       // Wiederholungen  INT
T     LW    22
L     2                           // DB-Nummer       INT
T     LW    24
L     14                          // Anfangsadresse  INT
SLD   3
OD    DW#16#84000000              // Speicherbereich (DB)
T     LD    26
// Pointer 2
L     B#16#10                     // 10h für S7      BYTE
T     LB    30
L     B#16#4                      // 04h für WORD    BYTE
T     LB    31
L     #WDHL                       // Wiederholungen  INT
T     LW    32
L     0                           // DB-Nummer       INT
T     LW    34
L     42                          // Anfangsadresse  INT
SLD   3
OD    DW#16#86000000              // Speicherbereich (L)
T     LD    36

CALL  "BLKMOV"
       SRCBLK :=#Pointer1
       RET_VAL:=#abc
       DSTBLK :=#Pointer2
Ich möchte abhängig vom Übergabeparameter WDHL eine variable Anzahl von Wörtern in meinen Lokalstack kopieren. Funzt so aber nicht.
Fehlercode ist 8325h, sagt also das Pointer2 im falschen Bereich ist (Pointer2 = ANY im L-Stack).
Wird anstelle des 2. Pointers ein LW angegeben funktioniert das einwandfrei, ist aber halt nicht flexibel. Wird für den 2. Pointer Speicherbereich DB vorgegeben funktioniert sogar die variable Länge, ist aber halt nicht lokal.

Wird der Pointer auf die lokale Variable nicht unterstützt? Mich macht das alles ein wenig stutzig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Faszinierend. Funktioniert.

Wer lesen kann ist klar im Vorteil. Ich wollt auf die Lokaldaten vom SFC zugreifen. Cool.

Danke für die schnelle Antwort.

Andere Frage: Hier läuft grad ne S7-300. Mir war so, dass erst ab der S7-400 auf den V-Bereich zugegriffen werden kann. Oder hab ich das Funktionsprinzip nicht verstanden?
 
Zurück
Oben