WinCC Flexible 2005 - Max 10 Zeichen im String

eYe

Level-1
Beiträge
759
Reaktionspunkte
80
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend,

folgendes Problem:

Ich habe in WinCC Flex ein String Variable mit 16 Zeichen angelegt. Wenn ich nun dort Zeichen eingebe werde bis zu 10 auch immer dargestellt, aber alles darüber hinaus wird abgeschnitten.
Dies geschieht beim testen mit dem Runtime Simulator und auch auf der realen HMI Umgebung mit SPS.

Die Forensuche hat mich schon soweit weitergebracht, dass ich nun weiss das im ersten Byte des Arrays die max Anzahl der Zeichne und im zweiten Byte die aktuelle Anzahl der Zeichen steht. (http://www.sps-forum.de/showthread.php?t=14808)

Im ersten Byte meiner Testvariablen steht auch 16 drinne und im zweiten Byte wird je nach Anzahl der Zeichen bis 10 hochgezählt, aber mehr als 10 steht im 2ten Byte nie drinne.
Wenn ich den Wert selber auf 16 setze interessiert das WinCC Flex auch nicht. Ebenso wenn ich in die letzten 6 Felder Zeichen eingebe.

Wäre schön wenn da jemand eine Idee zu hätte, muss doch möglich sein mehr als 10 Zeichen eines Strings darzustellen!?

thx, eYe
 
Hallo,
es ist eigentlich kein Problem mit den Strings. Bis 254 Zeichen sind möglich (wenn du sie darstellen kannst). Wie groß hast du dein Eingabe-Feld denn definiert ?
Kann es sein, dass du hier ggf. den String schon beschneidest ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe ein Ein/Ausgabefeld in WinCCFlex angelegt mit 16 Zeichen.
Dann eine Variable in WinCCFlex als Typ String.
Und diese halt in der SPS im DB1 (DBB10) als String mit 16 Zeichen erstellt.
Die Variable wird nicht überschrieben.

Ich bekomme auf der Visu folgende Fehlermeldung:

Variable String_1:Adressfehler Steuerung
Variable String_1:Wertübernahme in Steuerung nicht möglich.
Variable String_1:Fehlerzustand beendet.


Alles über 10 Zeichen wird wie gesagt abgeschnitten :/
 
So habe nochmal ein wenig herumgespielt.

Das Arry hat nun den "Startwert" '1234567890123456' und diesen kann ich auch wunderbar in der VAT Tabelle lesen.
Im ersten Byte teht nach wie vor 16 und im zweiten Byte wunderlicherweise 0.
In WinCCFlex wird nichts angezeigt, ich kann nun den Wert im zweiten Byte von 1-10 verändern und es werden dementsprechend viele Zeichen angezeigt in WinCCFlex.
Wenn ich mehr als 10 eingebe bleiben es maximal 10 Zeichen...

Ich verstehe es einfach ned ;(
 
Eigentlich müsste es funktionieren. Die Länge des Strings muss auch in der Variablendeklaration angegeben werden. Um welches edle HMI-Gerät handelt es sich denn?


Gruß, Onkel
 
Unter WinCC Flexible 2005 SP1 HF7 Runtime (jetzt auch unter Flexible 2007) verwende ich E/A-Felder mit Länge 80 und Stringvariablen ebenfalls mit Länge 80. In der Steuerung liegen sie in einem DB als ARRAY[1..5] of String[80]. Hatte keinerlei Probleme damit. Die max. Länge habe ich allerdings noch nie ausgenutzt (es sind email-Adressen).

Überschneidungen mit anderen Variablen in Flexible gibt es auch nicht?
Hast du den Projektierungsrechner mal neu gestartet? Das hilft (leider) auch sehr oft.
 
Habe den Visurechner mal neugestartet, hat aber leider nichts gebracht.

Ich gehe aber momentan nach wie vor davon aus das es nicht an der SPS liegt, denn wenn ich das Ganze im WinCC Flex SImulator teste will er auch schon nicht mehr als 10 Zeichen machen.

Falls es deine Zeit erlaubt, wäre es klasse wenn du mal eben ein kleines Projekt mit 2 Seiten erstellen könntest.

- Auf der ersten Seite ein Eingabefeld für den String
- Auf der zweiten Seite ein Ausgabefeld für den String

Meine Einstellungen:
Eingabefeld 16 Zeichen, Variable: String_1
Ausgabefeld 16 Zeichen, Varibale: String_1
Variable String_1, Typ: String, Adresse: DB1.DBB10

Bei mir klappt es wie gesagt schon nicht im SImulator, bis 10 Zeichen alles i.O. aber mehr geht nicht.
Interessant ist allerdings das er den String erst beim Seitenwechsel beschneidet (Deswegen 2 Seiten).

Ich weiß wirklich ned was ich falsch mache, wird sicher nen ganz dummer Fehler sein :(

Danke, eYe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OH MEIN GOTT !!!!

Hiermit dürft ihr mich alle steinigen
(Aber nur im hier im Forum :p)



Für alle die mal vor dem selben Problem stehen sollten, man muss in WinCC Flex die Zeichenlänge auch nochmal in der Variablen angeben.
Standardmäßig ist das dort auf 10 Zeichen eingestellt...

Sry für den unnötigen Trouble den ich hier verursacht habe und danke an alle die sich meinetwegen den kopf zerbrochen haben *schäm*

Gute Nacht, eYe
 
eYe,

liest du eigentlich die Antworten, die sich andere mühsam aus den Fingern saugen? Nach dem Steinigen wirst du gevierteilt! ;)


Gute Nacht, Onkel
 
Zurück
Oben