# WinCC Flexible - Chestysoft csXGraph OCX einbinden.



## JesperMP (31 Oktober 2007)

Hallo.

Im WinCC Flex Wunchliste thread hatte Human den csXGraph OCX von Chestysoft empfohlen.
Jetzt versuche Ich es im WinCC Flex einzubinden.
Ich kann den OCX auf eine Seite einfügen, aber wie werden die funktionen wie _ClearData_, _AddPoint_ und _DrawGraph_ aktiviert ?

Ich habe es versucht volgendes in ein Skript einzufügen, aber es kommt zu fehlern ("chart" wird mit rot unterstrichelt):

Chart.ClearData
Chart.AddPoint 0, 0, vbBlack, "Line1"
Chart.AddPoint 50, 50, vbBlack, ""
Chart.DrawGraph


----------



## JesperMP (1 November 2007)

Hallo, ich bin etwas weiter gekommen.

Dim chart
Set chart=HmiRuntime.Screens("Screen_1").ScreenItems("XY_CURVE_1")
chart.ClearData
chart.AddPoint 0, 0, vbRed, "Red Line"
chart.AddPoint 30, 30, vbRed, ""
chart.AddPoint 0, 0, vbBlack, "Green Line"
chart.AddPoint 30, 20, vbGreen, ""
chart.DrawGraph
Set chart=Nothing

Aber es kommt ein meldung:
"No data items or points defined".


----------



## JesperMP (2 November 2007)

Jetzt funzt es.

Es fehlte eine Linie:
chart.GraphType = 3

So jetzt habe ich X/Y Kurven in WinCC Flexible.


----------



## andre (2 November 2007)

Hallo JesperMP,
funktioniert das nur mit einer PC-Runtime oder auch auf einem Panel wie z.B. dem MP370?

Gruss Andre


----------



## JesperMP (3 November 2007)

Hallo Andre.

Ich habe es nicht mit Windows CE / MP Panel versucht.
Ich vermute das es nicht geht.

Ob es überhaupt OCX für Windows CE mit ARM CPU gibt weiss ich nicht.


----------



## santero (18 Mai 2011)

Mahlzeit,

kann man sich mit dem Tool auch Werte über die Zit anzeigen lassen??

santero


----------



## JesperMP (18 Mai 2011)

Das Tool "malt" einfach Punkte in ein X/Y Diagramm.
Also kann man auch die Zeit als X-Achse programmieren.
Die X und Y Werte sind allerdings im SPS gespeichert.
Eventuell ist die X-Achse (Zeit) Beschriftung problematisch.

Aber, es gibt ja die "Normalen" Kurvenanzeige. Warum nicht diese für deine f(t) kurven verwenden ?


----------



## santero (18 Mai 2011)

Hatte ich ja vor. Aber das klaptt alles nicht so 100%.

HAbe das so geqamcht das man 1 - 8  Kurven darstellen kann. Das mache ich mit dem Übertragunswort. Das klappt auch das er die gewünscgte Anzahl an Kurven anzeigt. Nur die Zeit spielt verrückt. Sagen wir mal wir fahren 60s mit 100 Upm  und dann 120s mit 150 Upm. Mnahcmal ist die Zeit im Graph genau aber öftres sehen die 60s aus wie 50s und die 120s wie 100s im Graph. Keine Ahnung was cih da verkehrt mache. Habe das analog zu dem Kurvenanzeigen beispiel von Siemens aufgebaut ,d.h. ich frage das Ü-Wort auf 0 ab.Wenn das 0 ist setze ich das auf 1 wieder. Habe auch versucht mit dem OB 35 ne genau sekundentaktung hinzukriegen , war aber auch nicht das gelbe vom Ei.

Und was mih noch stört das man die Anzeige nicht leeren kann


----------



## JesperMP (18 Mai 2011)

Wie du das beschreibst, dann sollte die normale "gepufferte" Kurvenanzeige in Flex dasselbe können als die ChestySoft OCX.

Um zu leeren, dann die DB Werten löschen und das Kurvenanzeige erneut aktualisieren.


----------



## santero (18 Mai 2011)

Gepuffert bringt mir nix weil das Whärend der Prozess läuft angezeigt werden soll.

Aber verat mir aml wie ich die Anzeige aktualisiere ??


----------



## JesperMP (18 Mai 2011)

Ich glaube das die Variabel "Trend Transfer 1" erzeugt das die Kurve aktualisiert wird.

Wenn ich es erinnere, man setzt der Variabel auf "-1" um die konfigurierte Kurven zu aktialisieren. Und dann meine ich das der HMI setzt es zurück auf "0".

Ob man das geht mit ein relativen schnellen zyklus zu machen weis ich nicht.
Probier das mal aus.

Die chestysoft OCX zyklisch zu aktivieren empfehle ich auch nicht.


----------



## santero (26 Mai 2011)

Danke @ Jesper. Werd das mal suchen mit dem "Trend Transfer", aber ich meine das gibt es da nicht. Im Moment hab ich die Kurven auf "Echtzeit bitgetriggert" eingestellt. Kann das sein wenn ich die auf  "Echtzeit zyklisch" einstelle das ich die dann nicht mehr stoppen kann oder stell ich mich zu blöd an lol 

Mfg


----------



## JesperMP (26 Mai 2011)

Realtime bit triggered: Keine Erfahrung. Ich _glaube_ das wenn eine von mehrere Kurven nicht "getriggert" ist, dann gibt es einfach ein "Loch" in diesen Kurve.

Realtime cyclic triggered: Es läuft in Prinzip immer.

Da ist auch ein System-Funktion TrendviewStartStop.
Keine Erfahrung damit.
Problem ist das es fehlt ein Funktion um das Anzeige zurückzusetzen.

Ich bin überzeugt das die Variante Buffered Bit Triggered ist die Lösung für dich. Mit Trend Request sollte es möglich sein zu steuern das die Kurve aktualisiert wird, obwohl es wird am besten jede 5 Sekunden oder so und nicht fliessig jede Sekunde.


----------



## santero (26 Mai 2011)

Ja also gut du sagst auch, dass es keine Möglcihkeit gibt die Anzeige zurückzusetzen. Das hat mir die Siemenshotlin auch gesagt. Ja gut dann muss ich mal rummspielen und sehen ob ich das hinkrieg wie ich das haben will.


----------

