Übertragen eines Strings [9] in DB

Wiedenn?

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, hab da mal ein Problem. Wie kann mann einen String ( '12345' ) in ein DB rüberschieben (dort ist ein String mit Länge 5 vorhanden).
Über SFC20 hab ich es nicht geschafft oder habe ich nur den falschen Syntax?

Im voraus vielen Dank!
 
Der SFC20 sollte unter anderem auch eine Möglichkeit sein. L(ade) und T(ransfer) sollte auch eine Möglichkeit sein (dann aber nur zeichenweise). Zeige doch mal deine Lösung um zu sehen was du falsch gemacht haben könntest.
[EDIT] Der DAtenbereich im DB sollte natürlich gross genug sein um den String aufzunehmen, Also Stringlänge + 2 Byte für den Header [/EDIT]
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
So hab ich es probiert

Also der in (SRCBLK) vom SFC20 ist irgendein 5stelliger String 'abcde' und als out (DSTBLK) P#db500.dbx16.0 (Zugriffsbreite 7 Byte = Kopf + 5 Zeichen). Im DB500 fängt ein 5stelliger String bei DBx 16.0 an (16.0 bis 23.7) wobei es mich auch wundert das die 8 byte sind und nicht 7. Deklariert ist der String aber mit Länge 5.
 
Trage doch bei DSTBLK mal den smbolischen Namen vom String ein z.B. "DB500".String oder wie er halt bei dir heisst.
 
Zusatz

Den Out vom SFC nimmt er auch an. Nur die Zeichenkette als in nicht. Zeichenweise mit L/T ist klar. Dies ist aber ein zu großer aufwand jedes Zeichen einzeln zu schreiben. Die Zeichenketten sollen als E/A Feld angezeigt werden auf einem MP177. Möchte mir das ewige Texte einkloppen auf dem MP ersparen und die texte in der S7 eintragen. Habe so eine Seite im MP die Frei einsetzbar ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst in deiner Visu doch eine E/A vom Datentyp 'STRING' erstellen und diese dann mit einer Stringvariablen in der SPS verbinden.
Beim Eingabefeld muss dann glaube ich Zeichenkette eingetragen sein. Habe leider kein flexible und arbeite da auch nicht mit. Sollte aber so ungefähr funktionieren
 
2tes Problemchen

Habe noch das Problem mit der Anzeige der E/A felder im MP177. Dort werden nicht alle Zeichen angezeigt. Bei einem 5stelligen String werden nur 3 Zeichen dargestellt und bei einem 16 stelligen String nur 10. Die Feldlänge ist angepasst und das feld an sich ist auch gr0ß genug. Habe auch schon mal die Zeichenlänge auf 40 gesetzt, aber auch das blieb ohne Positives Ergebnis.
 
das primäre Problem ist eine Zeichenkette innerhalb der S7 in einem DB zu schieben. Z.B. 'Wunde' in einen String im dB zu transferieren. Finde keinen Syntax um dies zu bewerkstelligen. Will es nicht manuell im Db eintragen, da dort array sind und ich bei initialisierung sonst wieder alles übergebügelt bekomme.
Deswegen ist es so gewünscht: in FC übertragen der Zeichenkette in DB.String
 
das geht so nicht.
die sfc20 will auch am eingang einen any-pointer haben.
du musst deinen string schon in einem db ablegen.
 
Leider nicht geholfen

Auch der Verweis auf die Support seite hat nicht weitergeholfen. Vielleicht geht es einfach nicht?
 
Werde jetzt halt doch noch je einen Db pro Seite im MP anlegen müßen. Das wollte ich halt einsparen da ich ein bisserle Platzprobleme bekommen könnte.

Aber vielen Dank für die Unterstützung.
Hat vielleicht noch einer ne Lösung für das Problem in der Visu (Strings werden nicht komplett angezeigt)?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich weiss nicht warum siemens schreibt das geht nicht. hier der beweis das es geht.
 

Anhänge

  • Zwischenablage02.gif
    Zwischenablage02.gif
    32,3 KB · Aufrufe: 32
Zuletzt bearbeitet:
Was nicht geht ist den String direkt zu schreiben (wie z.B. 'mist' ) und ihn in ein Db abzulegen (dort ist natürlich ein demensprechender String angelegt). Ich meine in einem FC/FB schreibe ich z.B. 'mist' und will das in einen Db ablegen.
 
... du kannst mit einem Direkt-Zugriff nicht mehr als 4 Byte gleichzeitig adressieren. Es geht also z.B. :
Code:
L 'Mist'
T DB10.DBD 2
 
aber nicht :
 
L 'Mister'
 
dafür aber :
 
L 'Mist'
T DB10.DBD 2
L 'er'
T DB10.DBW 6
Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, damit kann ich was anfangen!

Weiß jetzt noch jemand zu dem Thema Anzeige E/A Feld im MP177. Zeichenfolge wird nicht komplett angezeigt. Bei einem string von Länge 5 werden nur 3 Zeichen angezeigt. Feldlänge ist 5 (hab auch schon 40 probiert) und das Feld selbst ist auch groß genug.
 
Danke, damit kann ich was anfangen!

Weiß jetzt noch jemand zu dem Thema Anzeige E/A Feld im MP177. Zeichenfolge wird nicht komplett angezeigt. Bei einem string von Länge 5 werden nur 3 Zeichen angezeigt. Feldlänge ist 5 (hab auch schon 40 probiert) und das Feld selbst ist auch groß genug.

Was steht denn in den beiden Längeninfos (Maximallänge und Aktuallänge) im DB drin?
 
Stimmt da scheint irgendwie der Fehler zu liegen. Bei Maximallänge steht 5 und bei aktuallänge 0. Wie kann ich die anpassen, da das doch eigentlich bei der deklaration der DB Variablen geschehen sein sollte.
 
Zurück
Oben