Forum: Mikrocontroller und Digitale Elektronik Charting Tool


von Christian (Gast)


Lesenswert?

Hallo,

ich suche für das nächste Projekt ein Charting Tool.
Bis jetzt gefällt mir das Charting Tool von Steema (TeeChart
http://www.steema.com/products/teechart/vcl/screenshots.html) am
besten. Jedoch weiß ich zur Zeit noch nicht ob ich folgende Anwendung
damit realisieren kann:

Ein Atmega 8 gibt seriell konstant Messdaten aus. Diese müssen PC
seitig visualisiert werden (desweiteren wären Zoom, Abmessen, Skalieren
und Abspeichern sehr vorteilhaft) und geloggt.Ich denke mit TeeChart
sollte es recht fix gehen. (Ich habe nur noch bedenken ob man bei
TeeChart in EchtZeit auch darstellen kann (die Daten kommen ca. alle
100ms))

Meine Frage ist, ob ihr schon mal sowas ähnliches realisiert habt, und
wenn ja, wie? Mit welchen Tools?
Für evtl. aufkommende Probleme und Kniffe die man bedenken muss wäre
ich auch dankbar :-)

Gruß und vielen Dank

Christian

von Fritz G. (fritzg)


Lesenswert?

Der Wunschjörg und ich würden sagen: gnuplot :-)

Das kann man schön skripten und gleich im Skript eine Ausgabe nach
Postscript oder PNG erzeugen lassen.

von Krafti (Gast)


Lesenswert?

Hallo Christian,
um eventuelle Unklarheiten zu beseitigen:
TeeChart ist eine Komponentensammlung für die Borland Delphi, den C++
Builder von Borland und Kylix.
Für das was du vorhast reichen bereits die abgespeckten TeeChart
Komponenten, die bei Delphi und beim C++ Builder standardmäßig
enthalten sind, aber die Datenerfassung und Datenspeicherung musst du
ohnehin selber erledigen, TeeChart dient im wesentlichen nur zur
Visualisation.

Gruß Krafti

von Christian (Gast)


Lesenswert?

@Fritz: gnuplot fällt leiter raus. Das ganze sollte ohne Probleme unter
Win2k und XP laufen. Trotzdem Danke.

@Krafti: Das TeeChart speziell für die VCL und auch den C++ Builder
ist, ist mir bekannt. Genau das macht das ganze recht attraktiv. Vor
allem die neue 7er Pro Version hat viele nette Spielereien (aber auch
viele überflüssige). Bei TeeChart ist mir nur nicht ganz klar ob ich
fliessend Daten in das Diagramm übertragen kann, so dass die Linien
sich langsam über den Bildschirm bewegen.
Die Standard Komponenten im C++ Builder sind da glaube nicht
ausreichend.

Hat sonst jemand noch Alternativen?


Gruß und schönen Tag noch, Christian

von Werner A. (Gast)


Lesenswert?

@Christian,
wieso fällt gnuplot raus? Das gibts auch für Win.

Werner

von AxelR. (Gast)


Lesenswert?

vorweg:

achso erst mal guten Tag -

die Teechart Komonente, die bei Delphi bei ist reicht tatsächlich aus,
um deine Daten darzustellen.

>...ob man bei TeeChart in EchtZeit auch darstellen kann (die Daten
kommen ca. alle
100ms))

nichts für ungut, aber 100ms sind keine Echtzeit.
Überlege doch mal, wie lange der ADC für eine Wandlung braucht und wie
schnell die Übertragung der Daten über die serielle bei 115K2 dauert.
Du könntest 155.200 Messungen in der Sekunde übetragen, Dein ADC
schafft gerademal 20.000, wenn man Abstriche in der Genauigkeit
hinnimmt...

Ich gehe jetzt mal ganz frech davon aus das Du dich (genau wie ich) vom
Datenloggerprojekt hast anstecken lassen .-)

