-> Hier kostenlos registrieren
Hallo an alle,
vorarb noch mal bin blutiger Einstierger und finde grade meinen Fehler nicht...
Ich versuche die ganze Zeit aus einem DB-Array von einem UDT Typ eine Variabele herraus zu kopieren, nach den Beispielen von:
http://spsforum.eu/showpost.php?p=77858&postcount=1
http://www.sps-forum.de/showpost.php?p=245815&postcount=11
Die Struktur des UDT ist auf dem Bild zu sehen.
Vorab beziehe ich mich auf den ersten Datensatz des Arrays.
Übergabe Parameter:
zielDBW = w#16#1
anzSchrtitWudt10W = w#16#8
anfangsAdrZielDbW =w#16#0
Vielen Dank im Vorraus P
vorarb noch mal bin blutiger Einstierger und finde grade meinen Fehler nicht...
Ich versuche die ganze Zeit aus einem DB-Array von einem UDT Typ eine Variabele herraus zu kopieren, nach den Beispielen von:
http://spsforum.eu/showpost.php?p=77858&postcount=1
http://www.sps-forum.de/showpost.php?p=245815&postcount=11
Die Struktur des UDT ist auf dem Bild zu sehen.
Vorab beziehe ich mich auf den ersten Datensatz des Arrays.
Übergabe Parameter:
zielDBW = w#16#1
anzSchrtitWudt10W = w#16#8
anfangsAdrZielDbW =w#16#0
Code:
// Baue DB Zeiger
L B#16#10 // Lade Wert für einen Bereichsübergeifender Zeiger
T LB 0 // Speicher in zielANYPDbx Byte 0
L B#16#2 // Lade Wert für Datentypcodierung Byte
T LB 1 // Speicher in zielANYPDbx Byte 1
L #anzSchrtitWudt10W // Lade die Länge des UDT10 - 8 BYTE
T LW 2 // Speicher in zielANYPDbx Byte 2
L #zielDBW // Lade Adresse des DB
T LW 4 // Speicher in zielANYPDbx Byte 4
LAR1 P#DBX 0.0 // Lade Zeiger auf Globaldendatensatz
L DW#16#0
L #anfangsAdrZielDbW // L
SLD 3
+AR1
TAR1 LD 6
// Baue tSensor Zeiger
L B#16#10 // Lade Wert für einen Bereichsübergeifender Zeiger
T LB 10 // Speicher in zielANYPDbx Byte 10
L B#16#2 // Lade Wert für Datentypcodierung Byte
T LB 11 // Speicher in zielANYPDbx Byte 11
L #anzSchrtitWudt10W // Lade die Länge des UDT10
T LW 2 // Speicher in zielANYPDbx Byte 12
L 0 // Auf kein DB Refernzieren!
T LW 4 // Speicher in zielANYPDbx Byte 14
L P##tSensor // Lade Adresse des tSensors
T LD 16 // Speicher sie ab Byte 16
// Kopiere Inhalt des DB Sensor x in tSensor
CALL "BLKMOV"
SRCBLK :=#zielANYPDbx
RET_VAL:=#RetValSFC20
DSTBLK :=#anyPtSensor
// Teste
L #tSensor.BgKAdr // Hier steht 320 im DB
T #testint
Vielen Dank im Vorraus P