Forum: PC-Programmierung Dynamic Chart in C# mit Positionswerten eines Trinamic- Chips erstellen


von Tho W. (tommyprog)


Lesenswert?

Servus zusammen,

folgender Fall:

Hab ne gscheite Trinamic- Schaltung. Diese steuert einen Schrittmotor an 
und liefert Positionswerte, Geschwindigkeitswerte etc. Dazu habe ich 
auch schon ein C# Programm.

Nun möchte ich das ganze über Zeit grafisch darstellen.
D.h. wenn der Motor beschleunigt, wird eine Beschleunigungskurve 
angezeigt.
Wenn der Motor auf Position  ist, ist auf der x- Achse die Zeit und auf 
der y- Achse z.b. die jeweilige Position.

Das ganze verhält sich dynamisch.

Frage:
Muss ich die Werte von den Positionen, Geschwindigkeiten etc. erst in 
eine Database über c# speichern, oder in ein extra File?
Nach jeden Zeitwert wird dann der Wert ausgelesen und anschließend 
grafisch dargestellt.
Danach werden die bisherigen Punkte miteinander verbunden.
Wäre sowas in der Richtung wie:
http://stackoverflow.com/questions/10622674/chart-creating-dynamically-in-net-c-sharp

-> Funktioniert das so, oder wie ist es am Besten umzusetzen?

Danke euch schonmal.

Mfg,
tommyProg

von Peter II (Gast)


Lesenswert?

Tho Wes schrieb:
> Muss ich die Werte von den Positionen, Geschwindigkeiten etc. erst in
> eine Database über c# speichern, oder in ein extra File?

bestimmt nicht. Du kannst sie doch auch im Programm in Listen, Array, 
Datasetzt speichern.

von Tho W. (tommyprog)


Lesenswert?

> bestimmt nicht. Du kannst sie doch auch im Programm in Listen, Array,
> Datasetzt speichern.

Nein, das kann ich dort nicht.
Ich lasse mir die aktuellen Werte immer ausgeben, und dazu verändere ich 
einfach nur die label- "strings".
Was ist das einfachste Konzept zur Realisierung?

von Peter II (Gast)


Lesenswert?

Tho Wes schrieb:
> Nein, das kann ich dort nicht.
> Ich lasse mir die aktuellen Werte immer ausgeben, und dazu verändere ich
> einfach nur die label- "strings".

was hat das Label mit der Speicherung zu tun?

von Tho W. (tommyprog)


Lesenswert?

> was hat das Label mit der Speicherung zu tun?

Dem Label wird die String- Variable vom Wert zugewiesen und erscheint am 
Bildschirm.
Jetzt ist die Frage, wie ich es umsetze, dass ich ständig die Werte 
gegen Zeit darstellen kann.

mfg

von Peter II (Gast)


Lesenswert?

Tho Wes schrieb:
> Jetzt ist die Frage, wie ich es umsetze, dass ich ständig die Werte
> gegen Zeit darstellen kann.

die Daten im Ram speichern ( z.b. DataSet) und dann einfach mit einem 
Diagramm darstellen.

in der Deko gibt es DataVisualization.Charting damit sollte es möglich 
sein.

von Tho W. (tommyprog)


Lesenswert?

Peter II schrieb:
> Tho Wes schrieb:
>> Jetzt ist die Frage, wie ich es umsetze, dass ich ständig die Werte
>> gegen Zeit darstellen kann.
>
> die Daten im Ram speichern ( z.b. DataSet) und dann einfach mit einem
> Diagramm darstellen.
>
> in der Deko gibt es DataVisualization.Charting damit sollte es möglich
> sein.

Danke, nur bin ich ne flasche, was das umsetzen angeht.
Nun zur Idee, wie ichs machen würde.
Nen Timer importieren.
In diesen Timer den Chart importieren.
den Chart Werte zuweisen, series zuweisen etc..
Die zugewiesenen Werte für die y- Achse sind meine Strings.
Die Strings werden je nach der Zeit kontinuerilich überschrieben und als 
y- koordinate übergeben.
die Zeit vergeht "einfach".
Nun wäre da das Problem, wie ich es mache, dass, wenn ich viele Werte 
habe, das Diagramm übersichtlich ist, und sich nicht automatisch 
verkleinert.

Was sagst du dazu?

von Peter II (Gast)


Lesenswert?

Tho Wes schrieb:
> Was sagst du dazu?

da kann man von ferne wenig dazu sagen. Fang doch erst mal damit an, ein 
einfache Diagramm zu erzeugen über den letzten 10 werte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.