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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Frage(n) zu Pointern

  1. #1
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich wollte fragen, ob beide dargestellten Codes identisch sind und so funktionieren - es geht um einen Datenbaustein (P#DB22.DBX5.6)?

    Möglichkeit 1:

    L 22
    T LW[AR1,P#0.0]
    L 5
    SLD 3
    L 6
    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]


    Möglichkeit 2:

    L 22
    T LW[AR1,P#0.0]
    L P#DBX5.6
    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]

    Grüße

    pinolino
    Geändert von pinolino (03.07.2009 um 13:55 Uhr)
    Zitieren Zitieren Frage(n) zu Pointern  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Da fehlt noch eine Addierung (die 6 zur 3 mal links geschobenen 5) und dann muß das Ganze noch in das AR1 rein. Ins AR1 übrigens beide Versionen
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    pinolino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,
    wie kann ich denn diese Addierung vornehmen?

    Kannst du mir die Änderung mal vorgeben, danke!

    pinolino
    Geändert von pinolino (03.07.2009 um 14:09 Uhr)

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Ach Käse, jetzt sehe ich erst, daß due ja was ganz anderes machen willst.
    Ich nahm an, du willst die Werte laden. Dann ist das anders.

    Sieh mal in der FAQ nach unter Any, Beitrag von Volker. Da ist das gut beschrieben.

    Aber das Addieren geht so:

    L 5
    SLD 3
    L 6
    +D
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    pinolino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hm... wenn ich es richtig verstanden habe, dann sollten jetzt beide (unten stehenden) Möglichkeiten einen Pointer P#DB22.DBX5.6 darstellen - oder habe ich noch etwas vergessen?


    Möglichkeit 1:

    L 22
    T LW[AR1,P#0.0]
    L 5
    SLD 3
    L 6
    +D
    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]


    Möglichkeit 2:

    L 22
    T LW[AR1,P#0.0]
    L P#DBX5.6
    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]


    Grüße
    Geändert von pinolino (03.07.2009 um 14:41 Uhr)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    jetzt stimmt es ... fast ...

    bei Möglichkeit 2 muß es heißen :
    L P#5.6 statt L P#DBX5.6

    Gruß
    LL
    Geändert von Larry Laffer (03.07.2009 um 15:38 Uhr)

  7. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Muss nicht, bei einen P#DBX wird die Bereichskennung gleich mitgeladen (0x84).

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    gut ... wenn dem so ist, dann kann er sich das :
    L B#16#84
    T LB[AR1,P#2.0]
    sparen ...

  9. #9
    pinolino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, vielen Dank!

    Somit ergeben sich also im Grunde drei gleichwertige Möglichkeiten, den Pointer P#DB22.DBX5.6 darzustellen.

    Frage: Welche Art ist denn am Üblichsten, um den Pointer darzustellen?



    Möglichkeit 1:


    L 22
    T LW[AR1,P#0.0]
    L 5
    SLD 3
    L 6
    +D
    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]


    Möglichkeit 2:

    L 22
    T LW[AR1,P#0.0]
    L P#5.6

    T LD[AR1,P#2.0]
    L B#16#84
    T LB[AR1,P#2.0]



    Möglichkeit 3:

    L 22
    T LW[AR1,P#0.0]
    L P#DBX5.6
    T LD[AR1,P#2.0]



    Grüße

    pinolino

  10. #10
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    möglichkeit 1 ist am flexibelsten, wenn die zieladresse dynamisch ermittelt wird.
    bei möglichkeit 3 kannste den pointer schon fast direkt hinschreiben.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Indirekte Adressierung mit 2 Pointern
    Von TorstenX im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 01.03.2011, 12:39
  2. Indirekte Adressierung FB mit Pointern
    Von kliebisch.m im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 28.10.2010, 12:06
  3. Antworten: 1
    Letzter Beitrag: 30.05.2010, 10:58
  4. Arbeiten mit zwei Pointern im FB
    Von ottokar24 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 28.01.2009, 10:13
  5. Fragen zu Pointern
    Von INST im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 28.05.2004, 19:20

Lesezeichen

Berechtigungen

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