AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Com Port auslesen

Ein Thema von Masteric · begonnen am 28. Dez 2007 · letzter Beitrag vom 10. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
Masteric

Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
 
Delphi 7 Professional
 
#1

Com Port auslesen

  Alt 28. Dez 2007, 17:33
Hi,
ich habe zwar schon im Forum gesucht, aber nicht das richtige gefunden....

Ich habe eine über USB angeschlossene 10 Bit 8 Kanal - Karte, mit der man die Spannung von den 8 Pins einlesen kann.
Da mir das Demo-Programm ein bisschen mager ist, wollte ich mir selber eins in Delphi schreiben.

ABER WIE??? Hatte mich schon mal mit dem Seriellen Port auseinandergesetzt, aber wie lese ich die Bit's ein oder sende welche.....


Hoffe einer von euch hat davon Ahnung.


Gruß Masteric


PS: Hab im Anhang mal die Anleitung angehängt.
Angehängte Dateien
Dateityp: txt dieses_datenerfassungssystem_wird_einfach_an_465.txt (2,0 KB, 75x aufgerufen)
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Com Port auslesen

  Alt 28. Dez 2007, 17:37
Zitat von Masteric:
PS: Hab im Anhang mal die Anleitung angehängt.


such hier mal nach der Komponente CPort, damit geht das eigendlich ganz leicht.
Wird diese USB-Karte als COM angezeigt (Treiber?)
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Masteric

Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
 
Delphi 7 Professional
 
#3

Re: Com Port auslesen

  Alt 28. Dez 2007, 17:40
sry, die datei wurde irgendwie nicht hochgeladen, ich habe jetzt eine kleinere Version mit allem wichtigen, was die Anleitung hergibt hochgeladen, und die USB Karte ist ein virtueller Com Port.

Gruß Masteric
"Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität."
Nur weil Gott die Welt in 6 Tagen erschaffen hat, heisst das nicht, dass Informatiker alles in 6 Tagen programmieren können.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Com Port auslesen

  Alt 28. Dez 2007, 17:48
Dann würde ich mal im Gerätemanager schauen welcher COM Port das ist.
Dann kannst du das in CPort einstellen, Baudrate usw und dann dannst du ihm eben 's5' usw schicken.

edit: CPort
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Masteric

Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
 
Delphi 7 Professional
 
#5

Re: Com Port auslesen

  Alt 28. Dez 2007, 18:06
kannst du mir sagen, wie ich die installen soll. Ich bekomm das nicht so ganz hin....

Gruß Masteric
"Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität."
Nur weil Gott die Welt in 6 Tagen erschaffen hat, heisst das nicht, dass Informatiker alles in 6 Tagen programmieren können.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Com Port auslesen

  Alt 28. Dez 2007, 18:34
1) Bibliothek runterladen
2) In sources.zip sind die benötigten Units. Diese entweder in den Ordner von deinem Projekt entpacken oder in einen beliebigen Ordner, dann aber als Such-Pfad von Delphi diesen Ordner angeben.
3) In die Uses kommt CPort, CPortCtl
4) Variable deklarieren, am besten als Feld einer Klasse:
Delphi-Quellcode:
private
  ComPort: TComPort;
5) Ereignis festlegen
Delphi-Quellcode:
private
  ComPort: TComPort;
  procedure ComPortRxChar(Sender: TObject; Count: Integer);

{...}

procedure TKlasse.ComPortRxChar(Sender: TObject; Count: Integer);
var
  MyStr: String;
begin
  ComPort.ReadStr(MyStr, Count);
  showmessage(MyStr);
end;
6) Instanz erzeugen, zB im Constructor der Klasse / onFormCreate
Delphi-Quellcode:
  ComPort := TComPort.Create(self);
  ComPort.OnRxChar := ComPortRxChar;
  ComPort.Port := 'COM1'; // Im Gerätemanager nachgugn!
  ComPort.BaudRate := br115200;
  ComPort.StopBits := sbOneStopBit;

  ComPort.Open;
7) Befehl senden
ComPort.WriteStr('s5'); 8) Freuen
9) Freigeben nicht vergessen

Es kann sein das das Ereignis ComPortRxChar mehrmals aufgerufen wird und nur jeweils die hälfte der Informationen enthält...
Außerdem sind in dem runtergeladenen ZIP auch Beispiele dabei.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Masteric

Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
 
Delphi 7 Professional
 
#7

Re: Com Port auslesen

  Alt 28. Dez 2007, 18:36
schonmal großen DANK!

Gruß Masteric
"Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität."
Nur weil Gott die Welt in 6 Tagen erschaffen hat, heisst das nicht, dass Informatiker alles in 6 Tagen programmieren können.
  Mit Zitat antworten Zitat
Kendro

Registriert seit: 19. Jan 2011
11 Beiträge
 
#8

AW: Com Port auslesen

  Alt 10. Jun 2011, 12:30
Hallo,

ich bin gerade dabei eine Software zur Ansteuerung eines Messgerätes mit der TcomPort Komponente zu realisieren. Über google bin ich hier auf dem Post gelandet.

Kann mir einer sagen warum das Ereignis ComPortRxChar mehrmals aufgerufen wird? Meine Empfangene Daten, die mir das Messgerät sendet, sind ca 450 zeichen lang. Liegt dass an der Komponente oder an meinem Messgerät? oder hab ich was vergessen einzustellen?

Danke euch für eure Hilfe
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Com Port auslesen

  Alt 10. Jun 2011, 12:32
Der Event scheint, dem Namen nach, auch pro Zeichen getriggert zu werden.
Markus Kinzler
  Mit Zitat antworten Zitat
Kendro

Registriert seit: 19. Jan 2011
11 Beiträge
 
#10

AW: Com Port auslesen

  Alt 10. Jun 2011, 12:42
Hallo,

danke für deine rasche Antwort!

das ist schon richtig aber es sollte eigentlich nur einmal ausgelöst werden, weil das Gerät den String von ca 450 zeichen auf einmal überträgt. ich habe das Problem, das dass Event 2 mal ausgelöst wird. Beim ersten mal kommen so ca 8 Zeichen(+-2) dann die restlichen zeichen. Kann es irgendwie am Speicher liegen.

Benutze Delphi 2006

Danke
  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 15:00 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