- Beiträge
- 8.905
- Reaktionspunkte
- 2.156
-> Hier kostenlos registrieren
(Dies ist für Larry Laffer).
Ich verwende der Csxgraph ActiveX Komponent von chestysoft.
Damit kann ich Kurven frei programmieren, wo jeden Kurven-Punkt mit X-Achse und Y-Achse Werte gegeben wird.
Es gibt einige Einschränkungen.
Man kann nicht Punkte und Linien misschen. Es heisst entweder Punkte oder Linien.
Man kann nicht zwei Kurve-Linien mit dieselbe Farbe starten.
Man kan nur ganz-Zahligen Werte darstellen.
Der ActiveX funktioniert nicht bei Win CE.
Angehängt sind zwei Beispiele. Ein Beispiel mit Linien. Ein Besipiel mit ein Streufeld (Punkte).
Viel Glück damit !
Ich verwende der Csxgraph ActiveX Komponent von chestysoft.
Damit kann ich Kurven frei programmieren, wo jeden Kurven-Punkt mit X-Achse und Y-Achse Werte gegeben wird.
Es gibt einige Einschränkungen.
Man kann nicht Punkte und Linien misschen. Es heisst entweder Punkte oder Linien.
Man kann nicht zwei Kurve-Linien mit dieselbe Farbe starten.
Man kan nur ganz-Zahligen Werte darstellen.
Der ActiveX funktioniert nicht bei Win CE.
Code:
Dim chart, i, Xm, Co
On Error Resume Next
Set chart=HmiRuntime.Screens("F07a_XmCo_points").ScreenItems("XmCoPlot")
chart.Password = "xxxxxxxxxxxxx" ' Der Paswort bekommt man von Chestysoft.
chart.ClearData
chart.GraphType = 3
chart.PointStyle = 1
chart.ShowLine = False
chart.OriginX = 36
chart.OriginY = 462
chart.MaxX = 560
chart.MaxY = 462
chart.XTop = 650
chart.YTop = 500
chart.YOffset = -100
chart.XGrad = 50
chart.YGrad = 100
chart.LegendX = 400
chart.LegendY = 20
If Err.Number <> 0 Then
ShowSystemAlarm "XmCoPlot error #1" & Err.Number & " " & Err.Description
Err.Clear
Exit Sub
End If
chart.AddExtraLine 36, 385, 580, 385 , 1, 0, &hE0E0E0E0
chart.PointSize = 1
For i = 0 To 64
If SmartTags("plot_debug_on") Then
SmartTags("plot_debug_i") = i
End If
Co = i * 10
Xm = Int((SmartTags("KURV_VISU")(i)) * 100 )
If SmartTags("plot_debug_on") Then
SmartTags("plot_debug_co") = Co
SmartTags("plot_debug_xm") = Xm
End If
If Co <> 0 Then
chart.AddPoint Co , Xm, &hFFFF77, "WD/CO Adapted [%/%]" '&hFFFF77=light blue. Wont be more light blue than that.
End If
If Err.Number <> 0 Then
ShowSystemAlarm "XmCoPlot error # 2" & Err.Number & " " & Err.Description
Err.Clear
Exit Sub
End If
Next
chart.PointSize = 2
For i = 0 To 64
If SmartTags("plot_debug_on") Then
SmartTags("plot_debug_i") = i
End If
Xm = Int((SmartTags("XmCO_ST1_Xm")(i)) * 100 )
Co = Int((SmartTags("XmCO_ST1_Co")(i)) * 10 )
If SmartTags("plot_debug_on") Then
SmartTags("plot_debug_co") = Co
SmartTags("plot_debug_xm") = Xm
End If
If Co <> 0 Then
chart.AddPoint Co , Xm, vbBlack, "WD/CO Meas [%/%]"
End If
If Err.Number <> 0 Then
ShowSystemAlarm "XmCoPlot error # 3" & Err.Number & " " & Err.Description
Err.Clear
Exit Sub
End If
Next
chart.DrawGraph
If Err.Number <> 0 Then
ShowSystemAlarm "XmCoPlot error #4" & Err.Number & " " & Err.Description
Err.Clear
Set chart=Nothing
Exit Sub
End If
Set chart=Nothing
Angehängt sind zwei Beispiele. Ein Beispiel mit Linien. Ein Besipiel mit ein Streufeld (Punkte).
Viel Glück damit !