AGB  ·  Datenschutz  ·  Impressum  







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

RS232 Schnittstelle Daten senden

Ein Thema von lucy · begonnen am 31. Dez 2024 · letzter Beitrag vom 2. Jan 2025
Antwort Antwort
lucy

Registriert seit: 25. Okt 2017
82 Beiträge
 
Delphi XE7 Starter
 
#1

RS232 Schnittstelle Daten senden

  Alt 31. Dez 2024, 10:13
Hallo,
ich habe ein Funksender (POCSAG), womit ich Daten versenden möchte. Zur Verfügung steht eine RS232 Schnittstelle.
Ich experimentiere mit Delphi 11 und der Komponente (nrComm) herum.
Leider habe ich keine Ahnung von RS232 Schnittstellen und dem beigefügten Protokoll.
Kann mir vielleicht einer weiterhelfen?
Möchte über ein Memo (Text) und Button (Senden) Daten versenden.

Hier das Protokoll :

By sending data to serial port.

PC serial port : 9600 BPS
8 bits data
1 stop bit
NO Parity
Receive data format of transmitter:
0x19-------->Start of message

1byte ------>'R'

7 bytes ---->capcode ( ascii format '0'-->0x30,'1'--->0x31 )

1 byte ---->control bit ( bit 7----> 1
bit 6----> 1---->Chinese,0--->not Chinese
bit 5,4--> 00-->A TONE,01-->B TONE,10-->C TONE,11-->D TONE,
bit 3----> 0---->numeric message,1---->Alpha message
bit 2,1--> POCSAG baud 00->512,01--->1200,10-->2400
bit 0----> Polarity 0--->normal, 1--->reverse

N Bytes ---->Content of message , not more than 300 characters,8bit ascii.

0X18-------->Message end

Attention:
When a message succed, the transmitter will reply 0x19,"RXOK",0X18 to PC

Example: Using capcode 1234567,normal,1200BPS,A call send "ABCDEFGH"
Send by serial port of PC: 0x19,"R1234567",0X8A,"ABCDEFGH",0X18
HEX DATA: 19 52 31 32 33 34 35 36 37 8A 41 42 43 44 45 46 18
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.649 Beiträge
 
Delphi 12 Athens
 
#2

AW: RS232 Schnittstelle Daten senden

  Alt 31. Dez 2024, 17:58
Ich kenne nrComm nicht, da ich mit TMS Async32 arbeite. Kostet ein wenig, ist aber gut.
Da musst du zuerst die Parameter zuweisen

PC serial port : 9600 BPS
8 bits data
1 stop bit
NO Parity


und bei Async32 geht das dann so:
 VaComm1.WriteChar(c); Damit kann man einzelne Zeichen an die Schnittstelle senden. Im Protokoll ist das aber auch ganz gut beschrieben.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.974 Beiträge
 
Delphi 12 Athens
 
#3

AW: RS232 Schnittstelle Daten senden

  Alt 1. Jan 2025, 21:29
Auch TComPortDrv sollte das können. Ist in GetIt frei verfügbar.
Besitzt sowohl Methoden zum binären Datenversand als auch für Textprotokolle.

Und ja, auch da muss man zuerst 9600 Baud einstellen, 8 Datenbits und 1 Stoppbit
und keine Parität.

Die Komponente hat auch ein Event in dem die Empfangenen Daten eingehen.
Und ein kleines Terminalprogramm als Beispiel kommt auch mit.
Dein Protokoll scheint ja ein ASCII basiertes zu sein, richtig?
Da solltest du mit diesem Testterminal das mal testhalber eintippen können...
Grüße
TurboMagic
  Mit Zitat antworten Zitat
fred42

Registriert seit: 1. Jan 2025
1 Beiträge
 
#4

AW: RS232 Schnittstelle Daten senden

  Alt Gestern, 15:02
Beachten sollte man auch die Datenflusssteuerung:

Hardware (TxD, RxD, GND, RTS und CTS)
Software Xon/Xoff (Xon=0x19/Xoff=0X18)

kann man bei 'nrcomm' mit der Eigenschaft 'StreamProtokol' angeben.

als Bps.(Baud) würde ich 512,1200 oder 2400 probieren.

einige Links zu Info

https://ipc2u.de/artikel/wissenswert...22-und-rs-485/
https://de.wikipedia.org/wiki/Steuerzeichen
https://eterlogic.com/products.vspe.html

ein eifaches Programm

Delphi-Quellcode:
 for i:=0 to memo1.Lines.count-1 do
    begin
     nrComm1.SendString(Memo1.Lines[i]);
     nrComm1.SendChar(#13);
     nrComm1.SendChar(#10);
    end;
     nrComm1.SendChar(#4);
  Mit Zitat antworten Zitat
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
156 Beiträge
 
Delphi 12 Athens
 
#5

AW: RS232 Schnittstelle Daten senden

  Alt Gestern, 21:45
Ich benutze AsycPro : https://tpapro.sourceforge.net/ApdComPort.html
Ist kostenfrei und funktioniert sehr zuverlässig.
Debuggers don’t remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.974 Beiträge
 
Delphi 12 Athens
 
#6

AW: RS232 Schnittstelle Daten senden

  Alt Gestern, 22:15
Ja auch dass gibt's im GetIt.
Jetzt bleibt halt die Frage ob dem OP die bisher gegebenen Tipps schon was geholfen haben.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:00 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 by Thomas Breitkreuz