WinCC flex 2008 SP3 Textliste im E/A-Feld alphabetisch darstellen

TalonKarrde

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

habe ein Problem mit meiner WinCC flexible Runtime und einem E/A-Feld.
Das (symbolische) E/A-Feld ist mit einer Textliste hinterlegt und alphabetisch sortiert (s. Bild), die dazugehörigen Werte sind aber in dieser Ansicht unsortiert.
Wenn ich nun die Runtime starte um in diesem E/A-Feld einen der Einträge auszuwählen, wird die Textliste unsortiert dargestellt s. Bild).
Wenn ich aber die Textliste nach dem Wert sortiere und die Runtime starte werden die Einträge korrekt nach aufsteigendem Wert dargestellt.

Kann mir da jemand weiterhelfen? Kann WinFlex das überhaupt?

Danke für alle die sich kurz Zeit nehmen.

Gruß
Talon


HMI-Gerät: TP177B 6" color PN/DP
WinFlex-Version: 2008 SP3 UP2
Windows: XP
 

Anhänge

  • Textliste.JPG
    Textliste.JPG
    72,5 KB · Aufrufe: 50
  • Runtime.JPG
    Runtime.JPG
    32,9 KB · Aufrufe: 50
die textlist ist ja wert=text anders 0=hallo, 1=dosenbier, 1001=bmw.
beim starten der visu wird der text von deinem int oder was auch immer als erstes angezeigt.danach folgt der nächste wert.
die tl bezieht sich auf die zahlen und zeigt den niedergeschrieben text an.
wenn du einen text auswählst wird ja auch der wert im int gesetzt.

meine erfahrung
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Nach meiner Erfahrung sind die Einträge eines symbolischen EA-Feldes immer nach dem numerischen Wert sortiert (und finde das auch gut so und logisch). Etwas anderes ist mir noch nie aufgefallen, ich habe das aber auch noch nie extra provoziert/getestet.

Verhält sich das symbolische EA-Feld auch so, wenn Du mal die temporären Dateien löschst und komplett neu generierst?

Harald
 
Gerade mal probiert: In meinem WinCC flexible 2008 SP2 ist es egal nach welcher Spalte die Textliste im ES sortiert ist. In der RT wird die Textliste immer nach Wert aufsteigend sortiert angezeigt.

Harald
 
Ob eine Sortierung nach integer logisch ist bezweifle ich. Dem Bediener sind die Werte die hinter dem Text ja egal und er wünscht sich dementsprechend eine klare sortierung hat.
Aber danke für die Infos.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob eine Sortierung nach integer logisch ist bezweifle ich. Dem Bediener sind die Werte die hinter dem Text ja egal und er wünscht sich dementsprechend eine klare sortierung hat.
Aber danke für die Infos.

Logisch ist dies schon aus Sicht des Programmierers, schließlich geht es um die Werte die die Texte bedeuten.
Wenn du es passend für den Benutzer machen möchtest, ändere die Wert des Int passend zu deiner gewünschten Reihenfolge.
 
...
Wenn du es passend für den Benutzer machen möchtest, ändere die Wert des Int passend zu deiner gewünschten Reihenfolge.


Wie sieht es dann aber bei mehrsprachigen Bedienoberflächen aus???

Eine alphabetische Sortierung (oder besser noch eine konfigurierbare) wäre in den meisten Fällen wünschenswert...


Gruß, Fred
 
Wie sieht es dann aber bei mehrsprachigen Bedienoberflächen aus???

Eine alphabetische Sortierung (oder besser noch eine konfigurierbare) wäre in den meisten Fällen wünschenswert...


Gruß, Fred

natürlich, deswegen wahrscheinlich auch in der Wunschliste zu WinCC Flex zu finden.

Aber es ging ja nur darum ob es möglich ist. Und da lautet die Antwort halt "nein, außer du sortierst die Einträge über das ändern der INT Werte"
Wobei die Einträge eh nach einem BMK aussehen, und da ist es wurscht ob du ne Sprachumschaltung hast...
(immer bezogen auf die gestellte Frage)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob eine Sortierung nach integer logisch ist bezweifle ich. Dem Bediener sind die Werte die hinter dem Text ja egal und er wünscht sich dementsprechend eine klare sortierung hat.
Meine Auswahllisten haben meistens nicht mehr Einträge als ausgeklappt darstellbar sind - das Panel soll ja schließlich noch mit Fingern bedienbar sein. Bei max 10 Einträgen stellt sich da die Frage der Sortierung gar nicht und auch Sprachumschaltungen erfordern kein Umstellen der Reihenfolge der Einträge.

Desweiteren nummeriere ich die Einträge fortlaufend 0, 1, 2, 3 ... entsprechend "nichts gewählt", 1. Wahleintrag, 2. Wahleintrag ... Das HMI soll mir nur mitteilen, welchen (den wievielten) Eintrag der Operator gewählt hat. Ich trenne den numerischen Listenindex vollkommen davon was die Listeneinträge bedeuten/wie der Eintragstext lautet. Eine Bedeutung des soundsovielten Eintrages wird erst im Steuerungsprogramm hergestellt. Das Steuerungsprogramm ist auch ohne genaue Kenntnis des HMI-Projektes nachvollziehbar/zu verstehen, wenn da nur mit Indexen 0, 1, 2, 3 ... entsprechend der Eintragsposition gearbeitet wird. Ich möchte nicht berücksichtigen müssen, daß der 2. Eintrag den Index 12 liefert, der 3. Eintrag gibt 504, der 4. Eintrag gibt 7 ... was womöglich nur bei einer Anzeigesprache so gilt und bei einer anderen Sprache gilt eine andere Zuordnung ... :confused:

Brauche ich in der Steuerung andere Codes (1100, 1104, 1090, 1092, 1122, ...) dann wird der gewählte Index in der Steuerung umgeschlüsselt oder der Code aus den Indexen mehrerer Auswahlfelder zusammengestellt.

Wenn man mehrere Anzeigesprachen hat oder spätestens wenn man mit Textlisten mit dynamischer Beschriftung arbeitet, dann ist der Anspruch einer Sortierung nicht mehr wirklich realisierbar.

Mußt Du den Eindruck einer Sortierung erwecken, dann mache doch einfach Deine krummen Indexnummern zum Bestandteil der sichtbaren Beschriftung. Dann sieht Deine Liste in jeder Sprache "sortiert" aus:
0 : "Keine Anwahl"
1 : "1090 AE1_GF"
2 : "1092 AE2_ZF"
3 : "1100 AB0_RFM"
4 : "1102 AB1_FRI"
5 : "1104 AC1_KAS"
6 : "1106 AD1_GF"
7 : "1122 AE4_GF"
8 : "1124 AE5_GF"

Harald
 
alternativ setze ein bit welches deine eingeblendete sprache darstellt, und blende hiermit ein symbolisches feld ein, mit einer textliste speziell auf die sprache abgestimmt :)
dann musst du allerdings zwei auswertungen in der steuerung machen nämlich den int für die angewählte sprache (oder byte oder bit) und dann noch den listeneintrag
 
Zurück
Oben