-> Hier kostenlos registrieren
Moin Moin!
ich habe einen DB mit einem array [1..13] ab der adresse 210. jedes element des arrays ist 1142 Byte lang. Bei 13 Elementen ist der DB 15056 Bytes lang.
ich lade ein element des arrays zum editieren in einen anderen baustein und transferiere ihn nach dem editieren wieder zurück. das funktioniert bei meiner CPU 313 C 6ES7 313-5BF03-0AB0 nur bis zum 7ten Element. wenn ich das 8te element editieren will lädt die cpu zwar daten aber wenn ich sie wegspeicher kann ich sie im array nicht wiederfinden. als ob die indirekte adressierung ab dem 8ten Element in meinem array nicht mehr funktioniert.
nun habe ich in folgendem PDF auf seite 4 gelesen dass die maximale Byte-Adresse im Pointer CPU-abhängig ist.
kann mir jemand sagen ob das stimmt und wenn ja weiß jemand wo ich eine tabelle mit den CPUs und der max Byte-Adresse finde?
oder woran könnte mein fehler sonst liegen?
mein code für die adressierung:
// adresse berechnen
L element-Nr
L 1
-I
L 1142
*I
L 210
+I
T #Adresse
//Zeiger der Quelle bilden
L W#16#300
T LW 0
L 1142
T LW 2
L DB-Nr
T LW4
L #Adresse
SLW 3
L P#DBX0.0
+D
T LD 6 // Quell-Zeiger
// Ziel-Adresse und Ziel-Zeiger berechne ich nach dem gleichen Muster
call BLKMOV
mit Quell-Zeiger
mit Ziel-Zeiger
danke für die hilfe!
ich habe einen DB mit einem array [1..13] ab der adresse 210. jedes element des arrays ist 1142 Byte lang. Bei 13 Elementen ist der DB 15056 Bytes lang.
ich lade ein element des arrays zum editieren in einen anderen baustein und transferiere ihn nach dem editieren wieder zurück. das funktioniert bei meiner CPU 313 C 6ES7 313-5BF03-0AB0 nur bis zum 7ten Element. wenn ich das 8te element editieren will lädt die cpu zwar daten aber wenn ich sie wegspeicher kann ich sie im array nicht wiederfinden. als ob die indirekte adressierung ab dem 8ten Element in meinem array nicht mehr funktioniert.
nun habe ich in folgendem PDF auf seite 4 gelesen dass die maximale Byte-Adresse im Pointer CPU-abhängig ist.
kann mir jemand sagen ob das stimmt und wenn ja weiß jemand wo ich eine tabelle mit den CPUs und der max Byte-Adresse finde?
oder woran könnte mein fehler sonst liegen?
mein code für die adressierung:
// adresse berechnen
L element-Nr
L 1
-I
L 1142
*I
L 210
+I
T #Adresse
//Zeiger der Quelle bilden
L W#16#300
T LW 0
L 1142
T LW 2
L DB-Nr
T LW4
L #Adresse
SLW 3
L P#DBX0.0
+D
T LD 6 // Quell-Zeiger
// Ziel-Adresse und Ziel-Zeiger berechne ich nach dem gleichen Muster
call BLKMOV
mit Quell-Zeiger
mit Ziel-Zeiger
danke für die hilfe!