Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Analysieren eines AC-Signals auf der WinForm (https://www.delphipraxis.net/106097-analysieren-eines-ac-signals-auf-der-winform.html)

MrSmile 5. Jan 2008 13:52


Analysieren eines AC-Signals auf der WinForm
 
Hey Leute,
ich bin Schüler an einer Fachschule für Elektrotechniker, habe eine Projektarbeit bekommen! Dafür muss ich unter anderem mit Delphi for the Microsoft .NET Framework ein analoges Signal aufnehmen, es in Echtzeit Zeichnen und die verschiedenen Oberschwingungen analysieren. Jedoch habe ich bis jetzt nur die Grundkenntnisse der Sprache. Was ich benötige sind ein paar Starthilfen, z.B. Wie kann man mit Delphi ein externes Signal aufnehmen, wie kann man Zeichnen, wie kann man eine Zeichnung auswerten!
Wenn ihr mir ein paar Tips geben könntet oder mir links geben könntet, wo ich mich rein lesen kann, wäre mir wirklich sehr geholfen!
Mit freundlichen Grüßen
Frank

Bernhard Geyer 5. Jan 2008 14:00

Re: Analysieren eines AC-Signals auf der WinForm
 
Muss es denn .NET sein? Der WinForms-Unterstützung ist ab Delphi 2007 gestorben.

Was kannst du denn schon? Bist du halbwegs mit GUI-Desing und Implementierung vertraut (Mitgelieferte Beispielprojekte verstanden?). Für die analogen Signale: Ein PC kann von sich aus nix mit analogen Signalen Anfangen. Du benötigst also entweder einen fertigen A/D-Wandler-Baugruppe die du per USB/Serieller-Schnittstelle anschließen kannst oder ist dies auch Aufgabe der Projektarbeit? Falls ja: Wieviel Personen sind an dieser Projektarbeit beteiligt?

little_budda 5. Jan 2008 14:09

Re: Analysieren eines AC-Signals auf der WinForm
 
Also wenn du dich von .NET enfernen könntest ist die Ausgabe nicht sooo schwer.
- Die Kurven kannst du über die normalen Sinus und Cosinussätze berechnen
nachdem du deine Eingangswerte eingelesen hast.
- Zeichen der Grafiken über Canvas oder ähnlich
- Berechnen der Oberwellen würde ich mit den Eingangsdaten machen
nicht über ein Auslesen der Grafiken

Das Einlesen der Anlaogwerte sollte das größte Problem darstellen.

Bernhard Geyer 5. Jan 2008 14:21

Re: Analysieren eines AC-Signals auf der WinForm
 
Zitat:

Zitat von little_budda
Also wenn du dich von .NET enfernen könntest ist die Ausgabe nicht sooo schwer.

Ich glaube nicht das die Problemlösung unter .NET schwerer ist. Es gibt nur weniger Forenmitglieder die sich in .NET schon so tief eingearbeitet haben um in allen Bereichen zu helfen. Das Problem ist eher Delphi + WinForms (bzw. generell der nicht gerade optimale .NET-Port).

MrSmile 5. Jan 2008 16:27

Re: Analysieren eines AC-Signals auf der WinForm
 
Danke schon mal für eure Antworten!!!

1.
Also an der Projektarbeit sind 7Leute beteiligt!
Aufgabenstellung:
Vom PC Daten an einen Controller zu senden, von da aus per funk an ein Endgerät welches gesteuert werden soll! Das Endgerät liefe momentan Daten, welche wieder zurück geschickt werden!
2.
Meine Aufgabe ist es diese Daten die über ein analoges Signal geschickt werden im Controller über eine RS232 auszulesen!
In erster Linie ist es zur Darstellung gedacht. Aber es soll auch als Kontrolle genutzt werden darum muss ich die Oberwellen aufschlüsseln und die Informationen in Borland wiedergeben!
3.
Ich habe dazu nur das Programm "Delphi for the Microsoft .NET Framework" wie ich es benutze ist egal, aber ich muss es benutzen!
4.
Bis jetzt habe ich nur mit buttons, pannels, textboxen und labels gearbeitet. ich kann proceduren, funktionen, klassen und arreys erstellen, aber dann hört es schon ziehmlich auf!
5.
Ich weis nicht was ein GUI-Desing ist, Implementierung ja begrenzt soweit ich mich halt mit dem programm auskenne!
Ich habe keine beispiel Projekte!
Das Signal kommt ja von einem Controller, es wird hoffentlich schon in digitaler Form ankommen! hoffe ich!! Es gehört auch zur Projekt arbeit, aber das ist nicht mein part.
6.
nein Canvas sagt mir nichts.
7.
Ich habe bis jetzt nur bei delphi über die WinForm gearbeitet,kenne keinen anderen Weg mit dem Programm zu arbeiten!

Hoffe ich bin kein hoffnungsloser Fall!
LG Frank

sirius 5. Jan 2008 16:32

Re: Analysieren eines AC-Signals auf der WinForm
 
Und was davon ist Pflicht und wo können wir dich umstimmen?
Und vor allem, warum nicht alles in LabView?

MrSmile 5. Jan 2008 18:40

Re: Analysieren eines AC-Signals auf der WinForm
 
ja, das war auch erst meine idee, es in labview zu realisieren. Jedoch entspricht das nicht der Vorgabe!
Ich habe keine Ahnung wie ich es mit borland realisieren soll!
Das wichtigste für mich ist erstmal wie ich etwas graphisch darstellen, bzw zeichnen kann!
Dann wäre mir schon sehr geholfen!!!

sirius 5. Jan 2008 18:46

Re: Analysieren eines AC-Signals auf der WinForm
 
Ist vielleicht anstatt Delphi für .Net auch Delphi für Win32 erlaubt.
Ich müsste jetzt an den anderen Rechner um zu schauen wie ähnlich das Zeichnen bei WinForms ist (wie gesagt, die wenigsten machen Delphi für .Net)

MrSmile 5. Jan 2008 18:59

Re: Analysieren eines AC-Signals auf der WinForm
 
dazu kann ich nur das sagen, meine Ausbildung basiert auf .NET!
Ich hab zwar das Win32 Paket auch an board, habe es aber gerade zum
ersten mal angeklickt! Ich kann ehrlich gesagt nicht sagen ob ich das auch
verwenden darf, aber eher nicht! Werde es am Dienstag in Erfahrung
bringen! Wenn es von der Anwendung ähnlich ist, könnte mir vielleicht
auch eine Lösung für Win32 helfen, werde es dann umgehen ausprobieren!

idontwantaname 5. Jan 2008 19:09

Re: Analysieren eines AC-Signals auf der WinForm
 
Wenn es .Net sein muss laut Angabe, muss es dann Delphi sein? Denn soweit ich das mitbekommen hab, funktionieren Delphi und .Net nicht so gut miteinander. C# z.B. wäre da wesentlich einfacher ;)

MrSmile 5. Jan 2008 19:23

Re: Analysieren eines AC-Signals auf der WinForm
 
Wir haben bis jetzt immer mit delphi gearbeitet!
Denke nicht das ich davon abweichen darf/soll!
Werde es am Dienstag in Erfahrung bringen!

sirius 6. Jan 2008 08:30

Re: Analysieren eines AC-Signals auf der WinForm
 
Nur für einen Anstoß:

Es gibt bei den WinForms die Klasse "Graphics". Wenn du z.B. auf der Form zeichnen willst, dann holst du dir das zugehörige Graphics-Objekt mittels "Forms.creategraphics" und kannst dann darauf zeichnen:
Delphi-Quellcode:
var g:graphics; //System.Imaging
    p:pen;
begin
  g:=self.creategraphics;
  p:=pen.create(color.red);
  g.drawLine(p,0,0,100,100); //sollte eine Linie ergeben
  p.dispose;
  g.dispose;
end;
Diese Linie wird allerdings nur einmal gemalt und nicht bei jedem Paint-Aufruf.

idontwantaname 6. Jan 2008 08:58

Re: Analysieren eines AC-Signals auf der WinForm
 
Ich würde nicht Control.CreateGraphics() verwenden, da das Graphics-Objekt einmal erstellt wird und sich so z.B. nicht auf Verändern der Größe des Forumulars anpasst. Implementiere besser das Paint-Ereignis und nimm das dort übergebene Graphics-Objekt.

MrSmile 6. Jan 2008 19:16

Re: Analysieren eines AC-Signals auf der WinForm
 
@sirius
Wow, das genau einer dieser Anstöße, die ich erhofft habe!
Vielen dank!!! Damit lässt sich auf jedenfall jetzt was anfangen!
Ich sitzte schon dran!
Könntest du mir bitte den Befehlt noch erklären und wo zu er dient:
Delphi-Quellcode:
g.dispose;

@idontwantaname
Dein Argument hört sich nicht verkehrt an, könntest
du mir bitte auch einen Code-Ausschnitt zur Verfügung
stellen?

sirius 6. Jan 2008 20:13

Re: Analysieren eines AC-Signals auf der WinForm
 
Was er meint ist das:
Delphi-Quellcode:
procedure TWinForm.TWinForm_Paint(sender: System.Object; e: System.Windows.Forms.PaintEventArgs);
var p:pen;
begin
  p:=pen.Create(color.blue,2);
  e.Graphics.DrawLine(p,0,0,100,100);
  p.Dispose;
end;
Ist schon besser, als meins (ich kenn mich in .Net nicht aus). Da aber so eine Paint-Methode kurz gehalten werden soll, ist es am günstigsten das Bild offline (vielleicht als Image o.ä. zu erstellen und dann mit drawimage auf die Form zu kopieren.


Dispose habe ich verwendet, da ich annahm mit creategraphics eine neu Instanz der Klasse graphics zu erzeugen, die ich nachher wieder löschen muss.

3_of_8 6. Jan 2008 21:05

Re: Analysieren eines AC-Signals auf der WinForm
 
@sirius: .NET besitzt Garbage Collection. ;)

Das mit den Oberwellen müsste mit einer Fouriertransformation gehen, dazu habe ich was in der Code Library geschrieben. (Allerdings unter Delphi für Win32, aber es könnte trotzdem interessant für dich sein.)

http://www.delphipraxis.net/internal...&highlight=fft

sirius 6. Jan 2008 21:43

Re: Analysieren eines AC-Signals auf der WinForm
 
Zitat:

Zitat von 3_of_8
@sirius: .NET besitzt Garbage Collection. ;)

