-> Hier kostenlos registrieren
Hey,
ich bekomme einen Bereichslängenfehler, wenn ich versuche mein Programm in die SPS zu laden. direkt im Anschluss geht die SPS in den STOP.
verursacht wird dieser wohl durch eine indirekte Adressierung in diesem FC.
Wenn ich mir den Fehler anzeigen lasse, wird mir bereits das erste #actual[#Motor_ID] angezeigt.
Das Array #Arduino1 ist in einem nicht-optimierten DB und ist ein Array mit Modbusregistern, aus denen gelesen und in die geschrieben wird. Der Wert aus dem ersten Register soll als Arrayindex verwendet werden. Dazu wird er im ersten Netzwerk in eine Temp vom Typ UInt gespeichert.
Die anderen Werte sind alle in optimierten Bausteinen abgelegt.
Aufgerufen wird der FC über den ENO eines anderen FB (aber das scheint keine Rolle zu spielen - der Fehler kommt prinzipiell). Projektiert wurde das Ganze in V15.1.
Ich verstehe den Fehler (vielleicht kann jemand das grundlegende Problem erklären?) an dieser Stelle nicht und würde mich sehr über Hilfe freuen.
Besten Dank im Voraus,
RosiBro.
ich bekomme einen Bereichslängenfehler, wenn ich versuche mein Programm in die SPS zu laden. direkt im Anschluss geht die SPS in den STOP.
Code:
1 von 329; Ereignis-ID: 16# 02:4010
CPU-Info: Durch System angestoßene Anforderung: STOP
Anlaufsperre(n) anstehend:
- keine Anlaufsperre gesetzt
CPU wechselt von Zustand RUN nach STOP
Software PLC_1 / Software PLC_1
Kommendes Ereignis
Ereignistyp: OK
19.04.2022 14:44:22.813
(Kodierung: 16# 20 01 00 0F 16 E7 4C D4 38 25 66 2E 40 10 0C 01 00 64 40 00 10 00 00 34 00 02 00 00 08 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
2 von 329; Ereignis-ID: 16# 02:4210
Temporärer CPU-Fehler: Programmierfehler (OB-Startereignis)
CPU wechselt in STOP-Zustand (keine OB-Bearbeitung)
Software PLC_1 / Software PLC_1
Kommendes Ereignis
Ereignistyp: Fehler
19.04.2022 14:44:22.811
(Kodierung: 16# 20 01 00 13 16 E7 4C D4 38 08 05 CD 42 10 0C 05 00 00 00 00 10 05 00 34 00 02 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
3 von 329; Ereignis-ID: 16# 02:2522
Temporärer CPU-Fehler: Bereichslängenfehler in FC 7
betrifft OB 1-Ausführung
Lesezugriff Flüchtiger DB-Bereich
fehlerhafte Adresse, Operand ersetzt
Software PLC_1 / Software PLC_1
interne Adressierungsdetails: Caddr=16#0000028A, Bereich: Flüchtiger DB-Bereich, Adr: 268435460
Kommendes Ereignis
Ereignistyp: Fehler
19.04.2022 14:44:22.811
(Kodierung: 16# 34 01 00 13 16 E7 4C D4 38 07 94 EB 25 22 0C 41 A1 8C 00 07 00 00 00 34 00 02 00 00 AE 8B 00 01 01 07 00 03 00 00 02 8A 00 00 00 01 AE 8B 00 08 10 00 00 04)
4 von 329; Ereignis-ID: 16# 02:400E
CPU-Info: Über Kommunikation angestoßene Anforderung: WARMSTART
Anlaufsperre(n) anstehend:
- keine Anlaufsperre gesetzt
CPU wechselt von Zustand ANLAUF nach RUN
Software PLC_1 / Software PLC_1
verursacht wird dieser wohl durch eine indirekte Adressierung in diesem FC.

Wenn ich mir den Fehler anzeigen lasse, wird mir bereits das erste #actual[#Motor_ID] angezeigt.
Das Array #Arduino1 ist in einem nicht-optimierten DB und ist ein Array mit Modbusregistern, aus denen gelesen und in die geschrieben wird. Der Wert aus dem ersten Register soll als Arrayindex verwendet werden. Dazu wird er im ersten Netzwerk in eine Temp vom Typ UInt gespeichert.
Die anderen Werte sind alle in optimierten Bausteinen abgelegt.
Aufgerufen wird der FC über den ENO eines anderen FB (aber das scheint keine Rolle zu spielen - der Fehler kommt prinzipiell). Projektiert wurde das Ganze in V15.1.
Ich verstehe den Fehler (vielleicht kann jemand das grundlegende Problem erklären?) an dieser Stelle nicht und würde mich sehr über Hilfe freuen.
Besten Dank im Voraus,
RosiBro.