AGB  ·  Datenschutz  ·  Impressum  







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

Daten auslesen mit Asyc Pro

Ein Thema von Mucki · begonnen am 24. Jul 2006 · letzter Beitrag vom 5. Aug 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#1

Daten auslesen mit Asyc Pro

  Alt 24. Jul 2006, 21:25
Hi!?

Ich möchte Daten (9600, pEVEN, 8, 1)über die RS-232 Schnittstelle auslesen.

Ich benutze dafür die Komponente AsyncPro.

Allerdings habe ich Schwierigkeiten Daten zu senden bzw. zu empfangen.

Kann mir jemand einen Tipp geben wie ich Daten im Hex Format senden
und empfangen kann. Möchte die Daten dann weiter verarbeiten (speichern und wandeln)

Ich trete seit einigen Tagen auf der Stelle und komme einfach nicht weiter... Frust.

Zuerst lief es ganz gut, habe den ComPort konfiguriert und einen Terminal
zur Kontrolle des Datenverkehrs eingefügt.

Mit ApdComPort1.Output konnte ich Daten senden und diese auch auf dem
Terminal sehen. Das klappt jetzt nicht mehr. Egal was ich sende, der Terminal
bleibt leer.

Über jedem Vorschlag der zur Lösung führt, wäre ich sehr dankbar.

Grüße Mucki
Alles bleibt anders !
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Daten auslesen mit Asyc Pro

  Alt 24. Jul 2006, 22:28
Hi,
ich hab leider keine großartigen Tipps was AsyncPro angeht (benutze lieber den TComPort), aber was genau meinst du denn damit, dass du Daten im Hex Format verschicken möchtest? Du verschickst nur einzelne Bytes, die Darstellung in deinem Editor ist dem Kabel relativ egal. Du kannst den gleichen Wert (soweit unterstütz von AsyncPro) auch als Char, dezimal oder sonst wie verschicken. An dem eigentlichen Wert ändert das nichts.
Wenn du schauen willst, was gesendet wird (auch empfangen), dann bietet sich SysInternals an. Die haben einen Treiber, der sich zwischen deine Ports und Windows hängt. Du kannst dann alles (sowohl als Character/String als auch Sedezimal) sehen, was ankommt bzw. verschickt wird.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 00:07
9600 Baud scheint Dein Ernst zu sein.

Trotzdem : was soll das werden ? Wie groß ist die zu übertragende Datenmenge ? Wie oft wird was übertragen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#4

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:06
Zitat von Der_Unwissende:
Hi,
ich hab leider keine großartigen Tipps was AsyncPro angeht (benutze lieber den TComPort), aber was genau meinst du denn damit, dass du Daten im Hex Format verschicken möchtest? Du verschickst nur einzelne Bytes, die Darstellung in deinem Editor ist dem Kabel relativ egal. Du kannst den gleichen Wert (soweit unterstütz von AsyncPro) auch als Char, dezimal oder sonst wie verschicken. An dem eigentlichen Wert ändert das nichts.
Wenn du schauen willst, was gesendet wird (auch empfangen), dann bietet sich SysInternals an. Die haben einen Treiber, der sich zwischen deine Ports und Windows hängt. Du kannst dann alles (sowohl als Character/String als auch Sedezimal) sehen, was ankommt bzw. verschickt wird.

Gruß Der Unwissende
Hi, Danke erst Mal für Deine Antwort.

Ja da hast Du vermutlich recht. Im Prinzip werden Nullen & Einsen gesendet.
Ich habe da eine Anlage, die möchte ich auslesen. Die Daten werden vom Hersteller im Hex Format
angegeben. Das heisst wenn ich das Telegramm zum zum auslesen der Daten sende,
bekomme ich ein Telegramm im Hex Format zurück, welches ich mir dann in Dezimalzahlen wandeln
und speichern (Exeltabelle) möchte.
Nur bekomm ich einfach nicht raus, wie das mit dem senden funktioniert.
Bisher ist alles fehlgeschlagen.
Ist TComPort auch eine Komponente und kann man das mit der realisieren?
Alles bleibt anders !
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:08
bei der Async Komponente ist eine Gute Doku dabei. Versuch mal daraus schlau zu werden. Wenn nicht kann ich mal was rauskramen.

Senden: Comm1.Write();

Und zum Empfangen das Ereignis OnRxIrgentwas nicht das mit dem Flag das andere

Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:11
Sodele:
Senden:
Sti = String mit den zu sendenden Daten
Comm1.Write(Sti[1], Length(Sti));

Inzialisieren:
Comm1.BaudRate := cbgr9600;
Comm1.Databits := da8;
Comm1.Parity := paNone;
Comm1.Stopbits := sb10;
Comm1.DeviceName := 'Com1';
Comm1.Open;

Empfangen:
procedure TMainForm.Comm1RxChar(Sender: TObject; Count: Integer);
var
buffer : array[0..1024] of Char;
begin
Fillchar(Buffer, SizeOf(buffer), 0);
Comm1.Read(Buffer, Count);
end;


Mfg
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#7

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:18
Zitat von Hansa:
9600 Baud scheint Dein Ernst zu sein.

Trotzdem : was soll das werden ? Wie groß ist die zu übertragende Datenmenge ? Wie oft wird was übertragen ?
Hallo Hansa.

Wieso ist 9600 Baud zuviel, oder zu wenig... eher zu viel meinst Du?

Da bin ich flexibel. Ich möchte ca. 200 Daten (200 Telegramme senden und empfangen).
Das ist die Datenmege die ich transportieren muß.

Hast Du Erfahrungen mit AsyncPro?
Ich bekomme das einfach nicht gebacken.
Die einfachste Weise etwas zu senden ist Laut Beschreibung,
Comport.output := 'Text';
oder
Comport.PutString (#XX);
zusätzlich noch einen Terminal auf die Form gezogen, zur Überwachung und schon sollte sich etwas tun!
Aber nicht bei mir, am 1.Tag wurden die gesendeten Wörter dargestellt, jetzt nicht mehr.
Jetzt denke ich mir, vielleicht ist ja der Buffer voll und ich muß ihn erst löschen?

Ein toller Tipp, würde mich besser schlafen lassen...
Alles bleibt anders !
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:20
Probier das von mir aus das funktioniert ganz bestimmr. Läuft schon in mehreren Projekten.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#9

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:22
Zitat von EDatabaseError:
bei der Async Komponente ist eine Gute Doku dabei. Versuch mal daraus schlau zu werden. Wenn nicht kann ich mal was rauskramen.

Senden: Comm1.Write();

Und zum Empfangen das Ereignis OnRxIrgentwas nicht das mit dem Flag das andere

Mfg
Tobi
O.K.

Die Doku ist halt ganz schön englisch, was ich bis jetzt probiert habe (aus der Doku)
ging nicht. Selbst das Beispiel S.74 oder 79 TpdComport + Terminal geht nicht (mehr).
Alles bleibt anders !
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Daten auslesen mit Asyc Pro

  Alt 25. Jul 2006, 21:24
was auch wichtig ist du darfst den Port nicht anderweitig belegen. Also kein anderes Termial... darf drauf zugreifen da er sonst gesperrt ist.

(bssst schau den 2. post von mir an)
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:55 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