Wie du siehst, ich traue der schönen neuen bunten Welt nicht :stupid:

Zu den Oberwellen:
Da er ja Elektrotechniker ist, hat er Fourier von oben, unten, hinten und vorne durchgenommen und wird das, denke ich, recht schnell so hinbekommen :zwinker:
Ausserdem war ja noch irgendein Teil in Labview...

3_of_8 6. Jan 2008 22:43

Re: Analysieren eines AC-Signals auf der WinForm
 
Gut, das kann ich nicht wissen, ich hab mich noch nie so genau informiert, was man in ElTech so alles macht. Aber schaden kann das ja nicht, vor allem weil es manchmal doch ein unerwartet großer Schritt ist von einer mathematischen, abstrakten Beschreibung zu einer funktionierenden, effizienten Implementierung in einer Programmiersprache - vor allem wenn man noch nicht all zu lange mit dieser Sprache gearbeitet hat.

MrSmile 16. Jan 2008 00:47

Re: Analysieren eines AC-Signals auf der WinForm
 
hey Leute, vorweg mal vielen danke für alle eure Bemühungen!!
Trotz all meiner Verhandlungen, ist es jetzt fakt!
Labview darf ich nicht verwenden! Ich darf auch keine
Images auslagern!! Nein Ich hab Nur die die .NET Version
von Borland zur Verfügung!!

@sirius
&
@3_of_8
Wir stecken im Unterricht gerade mitten in dem Thema
Fourier!! Das dürfte das kleinste Problem sein!

Ich muss mich da ab dem Wochenende dann so richtig da
reinhängen! Werde mit den Informationen, die ihr
mir dankbarerweise zukommend habt lassen schon was
auf die Beine stellen können!!! Vielen Danke!

MfG Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz