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

Ergebnis 1 bis 8 von 8

Thema: Multiinsatzproblem (any)

  1. #1
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    habe aus meinem FB einen Multiinstanz-Aufruf gemacht. Seither stoppt die SPS.

    Ein Bereichslängenfehler. Fehler (blinkender Cursor) wird an der roten markierten Stelle angezeigt.
    Könnt ihr mir helfen?

    Code:
          LAR1  P##_UIDany
          TAR2                              // transfer instance offset into ACCU1
          +AR1                              // add offset to AR1 -wg.Multiinstanzfähigkeit!!!
     
          L     B#16#10                     // 10h für S7       
          T     LB [AR1,P#0.0]
    
          L     B#16#2                      // 02h für BYTE 
          T     LB [AR1,P#1.0]
     
          L     50                              // 50 Bytes 
          T     LW [AR1,P#2.0]
     
          L     #_getDBNummer                    // DB-Nummer 
          T     LD [AR1,P#4.0]
     
          L     10                          // Anfangsadresse   
          SLD   3
          T     LD [AR1,P#6.0]
     
          L     B#16#84                     // Speicherbereich (DB) 
          T     LB [AR1,P#6.0]
    Zitieren Zitieren Multiinsatzproblem (any)  

  2. #2
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Wo ist die Variable "_UIDany" deklariert ? IN, TEMP, ... ?

  3. #3
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Dein UIDany, ist das eine temporäre Variable? Wenn ja, darfst du nicht den Offset aus AR2 addieren. Wenn nicht solltest an der rot markierten Stelle nicht in LB sondern in B transferieren.
    mfG Aventinus

  4. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    Limette (19.12.2011)

  5. #4
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ein Any (TEMP)

  6. #5
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Also kein TAR2 und kein +AR1.
    Dann sollte es gehen !

  7. Folgender Benutzer sagt Danke zu Lupo für den nützlichen Beitrag:

    Limette (19.12.2011)

  8. #6
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    danke. hast recht. warum ist das so. wann braucht man dann TAR2 und +AR1 ?

  9. #7
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Um bei einen Multinstanz FB, den Offset der nicht Temponären Variablen herauszufinden.

  10. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    Limette (19.12.2011)

  11. #8
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Den Offset braucht man nur bei Zugriffen auf die Instanzdaten (also DIy). Für die Zugriffe auf den temporären Lokaldatenbereich braucht man keinen Offset, da der nicht im IDB beziehungsweise bei Multiinstanzaufrufen nihct im übergeordneten IDB liegt.
    Gruß
    Michael

  12. Folgender Benutzer sagt Danke zu M-Ott für den nützlichen Beitrag:

    Limette (19.12.2011)

Lesezeichen

Berechtigungen

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