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

Ergebnis 1 bis 6 von 6

Thema: pointer laden in muktiinstanzen

  1. #1
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wollte die frage schon immer mal stellen...

    ich habe einen fb, diesen rufe ich als multinstanz mehrmals auf.
    in dem fb habe ich einige indirekte berechnungen.
    wenn ich aber in dem fb einen pointer lade, ist die adresse falsch, da sie ja relativ zum datenbereich des fb ist.

    wenn also den pointer der ersten stat variable im fb lade, dann hat der den wert 0. das ist aber im bezug auf den db falsch, da der datenbereich für den aufgerufenen fb ja weiter hinten liegt.

    bisher lade ich immer von dem fb-aufruf den pointer der muliinstanz im aufrufenden fb, und gebe diesen wert als parameter an den aufgerufenen fb, dort wird er als offset zum geladenen pointer addiert.

    das geht doch bestimmt auch eleganter, oder nicht?

    danke!
    Zitieren Zitieren pointer laden in muktiinstanzen  

  2. #2
    Registriert seit
    19.06.2003
    Beiträge
    197
    Danke
    10
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo Markus

    Wenn du im FB mit dem AR1 arbeitest kannst den Adressversatz bei einem Multiinstanz-Aufruf folgendemasen berechnen:
    Code:
      TAR2  //Adressversatz in Akku 1 laden
      +AR1  //Inhalt von Akku1 zu AR1 addieren
    Gruss Martin

  3. #3
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Bei FB´s ist in dem AR2 der Offest der Datenhaltung. Deshalb darfst Du das AR2 auch nicht unbedacht im FB nutzen.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  4. #4
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard

    @plc_tippser
    Daher
    Code:
    L ar2
    t Temp
    .
    .
    .
    .
    L temp
    tar2
    Unterbrechnungen durch OB's nicht berücksichtigt. Dann würde noch das STW zusätzlich retten und wiederherstellen.
    Gruß
    Heinz

  5. #5
    Registriert seit
    19.06.2003
    Beiträge
    197
    Danke
    10
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo

    Das AR2 kann auch direkt in eine Variable gespeichert werden, ohne den Akku1 zu verändern.
    Code:
    TAR2 #Temp
    .
    .
    .
    LAR2 #Temp
    Gruss Martin

  6. #6
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ahhh - klar, da war doch was mit ar2 beim aufruf von bausteinen.

    danke euch!

Ähnliche Themen

  1. Pointer auf udt laden...
    Von Jochen Kühner im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.12.2013, 15:12
  2. TIA -Laden in ? (was ist zu tun?)
    Von progmann im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 07.07.2011, 22:51
  3. Frage zum laden von Daten (Pointer)
    Von INST im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.10.2008, 15:14
  4. Pointer aus Global DB laden
    Von Markus im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.11.2006, 09:23
  5. Typ als DW laden / awl
    Von kiestumpe im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 10.03.2006, 14:28

Lesezeichen

Berechtigungen

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