Forum: Mikrocontroller und Digitale Elektronik Ethernet<->Seriell (ComServer)


von Benjamin P. (fitschforfun)


Lesenswert?

Guten Tag,

da die Suchfunktion des Forums nicht die gewünschte Lösung brachte und 
Google bei den Begriffen Ethernet und Seriell mit einer Vielzahl von 
Angeboten an Umsetzern auftrumpft, schildere ich mein Problem nun 
selbst, in der Hoffnung Hilfe zu finden =)

Mir liegen 2 Kommunikationseinschübe(eine neuere und eine ältere 
Version) vor. Die ältere mit zwei RS232-Schnittstellen, die neuere mit 
einer Ethernet und einer RS232-Schnittstelle.
Verbaut werden können diese im selben Gerät, an der selben Stelle und 
dienen dabei in meinem Fall der Kommunikation zwischen PC(bestimmter 
Software) und dem Gerät. Dabei ist es möglich über die Ethernet oder 
über die RS232-Schnittstelle eine Verbindung aufzubauen.

Ziel soll es nun sein über Ethernet eine Verbindung auch auf die Karte 
mit den zwei RS232-Schnittstellen herzustellen. Die 
Ethernetschnittstelle auf der neueren Karte wurde mit Hilfe einer OEM 
Platine von W&T (ComServer) realisiert. Somit habe Ich nun auch einen 
Com-Server High Speed Industry (nahezu baugleich mit der Platine) vor 
mir liegen und will mit dessen Hilfe eine Verbindung herstellen.
Dies funktioniert auch, aber bisher nur unter Verwendung eines 
virtuellen CommPorts am PC, was nicht mein Ziel ist, denn

Die Software am PC bietet mir die Möglichkeit eine Verbindung zum Gerät 
via Comm Port oder TCP/IP herzustellen. Baue ich die neue Karte in mein 
Gerät ein und weise dieser eine IP Adresse zu, so funktioniert die 
Verbindung zum Gerät via TCP/IP auch ohne Probleme. Mit meinem 
Com-Server und der alten Einschübe jedoch nicht.

Ich habe die Konfiguration der neuen Karte mit OEM Platine bereits 
ausgelesen und diese auf den Com-Server übertragen, unterschiedliche 
Funktionen des Com-Server wie SLIP Router oder Serial Socket Interface 
ausprobiert, aber bis jetzt erfolglos.

Leider sind die Grundplatinen nicht baugleich(ich gehe jetz mal rein vom 
optischen aus). Weiterhin habe ich herausgefunden, dass die OEM Platine 
von W&T mit einem TTL Signal arbeitet, der Com-Server nicht.
Von Anfang an funktioniert desweiteren die Kommunikation über Ethernet 
auch mit den neuen Einschüben nicht, dazu muss zuerst eine Verbindung 
via Com-Port zum Gerät hergestellt werden und diesem mit Hilfe der 
Software gesagt werden, dass die Kommunikation über die neue Karte 
erfolgen kann. Im selben Zug muss dieser eine IP Adresse zugewiesen 
werden, sprich mein Gerät konfiguriert die OEM Platine.
Beim Com-Server und der alten Platine funktioniert dies nicht, dort 
Konfiguriere ich über die Weboberfläche des Com-Servers bzw Telnet den 
Com-Port selber.

Ich suche nun nach einem Ansatz oder einer Lösungsidee. Sollte jemand 
begründet sagen können, das wird nicht so funktionieren, wäre das auch 
voll i.O. für mich. Momentan bin ich auch der Meinung, das es ohne den 
virtuellen Com-Port nicht funktioniert, da auf der neuen Karte irgendein 
Bauteil hinzugefügt wurde, um die Kommunikation über Ethernet zu 
ermöglichen. (Layouts, Bestückungs- oder Schaltpläne habe ich nicht)

Wenn jemand weitere Infos zur Problematik haben möchte oder Fragen hat, 
dann bin ich gern bereit dazu Auskunft zu geben ;)

Grüße Benny

von c-hater (Gast)


Lesenswert?

Benjamin P. schrieb:

> Ziel soll es nun sein über Ethernet eine Verbindung auch auf die Karte
> mit den zwei RS232-Schnittstellen herzustellen. Die
> Ethernetschnittstelle auf der neueren Karte wurde mit Hilfe einer OEM
> Platine von W&T (ComServer) realisiert.
[...]
> Die Software am PC bietet mir die Möglichkeit eine Verbindung zum Gerät
> via Comm Port oder TCP/IP herzustellen. Baue ich die neue Karte in mein
> Gerät ein und weise dieser eine IP Adresse zu, so funktioniert die
> Verbindung zum Gerät via TCP/IP auch ohne Probleme. Mit meinem
> Com-Server und der alten Einschübe jedoch nicht.

Offensichtlich spricht die Ethernetschnittstelle der neueren Karte ein 
spezielles Protokoll und ist eben kein einfacher (d.h.: transparenter) 
COM-Server. Sowas nennt man "vendor locking". Gut zur Maximierung der 
Profite des Anbieters, schlecht für den Kunden.

Mangels gemeinsamer Sprache zwischen der Software und dem COM-Server ist 
deshalb jedenfalls keine explizite Verbindung zwischen diesen beiden 
Komponenten über TCP/IP möglich. Die einzige Möglichkeit zur Nutzung des 
generischen COM-Servers ist also die Nutzung über einen virtuellen 
COM-Port, denn dann weiß die Software nicht, daß es eigentlich über 
TCP/IP geht.

> Weiterhin habe ich herausgefunden, dass die OEM Platine
> von W&T mit einem TTL Signal arbeitet, der Com-Server nicht.

Das ist ein anderes Problem, aber natürlich auch ein Problem, denn es 
verhindert, daß der COM-Server überhaupt erstmal funktionieren kann. 
Hier gibt es aber Abhilfe. Es gibt nämlich auch COM-Server, die neben 
RS232-Pegeln auch Anschlüsse für 5V oder 3.3V-CMOS-Pegel haben. Der 
vorhandene COM-Server hat (zumindest intern) ganz sicher auch irgendwo 
CMOS-Pegel und erst dahinter einen Pegelwandler.

von Benjamin P. (fitschforfun)


Lesenswert?

Vielen Dank für die Infos.

Ich habe es jetzt nach einem Hardwarereset und diversen 
Neukonfigurationen geschafft eine Verbindung über TCP/IP aufzubauen. 
Inwiefern diese den Anforderungen gerecht wird und ob die Software 
stabil fehlerfrei läuft wird sich nun zeigen müssen :)

von Eluxx (Gast)


Lesenswert?

http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

Den XPort kann man im "Rohzustand" sowohl über den virtuellen COM-Port 
(mit Treiber) als auch über TCP(Winsock? lange her...) ansprechen.
Ansonsten gibt es gegen NDA ein SDK mit Beispielen, da kannst Du machen 
wie Du willst.
Macht TTL mit 3,3 oder 5V, von daher...

MfG
Eluxx

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.