TIA Array zu String

christian_87

Level-1
Beiträge
33
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, ich probiere die ganze Zeit Daten vom Typ Array in einem String zu schieben das funktioniert auch so weit also die Daten kommen an mit dem Befehl MOVE aber bei jeder Übertragung kommt es in der CPU zu diesem Fehler:

Temporärer CPU-Fehler: Bereichslängenfehler in FC 6
betrifft OB 1 Ausführung
Lesezugriff DB-Bereich
fehlerhafte Adresse, Operand ersetzt
Bearbeitung wird fortgesetzt (keine OB-Bearbeitung)
|> HW_ID= 52
interne Adressierungsdetails: Caddr=16#00000331, Bereich: DB 3 , Adr: 4294967288

Die CPU arbeitet weiter nur ist das Problem das die CPU paar mal im Tag komplett aussteigt und in Störung geht.

Wie könnte ich das anders schieben ? Hab noch MOVE_BLK probiert das funktionierte aber nicht.

Gruß Christian
 
das ist eine CPU 1215 DC/DC/DC.
BflBleGQAAAABJRU5ErkJggg==


#lauf wird immer um 1 erhöht solange #lauf<30 weil die Daten 30 Byte groß sind.
 
Wie und wo ist #lauf definiert?
Ist das u.U.eine Temp, die nicht jeden Zyklus mit dem gewünschten Wert beschrieben wird?
Man müßte schon die gesamte Schleife sehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Läuft die Schleife in einem Zyklus komplett durch oder ist das eine "offene" Schĺeife, die in jedem Zyklus um 1 hochgezählt wird?
 
also so ist es programmiert:

Start
"Daten".Puffer[#lauf] MOVE "Daten".Satz[#lauf]

#lauf inc

#lauf < 31 jmp
Das heißt also, daß #lauf verwendet wird, bevor #lauf ein Wert zugewiesen wird?
Oder wo wird #lauf direkt vor der Verwendung in der Schleife garantiert ein Wert zugewiesen?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
0 für #lauf wäre falsch, wenn du dein Array von 1..30 definiert hast und wenn ich recht erinnere geht es auch im String bei 1 los.
Du mußt also #lauf eine 1 zuweisen.
 
Zurück
Oben