# WinCC flexible Kurvenanzeige



## HaliGali (25 Januar 2011)

Hallo,

ich möchte in meiner WinCC flexible 2008 SP1 Visu mehrere Temperaturverläufe in Kurven darstellen. 
Die Werte der Temperaturen importiere ich, von der SPS, in mein WinCC flex Projekt über den Codesys OPC-Server V2.0 mit dem Datentyp Integer. Der Integerwert ist zehn mal größer als die reale Temperatur. Durch Kommaverschiebung kann ich die Werte in normalen Ausgabefeldern richtig anzeigen. Nur in der Kurvenanzeige bekomme ich den Wert nicht korrigiert.

Mit der Funktion Werteänderung -> LineareSkalierung erhalte halt auch nur Integerwerte ohne Kommastelle. 

Weiß jemand was ich da machen kann?

danke in Voraus


----------



## Larry Laffer (25 Januar 2011)

Hallo,
du sagst ihr (der Kurvenanzeige), dass es als Basis die Skalierung der rechten y-Achse nehmen soll bei der du die Werte 10fach höher hinterlegst. Die linke Achse zeigst du an, die rechte noicht - dann kommt auch keiner durcheinander.

Gruß
Larry


----------



## PN/DP (25 Januar 2011)

Larry Laffer schrieb:


> du sagst ihr (der Kurvenanzeige), dass es als Basis die Skalierung der rechten y-Achse nehmen soll bei der du die Werte 10fach höher hinterlegst. Die linke Achse zeigst du an, die rechte noicht


Problem:
Wenn man die Wertetabelle unter der Kurve anzeigen läßt, dann zeigt die Wertetabelle die tatsächlich 10-fachen Werte der Kurvenvariablen an.



HaliGali schrieb:


> Mit der Funktion Werteänderung -> LineareSkalierung erhalte halt auch nur Integerwerte ohne Kommastelle.


Wenn die Ausgabe-Variable der Systemfunktion LineareSkalierung eine *Float*-Variable ist, dann bleiben die Kommastellen erhalten.
(die Eingangs-Variable und die Ausgabe-Variable darf bei der Systemfunktion LineareSkalierung ohnehin nicht die selbe Variable sein)

Du könntest als Prozessvariable Deine 10-fach-Integerwerte einlesen, bei Wertänderung mit LineareSkalierung die Pozessvariablen * 0,1 in Panel-interne Float-Kurvenvariablen schreiben und die Float-Kurvenvariablen in der Kurvenanzeige anzeigen. Allerdings müßte die Erfassungsart der Prozessvariablen dann auf zyklisch fortlaufend stehen.

Harald


----------



## HaliGali (26 Januar 2011)

danke für die schnellen Antworten,

@ Harald

Ich habe genau das schon versucht. Leider ist das Ergebnis der Berechnung so wie du sie beschrieben hast, immer nur ein ganzzahliger gerundeter Wert. Bei 1,5 Grad (also Integerwert 15) bekomme ich, nach der Berechnung den Wert 2 für meine interne Floatvariable angezeigt. 

Ich habe zusätzlich versucht den Integerwert erst 1 zu 1 auf eine Floatvariable zu schreiben (mit der Funktion SetzeWert) und dann erst die Berechnung auf eine zweite Hilfsvariable vom Typ Float anzuwenden. Dabei tritt das Problem auf, dass irgendwie gar keine Werte auf die zweite Variable geschrieben werden.

Hat jemand eine Idee, was ich versuchen könnte?

Lukas


----------



## HaliGali (26 Januar 2011)

hallo,

es klappt doch.

@Harald

du hattest doch recht. Ich hatte nur nicht auf das Darstellungsformat geachtet. Ich dachte das sei bei Floatvariablen automisch richtig eingestellt. Jetzt klappt es aber.

Was mir noch immer nicht gefällt ist die Anzeige in der Wertetabelle. Dort habe ich jetzt für meine Floarvariable 6 Nachkommastellen und bei der Uhrzeit sogar noch die Millisekunden angezeigt. Kann ich das irgendwie umstellen?

Griß
Lukas


----------



## PN/DP (26 Januar 2011)

HaliGali schrieb:


> Was mir noch immer nicht gefällt ist die Anzeige in der Wertetabelle. Dort habe ich jetzt für meine Floarvariable 6 Nachkommastellen und bei der Uhrzeit sogar noch die Millisekunden angezeigt. Kann ich das irgendwie umstellen?


Nein, das kann man nicht ändern. (vielleicht in einer späteren WinCCflex-Version?)

Harald


----------



## HaliGali (27 Januar 2011)

Schade, aber danke für die Hilfe.

Eine Frage hätte ich noch. Kann man irgendwie an die Anzeige von Variablenwerten die Einheit des Messwertes einblenden, oder muss ich die immer in einem extra Textfeld dazu schreiben?

Gruß

Lukas


----------



## PN/DP (27 Januar 2011)

Die Einheiten und andere Diagrammbeschriftungen muß man mit extra Textfeldern dazuschreiben.
Allerdings kann man keine Objekte auf/vor der Kurvenanzeige anordnen, weil die Kurvenanzeige 
in Runtime immer ganz vorn ist.

