Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Serial Port umbauen in Raw Port
Maffi1986
myCSharp.de - Member

Avatar #avatar-3437.gif


Dabei seit:
Beiträge: 54
Herkunft: Soest

Themenstarter:

Serial Port umbauen in Raw Port

beantworten | zitieren | melden

Hallo,

ich habe vor einiger Zeit ein Programm geschrieben, um Gewichte und Wiegenummern aus einem Wägeterminal via Serial Port (rs232) auszulesen. Nun gibt es ein neues Terminal das keinen RS232 Port mehr hat, stattdessen einen Ethernet Port. Mit Putty kann ich über RAW daten ein und ausgeben. Kann ich in meinem Programm meinen Serialport einfach umbauen zu einem RAW Port? Ich habe schon etwas gegooglet, aber es scheint doch komplexer zu sein als über RS232.

Viele Grüße

Maffi

Hier ein kleiner Codeauszug aus meinem Programm:


SerialPort serialPort1 = new SerialPort("COM8", 9600, Parity.Even, 8, StopBits.One);
...
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DatenEmpfangen);
...
serialPort1.Open();
datensenden("05");
...
        private void DatenEmpfangen(object sender, SerialDataReceivedEventArgs e)
        {
            // If the com port has been closed, do nothing
            if (!serialPort1.IsOpen) return;
            int bytes = serialPort1.BytesToRead;
            byte[] buffer = new byte[bytes];
            serialPort1.Read(buffer, 0, bytes);
            Log(LogMsgType.Incoming, ByteArrayToHexString(buffer));
            lauf++;
        }

        private void datensenden(string sendData)
        {
            //Schreibt Daten an der seriellen Schnittstelle wenn die Serielle Schnittstelle offen ist
            if (serialPort1.IsOpen)
            {
                byte[] data = HexStringToByteArray(sendData);
                // Send the binary data out the port
                serialPort1.Write(data, 0, data.Length);
                Log(LogMsgType.Outgoing, ByteArrayToHexString(data));
                i = 0;
            }
        }

        private void Log(LogMsgType msgtype, string msg)
        {
            textBox1.Invoke(new EventHandler(delegate
            {
                while (i == 0)
                {
                    message = msg;
                    i++;
                }
                textBox1.SelectedText = string.Empty;
                textBox1.AppendText(msg);
                textBox1.ScrollToCaret();

            }));
        }


private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4001

beantworten | zitieren | melden

Dann kannst du dazu die TcpClient-Klasse benutzen, s.a. [FAQ] TcpClient: einfaches Beispiel.
private Nachricht | Beiträge des Benutzers
Maffi1986
myCSharp.de - Member

Avatar #avatar-3437.gif


Dabei seit:
Beiträge: 54
Herkunft: Soest

Themenstarter:

beantworten | zitieren | melden

Hallo TH69,

Danke für die Antwort, ich denke du meinst das hier, hier geht es aber um die Kommunikation zwischen Client und Server, ich finde irgendwie keine einfache anleitung wie ich daten via RAW Sende und Empfange so ähnlich wie ich das oben mache.

Viele Grüße

Maffi
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 355
Herkunft: Kassel

beantworten | zitieren | melden

Wenn dort ein Ethernet Port ist hast du eine Netzwerkverbindung und musst entsprechend Daten über z.B. TCP oder UDP dorthin senden.
die "raw" Verbindung in Putty ist eine TCP Verbindung, die du auch mit dem TcpClient aufbauen kannst.
Hierbei sendest du einfach über die Schreibenden und Lesenden Methodes einer TcpClient Instanz mit dem Server (also dem Software Teil hinter deiner Ethernetbuchse an der Wage).
Wie das geht ist in dem verlinkten Beispiel und in tausenden Online verfügbaren TcpClient Artikeln beschrieben :)
private Nachricht | Beiträge des Benutzers