-> 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)
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.
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
"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.