Dein PC sollte sehr wohl in der Lage sein, einfliegende Daten, auch
wenn diese mit 115K2 einfliegen sollten, zu verarbeiten.
Du kannst in Delphi schön mit getrennten Threads arbeiten, mit Streams
usw. Bitmaps im Hintergrund aufbauen und wenn fertig via BitBlt aufs
Formular schreiben. Überhaupt kein Problem.
Ich hole allerding wahrscheinlich wieder etwas weit aus - wenn Du das
alles mit reinnimmst, brauchst Du definitiv KEINE TeeChart Komponente
mehr. Dann kannst Du mal eben gleich alles selber proggen.

Ich muss erstmal die Gokart-Sache beenden, meinem Sohn sein
MatchboxAutoLichtschrankenTacho zu mehr Empfindlichkeit verhelfen und
dann sehe ich mir mal die GUI für den 800Punkte Datenlogger an.

(Oder hatte dein Post jetzt rein garnichts mit diesem Projekt zu tun?)

Soweit schönen Gruß in die Runde

AxelR.

Überhaupt das richtige (Unter)Forum?

von Fritz G. (fritzg)


Lesenswert?

115kBit reichen aber bloss für ca. 6000 Daten in der Sekunden (16-bit
pro Messwert).

von AxelR. (Gast)


Lesenswert?

Stimmt... in diesem Moment macht Zwischenspeichern wieder Sinn.
Man braucht sich aber - das wollt eich eigentlich noch sagen - bei den
heeutigen PC's keine Gedanken darüber machen, ob diese was schaffen
oder nicht.

von Krafti (Gast)


Lesenswert?

Hallo Christian,

> Das TeeChart speziell für die VCL und auch den C++ Builder
> ist, ist mir bekannt. Genau das macht das ganze recht attraktiv. Vor
> allem die neue 7er Pro Version hat viele nette Spielereien (aber
> auch viele überflüssige).
Wenn es dir die ca. 400 Euro wert sind ;-)
Es macht halt eigentlich nur Sinn das Paket mit Sourcecode zu kaufen,
welcher aus meiner eigenen Erfahrung sehr nützlich ist.
(Wir haben die 6er Version hier in der Firma mit Source)

> Bei TeeChart ist mir nur nicht ganz klar ob ich
> fliessend Daten in das Diagramm übertragen kann, so dass die Linien
> sich langsam über den Bildschirm bewegen.
Ja, das geht (auch mit den Standardkomponenten). Genau das kann man im
Demoprogramm von der TeeChart-Homepage sehen.
100ms Aktualisierungsrate sollten kein Problem darstellen.

> Die Standard Komponenten im C++ Builder sind da glaube nicht
> ausreichend.
Die von Delphi 5 sind es zumindest.

Gruß Krafti

von Christian (Gast)


Lesenswert?

Hallo,

@ Axel: Danke für deine Infos. Das Datenlogger Projekt kenne ich noch
nicht mals. An dem Projekt wo ich nun dran bin ist beruflich. Der
Messteil ist vorgegeben und funktioniert schon wunderbar mit einem
ATmega8 wo ich so noch gute 50% frei habe. Deshalb sind auch die 100 ms
vorgegeben (das meine ich ja mit Echtzeit ;-), vielleicht etwas
undeutlich ausgegeben.
Ich denke die kosten für eine volle TeeChart Version sollten drin sein.

Alles selbst schreiben wollte ich eigentlich nicht, da man so viel Zeit
bei der Skalierung, Zoomen und anderen Features braucht die bei TeeChart
schon wunderbar implementiert sind. Ich kenne mich soweit mit dem BCB
aus und habe eher eine kleine Abneigung gegen Delphi :)

@Krafti: Soweit ich weiß kosten doch die neue 7er "nur" 230€?
Seid ihr soweit in eurer Firma zufrieden damit? Und wie handelt ihr die
Daten? Also ich meine ist es sehr aufwendig die Daten von der UART in
das Diagramm zu bekommen, so das es sich dynamisch bewegt.
Bei uns werden es wohl 2 verschiedene 16 Bit Daten sein (glaube
Temperatur und Leitwert oder sowas). Und wie meinst du das mit dem
Sourcecode?

Ich glaube gnuplot ist bei der Anwendung eher im Nachteil

Vielen Dank, Christian

von Krafti (Gast)


Lesenswert?

Hallo Christian,