Ich mache rechts neben der Wertetabelle noch eine "Tabellenspalte" mit Ausgabefeldern für die 
aktuellen Werte und Textfelder für die Einheit. Beispiel siehe Screenshot (MP370) im Anhang.

Hinter der Kurvenanzeige liegt ein weißes Rechteck, was optisch die Kurvenanzeige vergrößert, 
damit die zusätzlichen Beschriftungen so aussehen, als lägen sie auf der Kurvenanzeige.

Drücken des (?)-Hilfebuttons blendet eine Beschreibung der Kurvenanzeige-Bedientasten rechts 
neben der Kurvenanzeige ein und aus. Die Beschreibung ist einfach eine Grafik.

Bei Kurven aus Archiv-Variablen wandern die Kurven nicht automatisch nach links. Um diese Kurven 
auf den aktuellen Zeitpunkt zu aktualisieren, muß man entweder in der Kurvenanzeige blättern oder 
das Bild mit der Kurvenanzeige neu aufrufen (das macht meine Schaltfläche "Grundstellung").

Harald


----------



## HaliGali (28 Januar 2011)

Danke für die Tipps. Deine Anzeige sieht super aus, ich denke ich werd das ähnlich machen.


----------



## Nordischerjung (28 Januar 2011)

@PN/DP

Moin,
wie hast du das in dem Bild gemacht, dass du keine Spalte "Variablenanbindung" hast? Selbst wenn ich die Spalte "Wert"" über diese Spalte ziehe zeigt das MP377 mir diese Spalte an.
Hast du die Tabelle "aktueller Wert" selber angefertigt?


----------



## PN/DP (28 Januar 2011)

Ich habe die Spalte "Variablenanbindung" einfach auf eine Breite von 0 zusammengezogen.
Wie das geht, das weißt Du ja:


> Wenn Sie im Kontextmenü der Kurvenanzeige den Befehl "Bearbeiten" wählen, wird die Kurvenanzeige aktiv geschaltet. Im aktiven Modus können Sie die Spaltenbreite und die Position der Spalten in der Wertetabelle einstellen. Zur Aktivierung der Kurvenanzeige muss der Zoomfaktor auf 100% eingestellt sein.



Die Tabellen-Spalte "aktueller Wert" ist selbstgemacht. Das sind 5 Textfelder (Höhe: 22) für die Beschriftung (Einheit) mit farbigen Rahmen und darüber 4 transparente EA-Felder für die Ausgabe der aktuellen Werte.

Harald


----------



## Nordischerjung (28 Januar 2011)

PN/DP schrieb:


> Ich habe die Spalte "Variablenanbindung" einfach auf eine Breite von 0 zusammengezogen.
> Wie das geht, das weißt Du ja:


:?::sm25: Komisch, das hatte ich auch gemacht und trozdem hat das TP es so angezeigt,wie in meinem Bild *kopfkratz*
Naja, ich versuche es nochmal, aber erst Montag 


PN/DP schrieb:


> Die Tabellen-Spalte "aktueller Wert" ist selbstgemacht. Das sind 5  Textfelder (Höhe: 22) für die Beschriftung (Einheit) mit farbigen Rahmen  und darüber 4 transparente EA-Felder für die Ausgabe der aktuellen  Werte.



Das hab ich mir gedacht, bist ja nen  fuchs


----------



## PN/DP (28 Januar 2011)

Nordischerjung schrieb:


> :?::sm25: Komisch, das hatte ich auch gemacht und trozdem hat das TP es so angezeigt,wie in meinem Bild *kopfkratz*
> Naja, ich versuche es nochmal, aber erst Montag


Hattest Du dabei den Zoom im WCCflex ES auf *100%* ?
Dann mal die temporären Dateien gelöscht?
Wie sieht es in der Runtime-Simulation auf dem PC aus?
Na, viel Erfolg dann!

Die Spaltenbreiten einstellen ist schon ein elendes Gefummel, weil das WCCflex ES da jedesmal mit automatischen Breitenanpassungen dazwischenpfuscht. :roll:



Nordischerjung schrieb:


> Das hab ich mir gedacht, bist ja nen  fuchs


Du aber auch: was Dir so alles auffällt...! 

Harald


----------



## Nordischerjung (28 Januar 2011)

PN/DP schrieb:


> Hattest Du dabei den Zoom im WCCflex ES auf *100%* ?
> Dann mal die temporären Dateien gelöscht?
> Wie sieht es in der Runtime-Simulation auf dem PC aus?
> Na, viel Erfolg dann!


Das werde ich auch mal probieren


PN/DP schrieb:


> Die Spaltenbreiten einstellen ist schon ein elendes Gefummel, weil das WCCflex ES da jedesmal mit automatischen Breitenanpassungen dazwischenpfuscht. :roll:


*ACK* das geht mit wirklich auf´n s... Da willst du nur ein bißchen verschieben und schon ist alles verstellt :twisted:


----------



## Nordischerjung (31 Januar 2011)

PN/DP schrieb:


> Dann mal die temporären Dateien gelöscht?


Danke Harald

Genau das war es mal wieder, hatte ich doch letztens erst grrrr... Vergessen
Vielleicht sollte ich mir ein DIN A4 Zettel an den Monitor kleben mit "Temporäre Daten nicht vergessen"
oder ich tätowiere es mir von innen auf die Augenlider


----------

