DB Variable laden

delacasa

Level-1
Beiträge
48
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe einen DB3 mit 5 Strings mit einer Länge von 20 Zeichen. Der erste beginnt ab Adresse 0.0, der zweite ab Adresse 22.0, usw. Wie kann ich nun in einem fc den ersten string aus DB3 laden und auf eine andere Stringvariable, welche sich im DB5 (z.B Adresse 0.0) befindet und die gleiche Größe hat, schreiben?

Danke für Eure Hilfe...
delacasa
 
Zuletzt bearbeitet:
Hallo delacasa
schau dir mal den sfc 20 (Blockmove an). Der sollte das sein was du suchst.


CALL sfc 20
SRCBLK :=P#DB3.DBX 0.0 BYTE 22 //Angabe Quellbereichs
RET_VAL:=MW10 //Fehlerausgabe vom Baustein
DSTBLK :=P#DB5.DBX 0.0 BYTE 22 //Angabe des Zeilbereichs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es sollte eigentlich auch die symbolische Adressierung funktionieren.

Also:

Call BLKMOV
SRCBLK: Datenbaustein3.string1
RET_VAL:status.blkmov
DSTBLK: Datenbaustein5.string2
 
Hallo,

schönen guten Morgen euch.

Bin mir jetzt so Früh nicht ganz sicher.
Jedoch ist ein String nicht immer 256 Byte, bzw 2048 Bit lang?

Warum ladest / transferierst du ihn den nicht einfach als String?

Kaffenunsuchende Grüsse
 
@maxi
Der String ist so lang wie du das halt eben deklarierst.
Standartvorschlag von Step7 sind 254 Byte + 2 Byte Header

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh ich habe die immer auf 256 gelassen.
Weiss aber ned ob ich es bisher so gemacht habe weil ich es nie anders ausprobiert hatte oder weil ich einen Grund für hatte.

Jedenfalls hätte ich das jetzt so nicht gewusst udn wieder was neues Gelernt habe nun :)

Glaube hatte die immer wegen Kommunikationsgruppen auf 256 gelassen damit über Bus oder RS ansteuerungen ganze Päckchen schicken und auslesen kann ohne Probs mit Puffer zu haben.

Grüsse
 
Und ein virtuelles riesen kaltes Oktoberfest Bier mit dolle Schaum von mir an MSB weil heute was gelernt habe :)
 
Zurück
Oben