WinCCFlex2008 SP1- Kurve anzeigen...

AndreK

Level-1
Beiträge
415
Reaktionspunkte
27
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
es ist keine Variabele die in einem Archiv steht und angezeigt wird... sondern eine abgelegte Kurve.

Erklärung: Ich habe mir einen Baustein geschrieben mit dem ich einen Eingangswert in Segmente unterteile und jedes Segment neu skalieren kann um einem Eingangswert einen neuen Ausgangswert zuzuordnen. -> Sollwertkurve

Es sind 7 REAL Werte die ich als Kurve in einem Kurvenelement anzeigen möchte, damit der Bediener sieht was er überhaupt eingestellt hat.
Dazu habe ich schon die Skalierungen der X und Y Achse über die Werte autom. skaliert... ich komm nur nicht drauf wie ich die 7 Real Werte als Kurve gezeichnet bekomme!

Wenn ich das jetzt komisch erklärt habe... siehe Bild...die Werte der Y Achse sollen als Kurve dargestellt werden.

Jemand eine Idee bzw. das nötige Fachwissen?
 

Anhänge

  • kurve.png
    kurve.png
    1,5 KB · Aufrufe: 29
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein

Es soll nicht pro Zeit, sondern nur die 7 Werte grafisch dargestellt werden.

Damit der Benutzer in Echtzeit (1s) grafisch sieht wie er die Sollwertkurve eingestellt hat.
 
Hallo,
die Frage von Verpolt zielte m.E. auf den Abstand der Werte zueinander in der Kurven-Darstellung.
Wenn der Abstand von Wert_1 zu Wert_2 zu Wert_3 ... immer gleich groß ist dann könntest du dir die Werte einfach in der benötigten Reihenfolge in einem DB ablegen und den Bereich als bitgetriggerte Kurve definieren. Setzt du nun das Triggerbit und das Kurven-Sammelbit so liest Flex die Werte ein und sie werden dann in der Kurvendarstellung angezeigt - auch mit den von dir gewählten Skalierungen der Achsen (wobei nur die Y-Achsen einen sinnvollen Einfliß haben werden).

Ist der zeitlcihe Abstand unterschiedlich und du willst das auch so darstellen so kannst du nur mit Zwischenwerten in der Darstellung arbeiten, die du dann in/für den DB noch erzeugen mußt ...

Gruß
Larry
 
Ok

Klar die Werte kann man nur Liniear der Achse zuordnen... sonst passt die Skalierung nicht. Die Skalierung der Eingangswerte ist in der Regel linear das die grafische Ausgabe dazu passen sollte.

Aber trotzdem bekomme ich das nicht hin...

Ich habe die 7 Werte als einzelne Variablenen und als Array... und zwar von zyklisch bei Verwendung auf dauerhaft zyklisch eingestellt.

ich habe jetzt die Kurve wie im Bild eingestellt:
Kurventyp Bitgetriggert
Kurvenpuffer ist das Array
Kurvenanforderung ist das DrawWort MW2 und das Bit 3 also M3.3

Aber das kalappt nicht... eine Idee...?
 

Anhänge

  • kurve.jpg
    kurve.jpg
    87,8 KB · Aufrufe: 23
Zuviel Werbung?
-> Hier kostenlos registrieren
... du hast bei deiner Aufzählung das Kurven-Sammelbit vergessen (das könnte bei dir M2.7 sein - aber bitte überprüfen). Das mußt du auch mit setzen (und dann beide auch wieder wegnehmen ...).

Gruß
Larry
 
Oh mann...

Hatte man als Quelle nicht einfach ein Array bitgetriggert wählen können... warum muss man das so kompliziert machen :)

Aber danke... ich habe für Kuvenübertragung und Kurvenanforderung jeweils ein getrenntes Wort benutzt. Aus ein und demselben Wort wird nicht akzeptiert! Auch wird nicht dokumentiert welches Bit aus der Kurvenübertragung benutzt wird...

Habe zum Test einfachmal 65... übertragen...

Aber es geht erstmal, danke (Ergebniss im Bild)
 

Anhänge

  • kurve.png
    kurve.png
    2 KB · Aufrufe: 10
Naja ...
Kurven-Übertragung ist der Bereich, der die Visu veranlasst den vorgegebenen Speicherbereich aus der SPS zu laden. Das hat nichts mit Kurven-Anforderung zu tun und passiert auch davon unabhängig.
In der Kurven-Übertragung hast du je ein Bit für jede definierte Kurve und ein Sammelbit. Es muß immer das Kurvenbit und das Sammelbit gesetzt sein.

Kurven-Anforderung ist ein Bit, dass die Visu in der SPS setzt. Die Kurven-Anforderung für eine Kurve ist nur dann =1 wenn die Kurve auf der gerade aktuellen Bildschirmseite auch verwendet wird. Du kannst dadurch dafür sorgen, dass deine Kurve nur dann übertragen wird wenn das auch vom Bild-Inhalt her Sinn macht. Das entlastet dann ggf. die Variablen-Aktualisierung / Daten-Übertragung.

Gruß
Larry
 
Zurück
Oben