Datenbaustein teilweise auslesen ?

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Hier mein Problem ich habe einen DB in dem Produktnummern und die dazugehörigen Produktionsdaten als Struct stehen:

Datensatz1 STRUCT
ID Nummer
Solltemperatur
Neigung
Druck
END STRUCT
Datensatz2 STRUCT
usw.

Ich will jetzt aus dem (Global)DB nur die ID Nummer auslesen und weiterverabeiten (es sind 200 Stück). Es gibt da doch bestimmt was besseres als 200mal Lade Transferiere oder ?
Danke im vorraus
 
Hallo elektriktribbi,

mein Vorschlag wäre es eine Schleife zu programmieren mit indirekter Adressierung der DB-Adressen. Wobei für den Lade-Befehl bei jedem Schleifendurchlauf der Adressoffset um die Länge der Struktur erhöht wird. Für den Transfer-Befehl wird die Adresse entsprechend dem Abstand der Zieladressen erhöht.

Wie das im Detail aussieht weiss ich im Moment auch nicht Auswendig kann man sich aber aus der Online-Hilfe ableiten. Beziehungsweise wurde hier auch schon beschríeben.

Gruss Hagen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
oder willst Du einmalig die ID's auslesen, dann könntest Du aus dem DB eine Quelle generieren, und nach Excel importieren und dort bearbeiten.

mfg

dietmar
 
Hallo,
dann ist oben die richtige Methode beschrieben, mußt Du halt mit Pointer arbeiten. Wenn es nicht klappen sollte kannst Du dich ja mal melden, habe jetzt aber auch nichts Fertiges in der Schublade.

mfg

dietmar
 
Hi,

wenn du die IDs nur in einem anderen DB kopieren willst, dann würde ich mal so ins Rennen gehen:
(Beispiel ist für REAL-WERTE -> deine STRUCT müsste 16Byte lang sein)

Code:
VARIABLEN:

INPUT

QUELL_DB: BLOCK_DB
QUELL_OFFSET: INT / DINT (kommt drauf an wie hoch du adressieren musst)
ZIEL_DB: BLOCK_DB
ZIEL_OFFSET: INT / DINT (s.o.)

TEMPORÄR

tdAR2_SAV: DWORD
tiLC: INT


AWL CODE:

L QUELL_OFFSET
SLW 3 -> Bei Format INT
LAR1

TAR2 tdAR2_SAV
L ZIEL_OFFSET
SLW 3 -> Bei Format INT
LAR2

L 200 -> Anzahl
L1: T tiLC
AUF QUELL_DB
L DBD [AR1,p#0.0]
AUF ZIEL_DB
T DBD [AR2,p#0.0]
+AR1 p#16.0 -> STRUCT - Länge
+AR2 p#4.0
TAK
LOOP L1

lar2 tdAR2_SAV


Das Kopieren sollte grundsätzlich mal so funktionieren.
Reicht dir das? Was willst denn mit den IDs machen?

Schöne Grüße Micha
 
Zurück
Oben