Daten verschieben

GerhardPtl

Level-1
Beiträge
77
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und guten Tag,

wahrscheinlich ist es mal wieder gaaanz einfach, aber so ist das eben mit diesen Anfängern...;)

Ich möchte aus einem DB aus drei festen Worten, die von einer Regelung mit unterschiedlichen Werten beschrieben werden, diese in einem anderen DB ablegen. Der erste Wert beinhaltet eine "Kennung" (0-16) und zu dieser Kennung gibt es 2 weitere Werte (N/F). Diese Kennung wird von der Regelung getaktet. Dazu kommt, dass ich diesen Wert in einem FC mit 6 multipliziere und als Parameter "StartAdr" in meinem FC einlese. Leider funzt das nicht so ganz - in dem Ziel DB "Reibwerte_V/F" werden die ersten drei Worte, und nur die, ständig überschrieben
Bislang habe ich folgendes "fabriziert":

L #StartAdr
T #Index2
L 0
T #Index2
L 0
T #Index1

weit: NOP 0

L #Index1
SLD 3
LAR1

L #Index2
SLD 3
LAR2

AUF "DB LDD2"
L DBW [AR1,P#192.0]
AUF "Reibwerte_V/F"
T DBW [AR2,P#0.0]
L 1
L #Index1
+I
T #Index1
T #Index2
L #Index2
L 3
>I
SPB end
SPA weit
end: NOP 0

Weiß jemand Rat??? Vielen Dank!!!
 
L 1
L #Index1
+I
T #Index1
T #Index2


Du überschreibst deinen Index2 in der Schleife mit Index1


z.B. ( Index1 = 0 | Index2 = 100 )

// Erster Durchgang

L #Index2 = 100
SLD 3
LAR2

KOPIEREN

L 1
L #Index1 = 0
+I
T #Index1 = 1
T #Index2 = 1


// Zweiter Durchgang

L #Index2 = 1
SLD 3
LAR2

L 1
L #Index1 = 1
+I
T #Index1 = 2
T #Index2 = 2

Du solltest den Index2 extra Addieren:

L 1
L #Index2
+I
T #Index2
 
Danke für dein " mit überlegen", im Moment sieht das Ganze so aus:

L #StartAdr
T #Index2
L 0
T #Index1

weit: NOP 0
L #Index1
SLD 3
LAR1
L #Index2
SLD 3
LAR2
AUF "DB LDD2"
L DBW [AR1,P#192.0]
AUF "Reibwerte_V/F"
T DBW [AR2,P#0.0]
L 1
L #Index1
+I
T #Index1
L 1
L #Index2
+I
T #Index2
L #Index2
L 3
>I
SPB end
SPA weit
end: NOP 0
Im Ziel DB wird der erste Datensatz komplett eingetragen - soweit super.
In den danach folgenden Sätzen erscheint immer nur der erste Wert (Kennung).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für dein " mit überlegen", im Moment sieht das Ganze so aus:

L #StartAdr
T #Index2
L 0
T #Index1

weit: NOP 0
L #Index1
SLD 3
LAR1
L #Index2
SLD 3
LAR2
AUF "DB LDD2"
L DBW [AR1,P#192.0]
AUF "Reibwerte_V/F"
T DBW [AR2,P#0.0]
L 1
L #Index1
+I
T #Index1
L 1
L #Index2
+I
T #Index2
L #Index2
L 3
>I
SPB end
SPA weit
end: NOP 0
Im Ziel DB wird der erste Datensatz komplett eingetragen - soweit super.
In den danach folgenden Sätzen erscheint immer nur der erste Wert (Kennung).

dein satz besteht ja auch aus 6 und nicht aus 3 werten.
schleife verlängern (und evtl. eine richtige nehmen :rolleyes: )
 
Richtig!

Deshalb auch jetzt folgendes Programm:

L #StartAdr
T #Index2
L 0
T #Index1

weit: NOP 0
L #Index1
SLD 3
LAR1
L #Index2
SLD 3
LAR2
AUF "DB LDD2"
L DBW [AR1,P#192.0]
AUF "Reibwerte_V/F"
T DBW [AR2,P#0.0]
L 1
L #Index1
+I
T #Index1
L 1
L #Index2
+I
T #Index2
L #Index2
L 96
>I
SPB end
SPA weit
end: NOP 0

Soweit so gut!!! Aber: wenn die Schleife zu ende ist, wird alles wieder auf "0" geschrieben - war so nicht gedacht...
 
Zurück
Oben