Autor Beitrag
Pow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: So 27.06.10 15:04 
Hallo,

ich habe bei Borland Delphi 7 die Komponente CPort installiert.
Dadurch hab ich schon fertige Bausteine, mit denen man relativ simpel auf serielle Schnittstellen zugreifen kann (ich hoffe, das kennen einige bereits)

Nun hab ich das Problem, dass bei mir leider nur Unsinn ankommt, aber kein für mich lesbarer String.
Ich habe ein Beispielprogramm, das bei diesem CPort beilag, benutzt, das quasi so ein Terminal ist, wo man etwas senden kann und eine Antwort bekommt.

Ich möchte mit einer Waage kommunizieren und diese hat einen RS232 Anschluss, da mein Rechner sowas nicht mehr hat, benutze ich also RS232 zu USB (ich hoffe das macht keinen Unterschied für später, wenn es an einem anderen Rechner über richtiges RS232 läuft)
Die Baud-Rate usw. ist alles richtig eingestellt.

Allerdings bekomme ich auch keine Antwort, wenn ich etwas sende.
Und wenn ich auf kontinuierliche Antwort bei der Waage einstelle kommt nur sowas bei mir an: "þÿÿÿA¦É"

Meine Frage also:
Wird bei einem Comport nur ein einfacher String gesendet, oder muss dieser irgendwie als anderer Datensatz gesendet werden bzw. später wieder entschlüsselt werden? (ASCII oder was auch immer)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19274
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 27.06.10 15:23 
user profile iconPow hat folgendes geschrieben Zum zitierten Posting springen:
Nun hab ich das Problem, dass bei mir leider nur Unsinn ankommt, aber kein für mich lesbarer String.
[...]
Und wenn ich auf kontinuierliche Antwort bei der Waage einstelle kommt nur sowas bei mir an: "þÿÿÿA¦É"
Du wartest doch nicht im Ernst auf sowas wie "1125 Gramm", oder?

Die Waage wird vermutlich nur Zahlen senden. Und wenn du die als Ascii-Codes interpretierst und als String anzeigst, dann kommt halt nix brauchbares heraus.

Insofern musst du dir wenn, dann die Zahlenwerte selbst anschauen. Und statt Reverse Engineering wäre natürlich noch besser, wenn du direkt Informationen zum verwendeten Protokoll findest.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: So 27.06.10 15:46 
Warte mal: Bist du der Typ von da???
Welche Waage hast du denn?
Da wirst du wohl auf der herstellerseite nach dem protokoll schauen müssen.
Pow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: So 27.06.10 15:50 
Ich habe zumindest gedacht, dass da wenigstens ein Zahlenwert rübergeschickt wird.
Die Waage hat nämlich unterschiedliche Modi und ich habe auch einen ausprobiert, der nicht auf eine Anweisung vom PC wartet, sondern direkt kontinuierlich 6 Ziffern liefert (vom Gewicht)
Da kamen jedoch genauso solche Sondersymbole an

Also im Handbuch steht was zum Übertragungsprotokoll ( hier nachzulesen ab Seite 36 )
Allerdings, wenn ich das richtig verstanden habe, müsste es als String an den PC gesendet werden.

Deshalb hab ich mich gefragt, ob ich nicht einen Fehler gemacht habe, im Bezug auf RS232




user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Warte mal: Bist du der Typ von da???
Welche Waage hast du denn?
Da wirst du wohl auf der herstellerseite nach dem protokoll schauen müssen.

Nein, das bin ich nicht.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19274
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 27.06.10 16:13 
Ok, ein solches Protokoll hatte ich nicht erwartet. Dann hast du natürlich Recht was das Auslesen angeht.

Hmm, vielleicht lohnt es sich das einmal mit einem echten COM-Port zu testen. Wobei normalerweise dabei kein Unterschied auftreten sollte, aber man weiß ja nie.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mo 28.06.10 08:53 
Fang mal an, indem Du erst mal mit Putty versucht, mit der Waage zu sprechen. Wenn Du das hast, dann hast Du schon mal die Waage korrekt eingestellt. Dann erst würde ich mit Delphi anfangen.
So fange ich immer an, wenn ich mit irgendwelchen Geräte kommunizieren.

Ob die Waage mit einem RS232 zu USB-Wandler angeschlossen ist, macht meiner Erfahrung nach keinen Unterschied. Wir setzen Waagen unter anderem von PESA und Kern (SICS-Protokoll) ein und es funktioniert problemlos mit diesen Wandlern. Sogar RS232 -> Bluetooth-Wandler funktionieren problemlos.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 28.06.10 10:26 
an den Einstellungen liegt es nicht?
Baudreate, Parity etc.?
Pow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: Mo 28.06.10 18:42 
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
an den Einstellungen liegt es nicht?
Baudreate, Parity etc.?

Yep, Baudrate etc. sind korrekt eingestellt.


Danke für den Tipp Nersgatt, habe es nach einigen Komplikationen nun geschafft.
Lag irgendwo letztendlich am Format des Übertragungsprotokoll.
Nun sendet er mir das richtige und ich weiß, welche Befehle dort hin sollen :)