Ab und an wird allerdings der OB122 Programmierfehler aufgerufen, klickt man auf "Gehe zu" springt er auf diese Zeile,
weil hv auf 51 steht. Der DB geht nur bis 50.
Du meinst OB
121 ? Hast Du noch den genauen/kompletten Wortlaut des Diagnosepuffer-Eintrags?
(vermutlich "Bereichslängenfehler beim Schreiben")
Wird in Deinem FB35 innerhalb der FOR-hv-Schleife auf Variablen oder Speicherbereiche von VAR_TEMP indirekt oder mit BLKMOV oder anderen Bausteinen zugegriffen?
Ändert sich das Verhalten, wenn Du hv als allererste Variable in VAR_TEMP deklarierst (also an LW 0)?
Ändert sich das Verhalten, wenn Du hv als zweite oder allerletzte Variable in VAR_TEMP deklarierst, und direkt davor irgendeine Dummy-Variable (z.B. ein DWORD oder ein 20-Byte-Array)?
Ändert sich das Verhalten, wenn Du im SCL-Compiler Einstellungen änderst?
Extras > Einstellungen > Compiler
[x] Objektcode optimieren
[ ] Feldgrenzen überwachen
[x] Debug Info erstellen
Welchen AWL-Code der SCL-Compiler erzeugt kann man so sehen:
- den KOP/AWL/FUP-Editor öffnen, z.B. mit Doppelklick auf einen Baustein der als "Erstellsprache" AWL, KOP, FUP oder DB hat
- im KOP/AWL/FUP-Editor dann "Datei > Öffnen..." öffne den vom SCL-Compiler erzeugten FB35 (aus dem "Bausteine" Ordner)
Vielleicht kannst Du uns den erzeugten AWL-Code zeigen.
Harald