-> Hier kostenlos registrieren
Hallo,
ich habe in einer Funktion Daten einer in Variable (Typ Pointer), möchte diese Daten bearbeiten und das Ergebnis in eine Out Variable (Typ Pointer) schreiben.
Zuerst habe ich den ersten Schritt programmiert, also das Lesen und bearbeiten des IN Parameters.
Das Ergebnis wird hier in DB1.DBD8...15 geschrieben.
Soweit funktioniert alles wie gewünscht.
Jetzt möchte ich die Daten flexibel in den DB schreiben. Also in eine Out Variable (Datentyp Pointer).
Wenn ich den Code so in die Steuerung lade, geht die CPU mit der Meldung "Bereichlängenfehler beim schreiben" in Stop.
Ja, ich habe das mit den Pointern wohl nicht ganz verstanden :-(
Wie könnte ich das Problem lösen / was mache ich falsch?
Gruß
Daniel
ich habe in einer Funktion Daten einer in Variable (Typ Pointer), möchte diese Daten bearbeiten und das Ergebnis in eine Out Variable (Typ Pointer) schreiben.
Zuerst habe ich den ersten Schritt programmiert, also das Lesen und bearbeiten des IN Parameters.
Das Ergebnis wird hier in DB1.DBD8...15 geschrieben.
Code:
L P##DATEN
LAR1
L D [AR1,P#2.0]
T #temp
L #temp
LAR1
L D [AR1,P#0.0]
T DB1.DBD 8
L D [AR1,P#4.0]
UD DW#16#FFFFFFF7 //z.B.
T DB1.DBD 12
Soweit funktioniert alles wie gewünscht.
Jetzt möchte ich die Daten flexibel in den DB schreiben. Also in eine Out Variable (Datentyp Pointer).
Code:
L P##OB1_Date_Time
LAR1
L D [AR1,P#2.0]
T #temp
L #temp
LAR1
//geht nicht!!!
L P##DATE_TIME_PLC
LAR2
L D [AR2,P#0.0]
T #temp
L #temp
LAR2
L D [AR1,P#0.0]
T D [AR2,P#0.0]
L D [AR1,P#4.0]
UD DW#16#FFFFFFF7 //z.B.
T D [AR2,P#4.0]
Wenn ich den Code so in die Steuerung lade, geht die CPU mit der Meldung "Bereichlängenfehler beim schreiben" in Stop.
Ja, ich habe das mit den Pointern wohl nicht ganz verstanden :-(
Wie könnte ich das Problem lösen / was mache ich falsch?
Gruß
Daniel