Pointerproblem

Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
//Pointer AR1 auf IN_OUT-Parameter z erstellen
      LAR1  P##z                    //Adresse Parameter z im DI in AR1
      TAR2                          //Multinstanz-Offset von AR2 in Akku1
      +AR1                          //zu AR1 addieren => Pointer auf Parameter z

//Wert des Pointers z in AR1 laden
//      L     W [AR1,P#0.0]           //DB-Nummer - hier nicht benötigt
      L     D [AR1,P#2.0]           //Bereichskennung + Adresse
      LAR1  

//das über Parameter z adressierte Bit verarbeiten
      U      [AR1,P#0.0]
      =     A      0.1
Harald


Klappt auch. Danke. :)

gleiche frage wie an "vierlagig" auch:

kannst mir die zeile bitte nochmal erklären.:)

L D [AR1,P#2.0]
 
Wenn du bei den Hilfethemen in Step 7 unter Pointerformat nachsiehst, wirst du sehen wie dieser aufgebaut ist. Da kannst du dann sehen, dass im Byte 2 der Speicherbereich hinterlegt ist
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Vorsicht das Beispiel von PN/DP ist für einen FB.

Du willst doch von aussen die Bereichskennung + Adresse übergeben?
Das geht nur über diese Art, anders ist es wenn z als BOOL deklariert ist, dann würde LAR1 einmal reichen so wie in Deinem ersten Post.

Drücke doch im AWL-Editor mal F1 und gib bei suchen Pointer ein, da findest du den Aufbau des Pointers.

Gruss Daniel
 
kannst mir die zeile bitte nochmal erklären.:)

L D [AR1,P#2.0]
Siehe Format des Datentyps POINTER

Wenn AR1 auf den POINTER zeigt, dann
L W [AR1,P#0.0] - lädt Byte 0 + 1 = DB-Nummer
L D [AR1,P#2.0] - lädt Byte 2 bis 5 = Bereichskennung und Adresse

Harald
 

Anhänge

  • Pointerformat.jpg
    Pointerformat.jpg
    139,8 KB · Aufrufe: 23
Zurück
Oben