# Wago 750-881: Visu: Textvariable im Textfeld: Zeilenumbruch



## tomrey (15 März 2015)

Hi all,
in einer Visu habe ich ein Textfeld definiert.
Der Text kommt aus einer Textvariablen "%S".
Das Textfeld ist hoch genug für mehrzeilige Ausgabe, die Breite ist aber begrenzt.
Wie kann ich erreichen, dass der Inhalt von %S im Textfeld bei Bedarf umgebrochen wird?
Dank + Gruß


----------



## KaZZam (15 März 2015)

Hi,
der Zeilenumbruch(carriage return) muss im String enthalten sein !!
In CoDeSys wird der Zeilenumbruch mit $R eingeleitet.
Beispiel:
VAR
 MyString  :  STRING := 'Zeile1$RZeile2';
END_VAR

Ausgabe:
Zeile 1
Zeile 2


----------



## tomrey (15 März 2015)

Danke für die schnelle Antwort nur funktioniert das bei mir nicht...???
Das $R wird bei der Visu-Ausgabe einfach ignoriert.
Ob's an CFCliegt?


----------



## PN/DP (15 März 2015)

Vielleicht braucht die Visu $L? Oder $R und $L ?
Kann in der Visu in dem Textfeld überhaupt mehrzeilig ausgegeben werden? Was sagt die Hilfe der Visu?

Harald


----------



## tomrey (15 März 2015)

PN/DP schrieb:


> Vielleicht braucht die Visu $L? Oder $R und $L ?


Jawoll, mit $R$L gehts! (wo hätte ich das in der Doku selbst finden können?)

Das ist die "kleine Lösung" weil ich bereits in der Textvariable den Umbruch festlegen muß.

Besser wäre es, das Textfeld in der Visu für Umbruch zu formatieren. Dann könnte ein Text aus einer (unformatierten) Variablen in unterschiedlichen Textfeldern je nach deren Größe unterschiedlich angezeigt/umgebrochen werden.
Aber die Möglichkeit habe ich bisher nicht gefunden.
Die Doku von Codesys schweigt sich da aus und verweist auf die herstellerspezifischen Targets.
Bei Wago habe ich dazu auch nichts gefunden...

Dank+Gruß


----------



## BugsBunny (9 Februar 2021)

Hallo Forum,

ich wärme das Thema mal wieder au7f, habe woanders nichts gefunden.
Bei Mir soll der Benutzer über ein Textfeld einen Text zur PLC schicken.
Wie geht das da mit dem Zeilenumbruch?
Ich nutze e!Cockpit und PFC200.

Danke
Gruß
BugsBunny


----------



## JSEngineering (9 Februar 2021)

Hallo Bugs,

Du hast also umgekehrt das Problem, daß der Benutzer mehrere Zeilen eingeben soll?
Mal mit Shift&Enter probiert? Ist nur eine Idee...

Gruß
    Jens


----------



## BugsBunny (9 Februar 2021)

Hallo Jens,

ja, hab ich.
Bei codesys ging das auch mit $N$B oder so. Bei codesys 3.5 oder ecockpit halt nicht mehr...

Gruß
BugsBunny


----------



## JSEngineering (9 Februar 2021)

$R$L, ggf. auch anders herum probieren $L$R.
Manchmal wird auch nur $L oder nur $R benötigt: testen.

Aber wenn Du das Problem umgekehrt hast: Funktioniert denn das Eingabefeld mit mehreren Zeilen? Dann sollten die Umbrüche doch schon im String enthalten sein...


----------



## BugsBunny (9 Februar 2021)

Hi Jens,

Diese Kombinationen hab ich auch schon gefunden und getestet... Leider ohne Erfolg.
Wenn ich es von der PLC aus anzeige ist das kein Problem. Nur bei Benutzereingabe ist das so...

Gruß
BugsBunny


----------



## JSEngineering (9 Februar 2021)

BugsBunny schrieb:


> Wenn ich es von der PLC aus anzeige ist das kein Problem. Nur bei Benutzereingabe ist das so...



sorry, steh auf dem Schlauch... was genau funktioniert und was nicht?


----------



## BugsBunny (9 Februar 2021)

Also nochmal:

Wenn der Benutzer über die Visu eine Eingabe im Textfeld machen soll, diese aber aus Platzgründen in 2 Zeilen geschehen muss, funktioniert es *nicht*.
Wenn ich von der PLC aus einen 2zeiligen Text in die Visu schicken ist alles ok.


----------



## JSEngineering (9 Februar 2021)

sooo, ok....

dann hat das ja erst einmal nix mit den Umbruchzeichen im String zu tun, richtig!?
sondern mit dem Umbruch im Textfeld: Der Benutzer kann keine zwei Zeilen eingeben!? richtig?
Oder kommt der Text in der SPS ohne Umbruchzeichen an?

Wenn der Benutzer selbst einen Umbruch machen soll: Wie geschrieben, muß man probieren, ob das mit Shift+Enter geht, ggf. Alt+Enter.

Wenn der Benutzer in einem fortschreibt und das Feld das umbricht, ist es klar, daß kein Umruchzeichen im String steht: Es gibt ja keines. Das Textfeld hat nur den Text in der Anzeige umgebrochen.

Da sehe ich dann keine andere Möglichkeit, falls Du die Zeilenumbrüche in der SPS brauchst, die nach einer bestimmten Anzahl Zeichen selber in der SPS in den String einzufügen.


----------



## BugsBunny (9 Februar 2021)

Frage 1: ja
Frage 2: ja
Frage 3: Das Umbruchzeichen z.B. $R wird als normaler Text angezeigt
Frage 4: Wie gesagt, hab ich schon alles getestet... Mir scheint, das geht in Textfeldern und anderen Visu-Elementen nicht.
Anmerkung 5: 





> Wenn der Benutzer in einem fortschreibt und das Feld das umbricht, ist es klar, daß kein Umruchzeichen im String steht: Es gibt ja keines. Das Textfeld hat nur den Text in der Anzeige umgebrochen.


 Das Feld bricht nicht um, kann auch nirgendwo eingestellt werden...

somit hat codesys 3.5 und damit auch ecockpit noch Potenzial für Verbesserungen...

Danke für deine Hilfe.

Gruß
BugsBunny


----------



## holgermaik (10 Februar 2021)

Bei Zeilenschaltung wir der Text in das Visuelement eingepasst. Es gibt im String *keine* Steuerzeichen!


----------



## BugsBunny (11 Februar 2021)

Hallo holgermaik,

wo stelle ich das denn auf Zeilenschaltung?
Hab bei e!cockpit nichts gefunden?

Gruß
BugsBunny


----------

