AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Oszilloskop-aber wie anzeigen?
Thema durchsuchen
Ansicht
Themen-Optionen

Oszilloskop-aber wie anzeigen?

Ein Thema von Borti · begonnen am 27. Okt 2003 · letzter Beitrag vom 29. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#1

Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 12:15
Hi!
Ich bin grad dabei meinen PC zu einem Oszilloskop auszubauen. Die Datenübernahme über den LPT-Port klappt schon, aber jetzt hapert’s an meinen Programmierkenntnissen. Ich will mir so einen Bildschirm kreieren, wie bei einem echten Oszilloskop. Das heißt, dass meine aktueller Wert am rechten Rand meines Anzeigefeldes eingespeist wird und die vorhergehenden einfach eins nach links verschoben wird und verschwindet, sobald er den linken Rand erreicht. Weiß von euch einer eine Komponente mit der man das ohne viel Aufwand realisieren kann? Ich hab’s schon mal bei TChart versucht, aber das Verschieben der Werte verbraucht zu viele Ressourcen und mein Rechner kommt mit der LPT-Abfrage nicht mehr hinterher (ca. 1000 mal pro Sekunde). Vielleicht hab ich’s auch einfach viel zu kompliziert gemacht. Ich würd’ mich freuen, wenn mir von euch einer helfen könnte.
Ciao,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 12:28
Na da bekommst du immer Schwierigkeiten. Bei 1 Millisekunde fuer alles wird es schwierig fuer Windows.
Lager doch erst mal die Datenerhebung in einen Thread hoher Prioritaet aus.
Die Anzeige kannst du dann langsamer machen. Schneller als 100 Hertz muss es nicht sein, da kaum ein Monitor schneller darstellt.
Fuer die Anzeige koennte man einen xyGraph verwenden, auch wenn der schon ziemlich alt ist und nicht mit Text-DFMs zurechtkommt.
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 12:44
Alles mit Tcanvas selber zeichnen. esrat auf ein Hintergrung TBitmap und das das bild auf das Formular kopieren.
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#4

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 12:56
so, hier kommt mein Code!
ich hab ihn jetzt noch auf die Schnelle zusammengestöpselt, könnt daher noch Fehler enthalten.
Er kann erstmal nur einen Pin vom LPT abfragen und kennt daher nur die Zustände 1 und 0. Wird noch erweitert, aber will erstmal sehen, ob's überhaupt möglich ist das genze grafisch darzustellen.
Angehängte Dateien
Dateityp: zip project1_739.zip (179,3 KB, 75x aufgerufen)
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#5

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 12:57
Verbessere mich, wenn ich falsch liege, meine letzten Oszilloskoperfahrungen liegen etwas zurück...
Eine Komponente kenn ich leider auch nicht...

Ich dachte aber, dass bei einem Oszilloskop der Elektronenstrahl mit einer festen (wählbaren) Frequenz von immer wieder von links nach rechts läuft und über die Spannung am Eingang die Amplitude reguliert wird.

D.h. ein klassisches Oszilloskop schiebt nicht den ganzen Inhalt nach links, sondern übermalt das Bild immer wieder neu, durch das Nachleuchten ensteht bei der richtigen Frequenz dann ein stehendes Bild (bei einem entsprechenden Signal).

Programmiertechnisch könntest Du das (allerdings ohne extra Komponente...) so lösen, dass Du Deinen 'Elektronenstrahl' mit einer bestimmten Geschwindigkeit über Deinen 'Schirm' laufen lässt, und bei jeder neuen x-Position einfach die aktuelle Spannung einliest, und entsprechend Deine Linie zeichnest. Vorher müssen noch die alten Bilddaten gelöscht werden (auf der aktuellen x-Position über die gesamte y-Achse).

Kann ein Speicheroszilloskop den von Dir beschriebenen Effekt? Das würdest Du mit BitBlt(WinAPI) hinbekommen, indem Du den gesamten Bereich Deines Schirms um ein Pixel nach links schiebst, sowas geht im Allgemeinen recht schnell.

Ciao, teebee
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#6

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 13:17
Liegt das an mir oder an der Demo???
Miniaturansicht angehängter Grafiken
error_796.jpg  
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#7

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 13:45
@tim.exe

An der Demo, da ist der Pfad zur DLL vollständig angegeben
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#8

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 17:54
an Robert Marquardt: Was für einen xygraph? Ich kenn nur Chartfx!
an teebee: ich hab jetzt was du gemeint hast mit dem verschieben ausprobiert. klappt soweit ganz gut, aber wie krieg ich da jetzt mein Coordinatensystem rein? ird da bitmap nicht immer größer, da ich es zwar über den rand der form hinausschiebe, aber den überstehenden bereich nicht abschneide?(du hattest recht mit deinen Oszi! wie ein speicheroszi aussieht- keine Ahnung! war mir zu teuer, daher mach ich's mir ja selbst)

Kann mir einer mal ein gutes Tutorial zu bitmaps, canvas etc. verraten? (Das ist mein erster versuch auf diesem gebiet)
Danke, Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
InSys

Registriert seit: 20. Okt 2003
Ort: Erfurt/Thüringen
8 Beiträge
 
#9

Re: Oszilloskop-aber wie anzeigen?

  Alt 27. Okt 2003, 22:41
Hi Borti!
Schau mal Bei den TMS-Kompo's
unter www.tmssoftware.com nach, ob da was brauchbares dabdei ist.
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#10

Re: Oszilloskop-aber wie anzeigen?

  Alt 28. Okt 2003, 08:19
Um zu verhindern, dass das Bild über den Rand hinausgeschoben wird, wählst Du als zu verschiebenden Ausschnitt nicht das komplette Bild, sondern lässt die linke Pixelspalte weg. Diesen um eine Spalte schmaleren Ausschnitt verschiebst Du nun um eine Spalte nach links, löschst die rechte Spalte und kannst dort neu zeichnen.

Ciao, teebee
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz