WinCC Flexible - Chestysoft csXGraph OCX einbinden.

Beiträge
8.338
Reaktionspunkte
1.903
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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".

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

Gruss Andre
 
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.
 
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 ?
 
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 :(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Gepuffert bringt mir nix weil das Whärend der Prozess läuft angezeigt werden soll.

Aber verat mir aml wie ich die Anzeige aktualisiere ??
 
Ich glaube das die Variabel "Trend Transfer 1" erzeugt das die Kurve(n) 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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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.
 
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.
 
Zurück
Oben