AnyPointer erste Zeile?

PhilippGleich

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich habe ein kleines Problem ich habe einen AnyPoiter dieser funktioniert auch aber ich würde gerne wissen was die erste Zeile bringt?? bzw ob ich sie weg lassen kann?

LAR1 P##anypointer_quelle //zeiger ins adressregister laden
L W#16#10 //SyntaxID. bei S7 immer 10
T LB [AR1,P#0.0]
L W#16#2 //Typ BYTE
T LB [AR1,P#1.0]
L 280 //Anzahl Bytes
T LW [AR1,P#2.0]
L #tmp_DBNR //Quell-DB
T LW [AR1,P#4.0]
L #tmp_offset //Anfang der Quelle
SLD 3
T LD [AR1,P#6.0]
L B#16#84 //Speicherbereich (hier DB)
T LB [AR1,P#6.0]
 
mach die zeile doch mal weg ;)

naja, dein forscherdrang scheint nicht sooo ausgeprägt zu sein, also die kurze erklärung: LAR1 P##bla lädt die anfangsadresse von #bla ins adressregister. dies ist hier notwendig um in folge mit T LB[AR1,P#1.0] auf die bestandteile von bla zugreifen zu können
 
Hallo, ich hätte auch noch einige Frage zu denn folgenden Zeilen
irgendwie hab ich es verstanden aber irgendwie auch nicht.......

So sieht es im Programm aus:

LAR1 P##Data // Anfangsadresse Any-Pointer

L B#16#10
T LB [AR1,P#0.0]

L B#16#2
T LB [AR1,P#1.0]

L #Input
T LW [AR1,P#2.0]
L #DB
T LW [AR1,P#4.0]

L P##signal
UD DW#16#7FFFF

OD DW#16#84000000
T LD [AR1,P#6.0]

CALL "DPRD_DAT"
LADDR :=#LADDR
RET_VAL:=#RET_VAL
RECORD :=#Data

vorallem die roten zeilen sind mir nicht ganz klar

=> Data ist ein temp anypointer und steht gleich im ersten Netzwerk ????? adresse immer 0
=> signal ist ein byte / wo ist das sld 3 ?????

Bin schon am Verzweifeln.......
 
Zuletzt bearbeitet:
Guggst du bitte zuerst in die FAQ des Forums, dort gibt es einen super Beitrag genau zu dem Thema. Auch die Bedeutung von
UD DW#16#7FFFF
OD DW#16#84000000
kannst du dort finden, wenn du das mal durcharbeitest.

PS: Die erste Zeile maskiert, die zweite Zeile fügt dann etwas hinzu.
 
Zurück
Oben