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

Ergebnis 1 bis 4 von 4

Thema: Ausrichtungsfehler beim Schreibe

  1. #1
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Leute ich bins wieder,
    habe schon nach dem Fehler hier im Forum geguckt aber nicht meinen Fall gefunden.
    Ich benutze eine VIPA CPU 313SC und Step7 V5.4
    Mein Code befindet sich im FB85 mit Instanzen DB.
    DB402 ist ein globaler Datenbaustein.
    DB402.dbd8.0 beinhaltet die Adresse von einem Wert der im Array_Werte steckt (db402.dbx0.0 bis db402.dbx2.1)

    Code:
          AUF   DB   402
          L     P#DBX 8.0                   // Zeiger auf Array_Reihenfolge_(1)
          LAR1  
          T     MD   546
          L     DBD [AR1,P#0.0]             // Inhalt im Array_Reihenfolge_(1)
          LAR1  
          T     #Zeigermerker_ar1
          T     MD   550
    
    // ---  Abfragen ---
          AUF   DB   402
          L     P#DBX 0.0                   // Zeiger auf Array_Werte(1)
          LAR2                              
          T     #Zeigermerker_ar2
          T     MD   554
          
          L     #Zeigermerker_ar1
          L     #Zeigermerker_ar2
          ==D   
    
          SPBN  sk01
          = #Freigabe1            
          SPB   end
    
    sk01: AUF   DB   402
          L     P#DBX 0.1                   // Zeiger auf Array_Werte(2)
          LAR2                              
          T     #Zeigermerker_ar2
          T     MD   558   
    
          L     #Zeigermerker_ar1
          L     #Zeigermerker_ar2
          ==D   
          SPBN  sk02
          =  #Freigabe2             
          SPB end
    
    sk02: ...
    
    end: nop 0
    Im MD554 und MD558 stehen die richtigen Adressen drin, aber die SPS geht in Stop und "sagt": Ereignis-ID 16# 2529
    "Instanz-DB, Doppelwortzugriff, Falsche Adresse: 6"

    Die Stelle an der die SPS in Stop geht, ist ganz woanders im Code und hat mit meinem Code hier doch nichts zu tun, oder?
    Nehme ich den Code wieder raus, stopt die SPS an der Stelle nicht mehr, also muss das irgendwas mit dem Adresszugriff zu tun haben, oder?

    Die Unterbrechung ist ein Aufruf in ein anderen FB mit gewissen IN / OUTS ... auch dabei ist die "#Freigabe1". Die falsche Adresse im Instanzen DB bezieht sich zwar auf den Aufruf aber auf eine ganz andere Variable.

    Ich hoffe, ich konnte mein Problem so gut es geht beschreiben.
    Zitieren Zitieren Ausrichtungsfehler beim Schreibe  

  2. #2
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Sicherst du deine Adressregister?
    Wenn du Ar2 nimmst muss du es vorher sichern und am Ende wieder zurückschreiben, da dieses Register für die Adressierung im InstanzDB verwendet wird.


    bike

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

    Standard

    Hallo,

    sind #Zeigermerker und #Freigabe Statische Variablen?
    Das kann nicht gehen.
    Du überschreibst das AR2 und willst dann wieder auf den Bereich zugreifen.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  4. #4
    Hello_SPS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Oh ha, AR2 sichern und später wieder zurückgeben, das ist die Lösung! Danke euch. Habe bis jetzt noch nichts davon gehört. Ich hatte deswegen bissle recherchiert und es klingt plausibel.
    Also in Zukunft, Adressregister sichern. Sicher ist sicher

    Wie gesagt, danke!

Ähnliche Themen

  1. Wie lese oder schreibe ich eine datei?
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 23.07.2011, 20:54
  2. Ich schreibe Diplomarbeit und habe Fragen an euch
    Von Ruhrpottler im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 15.03.2011, 23:27
  3. Antworten: 3
    Letzter Beitrag: 30.11.2007, 14:42
  4. Lese/Schreibe Ports
    Von enter im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.07.2007, 17:18
  5. Schreibe Datensatz in Steuerung
    Von Waelder im Forum HMI
    Antworten: 0
    Letzter Beitrag: 23.11.2006, 11:32

Lesezeichen

Berechtigungen

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