> Soweit ich weiß kosten doch die neue 7er "nur" 230€?
Ja, die Standard-Version ist billiger, dann hast du allerdings nur die
reinen Runtime-Sachen. M.E. lohnt sich das Paket aber nur in der Pro
Version mit den Sourcecodes. (Wenn man schon Geld ausgeben will, dann
aber richtig!)

> Seid ihr soweit in eurer Firma zufrieden damit?
Ja und Nein. Die Anzeigefunktionen sind einfach genial (Zoom und Pan)
und man kann sehr einfach eigene Sachen in die Grafik hinzufügen.
Einziges Problem ist der Ausdruck und der Export, da gibt es Probleme
mit der Auflösung und Skalierung auf dem Drucker.

> Und wie handelt ihr die Daten? Also ich meine ist es sehr
> aufwendig die Daten von der UART in das Diagramm zu bekommen,
> so das es sich dynamisch bewegt. Bei uns werden es wohl 2
> verschiedene 16 Bit Daten sein (glaube Temperatur und Leitwert
> oder sowas).
Das läuft in der Demo ganz einfach ab:
Erster Wert in der Serie löschen und neuer Wert mit AddXY hinzufügen.
TeeChart zentriert dann automatisch auf die neuen Daten und somit
entsteht die Verschiebung.
Ansonsten liegen die Daten bei uns konkret im Speicher als Arrays vor
und werden von dort über AddXY an die jeweilige TeeChart-Serie
eingefügt. TeeChart arbeitet prinzipiell mit Double-Werten.
Für die Programmierung der seriellen Schnittstelle empfehle ich dir
übrigens die AsyncPro Komponente von TurboPower (www.sourceforge.net).


> Und wie meinst du das mit dem Sourcecode?
Bei der Pro Version ist der Sourcecode von TeeChart mit dabei, d.h. du
kannst darin Änderungen vornehmen, einfach mal sehen, wie was gemacht
ist oder Bugs (tauchen leider immer mal wieder auf) in TeeChart selbst
beheben.
Ich hatte z.B. Probleme bei der Installation unter Deplhi 6, da
anscheinen das TeeChart-Paket mit einer anderen Systembibliothek
compiliert war. Abhilfe schaffte nur das Neucompilieren des
Sourcecodes.

Gruß Andreas

von Ingo H. (putzlowitsch)


Lesenswert?

Interessanter Hinweis mit "TurboPower". Ich wußte noch gar nicht, daß
das jetzt Open Source ist. Wir haben früher mal zu Delphi 1/2/3-Zeiten
noch richtig Geld dafür bezahlt.

Gruß
Ingo

von Rahul D. (rahul)


Lesenswert?

Vielleicht noch DIAdem von National (bitte nicht schlagen!). Lässt sich
auch scripten (VBS), ist quasi die Vorstufe von LabView (gleicher
Laden) und recht einfach zu bedienen.
Mann muß aber noch dazu sagen, dass es noch gewisse Bugs mitbringt.
Dafür ist National aber so kulant und gibt einem eine bereinigte
Version meist kostenlos.

von Weinga-Unity (Gast)


Lesenswert?

Hallo!

Hier einige Anregungen:
Ich hätte es auch mit gnuplot gemacht, aber die echtzeitfähigkeit (d.h.
die 100ms) könnten da etwas problematisch sein.

Wenn ich mich nicht irre, war bei den JVCL auch Diagramm-Komponenten
dabei (auch opensource).

RS232: http://sourceforge.net/projects/comport/

mfg Weichinger Klaus
www.weinga-unity.at.tt
www.weinga-unity-uni.at.tt

von Christian (Gast)


Lesenswert?

Guten Abend,

vielen Dank für die Infos. Vor allem auch an Krafti, ich denke du hast
mich da schon ein Stück weiter gebracht. Ich werde mich nun mit
TeeChart etwas mehr auseinander setzen. Welche Version ich nun benutzen
werde weiß ich noch nicht. Vielleicht reicht ja wirklich schon die BCB
Standard 4.0 Version.

Wegen der seriellen Erfassung werde ich wohl schon vorhandenen Source
übernehmen den ich auch schon mal im BCB implementiert habe. Und ja es
gibt einen eigenen Thread dafür :-)

Vielen Dank soweit

Gruß Christian

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.