von PC Strings in DB kopieren...

joe209

Level-2
Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir versuchen gerade einen String in einen DB zu kopieren, aber anstatt den string dort hineinzukopieren bleiben die strings leer

Wir haben verschiedene Daten per Bsend erst an den PC, klappt wunderbar. INT´s, DINT´s, die STRING´s wenn wir jedoch per BRCV nutzen um die Daten wieder zurückzukopieren, kommen nur die INT´s, DINT`s an die Strings gehen irgendwie auf dem weg verloren oder so... keine ahnung bleiben jedenfalls leer...:confused:

Hatte jemand schonmal das gleiche Problem mit Strings und kennt einer einen ausweg?
Die Anwendersoftware ist in C++ geschrieben, fragt mich nicht wie es genau funktioniert bin nur der SPS´ler :)
Alles was ich von der PC seite weiss ist das es ein API von siemens nutzt

Wäre klasse wenn jemand bescheid weiss..
 
Strings

Hi,
bin nicht 100% sicher aber: die Strings in S7 haben ihre ersten 2 bytes
für die Länge/Kennung. Erst dann fängt der String an. Wenn dieser Format
nicht so zurückgeschrieben wird, dann... ???

Vladi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so müssts gehen

die beiden führungsbytes des strings beinhalten:
1. die max. länge des strings
2. die genutzte länge des strings.

am rechner in beide felder die länge des strings eintragen, einfach den maximalwert verwenden und man hat den string immer rechts-bündig da.
wenn man das nicht macht, interpretiert die sps den string als empty.
das problem trifft auch siemens-eigene windows-produkte, wie z.b. winCC.

hoffe, es hilft
lass mich wissen, ob´s passt
lg vuli
 
Hallo zusammen,
erstmal danke für die schnellen Antworten, das Problem war ein ganz banales, die S7 kann einfach den Aktualwert des Strings nicht Darstellen.
Das heisst solange der Datenblock geöffnet ist kann man den Akuellen Inhalt des Strings nicht sehen :???:. Sowas kann auch nur bei Siemens Passieren, wenn es einfach wäre könnts ja jeder.
Da es das erste mal ist das ich mit Strings innerhalb einer Anlage hantiere wusste ich es natürlich nicht. Erst als ich Heute einen reinen Stringdatenbaustein erstellte wurde mir das bewusst. Man kann die Aktualwerte nur sehen wenn man den DB komplett schliesst und wieder öffnet.
Die Daten wurden kopiert und sind an der richtigen Stelle.

bis demnächst mal :p
 
Hallo,

bin mir nicht ganz sicher. Habe gerade kein PG vor mir.
Im DB müsste es doch wo Attribute Aktualisieren geben.

PS: Da ich mich mal gewundert hatte. Weiss jemand warum in DB von Attributen udn nicht von Variablen gesprochen wird? Ist mir bei Siemens allgemein schon öfters aufgefallen das die von Attributen und nicht von Variablen sprechen.
 
Zurück
Oben