Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Pointeradresse in einer STRUCT

  1. #1
    Registriert seit
    17.10.2007
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe da ein Problem mit den Pointeradressen. Und zwar habe ich eine STRUCT im Instanz-DB mit Namen "Schieberegister". Diese STRUCT beginnt bei Adresse 100.0. Diese STRUCT beinhaltet z.B. WORT1, WORT2, WORT3 und WORT4 oder auch ein ARRAY oder eine weitere STRUCT
    Die Anfangsadresse der STRUCT erhalte ich mit L P##Schieberegister.
    Wie bekomme ich denn nun die Adresse der darunterliegenden Variablen wie z. B. WORT4? L P##Schieberegister.WORT4 geht ja wohl nicht, oder?

    Vielen Dank für eure Hilfe.

    Gruß
    JoeCool16
    Zitieren Zitieren Pointeradresse in einer STRUCT  

  2. #2
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Hallo Joe,
    probiere mal folgendes:

    Code:
    L P##Schieberegister // Anfangsadresse als Pointer
    T #Zeiger // DWORD Format
    L LW [#Zeiger] // erstes Wort von Struct
    T MW x
    L #Zeiger
    L P#2.0
    +D
    T #Zeiger
    L LW [#Zeiger] // zweites Wort von Struct
    So eine abfrage wird hauptsächlich in einer Schleife gemacht.
    Das Beispiel funktioniert in einer FC mit Temp Variablen, da es sich bei Dir um einen Instanz DB handelt,
    könnte es auch sein das Du statt: L LW [#Zeiger] das schreiben musst: L DIW[#Zeiger]
    Bin mir jetzt nicht sicher und kann es nicht testen.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #3
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    Da gab es mal diesen Beitrag zu.
    http://www.sps-forum.de/showthread.php?t=19240

    Leider ist als Ergebnis herausgekommen, dass nur die Anfangsadresse der ersten Struktur geladen werden kann.

  4. #4
    JoeCool16 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.10.2007
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank für eure Antworten.
    Ich hab es mir fast schon gedacht, dass man den Inhalt nicht mehr symbolisch adressieren kann.

    Auslesen der Struktur ist kein Problem. Kann man mit dem Offset ja relativ einfach machen:

    Code:
    L P##Schieberegister // Anfangsadresse als Pointer
    LAR1
     
    L DBW [AR1,P#0.0]
    T MW x
     
    L DBW [AR1,P#2.0]
    T MW y
     
    L DBW [AR1,P#4.0]
    T MW z
    Nur hat man so ein Problem, wenn sich die Struktur verändert, deshalb wollte ich das ganze symbolisch machen.

    Gruß
    JoeCool16

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 08.04.2011, 14:36
  2. Antworten: 2
    Letzter Beitrag: 15.02.2011, 19:38
  3. DB-Struct in DB-Struct transferieren
    Von Marvin II im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.11.2007, 08:29
  4. Adressregister: Pointeradresse anzeigen
    Von sven im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.07.2007, 07:46
  5. Pointeradresse erhöhen
    Von tino2512 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 23.08.2006, 11:15

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •