Hallo zusammen,
ich muss folgenden S5-Code in der S7 realisieren:
Code:
MAB
LRW +3 ;Schreibzeiger
LRW +12 ;Laenge des Datensatzes
XF
LRW +13 ;Datenwort Beginn Eintrag
+F
usw.
Im Basisadressregister steht die Adresse des aktuell geöffneten DBs.
Um dies effizient umzusetzen, habe ich mir gedacht, dass man die Adresse des Datenbausteins ins AR1 oder AR2 schreibt und dann mit
Code:
L LW[AR1,P#6.0]
lädt.
Nur dafür muß man die Adresse als Pointer ins AR1 schreiben und genau da liegt mein Problem. Wie kann ich die Adresse des aktuell geöffneten DBs ermitteln
Der DB wird vorher indirekt geöffnet:
Hallo Vierlagig,
ich möchte ganz gerne mit dem AR1 arbeiten. Dann könnte man den Code einfach umsetzen:
Code:
L LW[AR1,P#6.0]
L LW[AR1,P#24.0]
*I
T LW[AR1,P#26.0]
Ansonsten müßte man einen Datenwort-Zeiger realisieren:
Code:
L 6
SLD 3
T #DWZeiger
L DBW[#DWZeiger]
T #Zwischen
L 24
SLD 3
T #DWZeiger
L DBW[#DWZeiger]
L #Zwischen
*I
T #Zwischen
L 26
SLD 3
T #DWZeiger
L #Zwischen
T DBW[#DWZeiger]