String in DB laden

Pinmaster

Level-1
Beiträge
68
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi ich möchte einen festgelegten String aus einem DB in einen anderen DB schreiben wie kann ich das realisieren? Dieser Transfer soll abhänig von einem BOOL wert aus einem DB sein. Danke
 
... dafür wäre z.B. der SFC20 gut zu gebrauchen.
Weiteres findest du in der Step7-Hilfe oder mittels der Suchfunktion hier im Forum ...

Gruß
LL
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
SRCBLK INPUT ANY E, A, M, D, L Angabe des Speicherbereichs, der kopiert werden soll (Quellfeld). Arrays vom Datentyp STRING sind nicht erlaubt.

steht in der STEP 7 Hilfe

nur soviel zur STEP 7 HILFE!!!

Was hat es eigentlich damit auf sich, dass man bei Strings die ersten 2 Byte nicht beschreiben soll? Ist da dieser Header drin? Was macht dieser HEader?
 
@Pinmaster
Hast du denn ein Array OF String?

In den ersten 2 Byte steht die Aktuelle Länge des Strings, und die Projektierte (Maximallänge) des Strings.
Das unterscheidet in der S7-Welt einen String von einem Array of CHAR.

P.S.
Quell- oder Zielparameter (oder beide) dürfen auch vom Datentyp STRING sein. Ist die Quelle ein String, werden maximal nur die aktuell im String enthaltenen Zeichen kopiert. Sind Quelle und Ziel jeweils ein String, wird die aktuelle Länge auf die Anzahl der kopierten Zeichen gesetzt.Falls Sie einen String incl. maximaler und tatsächlicher Länge kopieren wollen, gehen Sie wie folgt vor: Bauen Sie sich die ANY-Pointer, die Sie bei den Parametern SRCBLK und DSTBLK angeben, selbst auf. Verwenden Sie für den Datentyp BYTE.

Mfg
Manuel
 
Zuletzt bearbeitet:
Hm ich dachte Array ist einfach der festgelegte Bereich des Strings... dann hab ich das wohl falsch verstanden... dann wirft sich die Frage auf (da ich ja ein wissbegieriger Mensch bin ;) ) was ist dann ein ARRAY :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ein STRING ist im Grunde ein ARRAY of CHAR mit einem Header, in dem steht wie groß das Array ist und wieviele Elemente daraus verwendet worden sind. Ein STRING[10] ist also 12 Byte groß und wenn du ihn mit BlockMove in dieser Konstellation überträgst, dann gibt das auch keine Probleme.

Ein ARRAY ist grundsätzlich ein Bereich mit einer definierten Anzahl von Elementen.

Gruß
LL
 
Zurück
Oben