Multiplexer für 2 Programme übers Modem

Hallo allerseits,
wir haben 2 Windows-Programme, die unterschiedliche Daten anzeigen. Die Daten kommen übers Modem (Wählverbindung). Das eine Programm (P1)
entwickeln wir selbst, das andere Programm (P2) ist schon fix, und wir wollen es so benutzen. P2 bekommt die Daten D2 über die serielle Schnittstelle. Bei P1 haben wir vor, dass es die Daten (D2) über Ethernet (TCP/IP) bekommt. Wir haben uns nun folgendes gedacht: Die Daten von P2 (seriell) schicken wir erst durch einen Serial2Ethernet- Wandler. Dann verbinden wir die beiden Ethernet-Schnittstellen von D1 und D2 und schließen daran ein Modem an. Auf der Gegenseite ist wieder ein Modem und ein Ethernet2Serial-Wandler, der die Daten D2 wieder auf seriell konvertiert, und P2 kann diese empfangen. Wichtig dabei ist, dass das ganze für P2 transparent abläuft, es also nicht mitbekommt, dass der Weg über TCP/IP läuft. Außerdem verwaltet P2 die Modem- Wählverbindung. Das sollte möglichst weiterhin funktionieren. Das Protokoll über die serielle Schnittstelle ist nicht bekannt. Für das Protokoll über TCP/IP habe ich an Modbus gedacht.
Gibt es sowas von der Stange (für Serial<->Ethernet-Wandler und für das Modem)? Vielleicht hat jemand Tipps, nach was ich da suchen soll.
Viele Grüße
Johannes
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Hä? Also nochmal langsam zum Mitschreiben: Du hast irgendwo ein Gerät, das Daten per serieller Schnittstelle+Modem verschicken kann. Auf der anderen Seite steht ein Win-Rechner, der ebenfalls ein Modem an einer seriellen Schnittstelle hat und diese Daten empfängt. Was ist jetzt genau mit dem noch zu bestimmenden Programm P1? Das soll dieselben Daten erhalten, oder wie? Falls dem so ist, würde ich versuchen, einfach nur die ankommenden RX-Daten auf eine zweite serielle Schnittstelle zu legen - das müsste ein RS232-Treiber normalerweise verkraften. Dann hättest Du die Daten dort nochmal zur Verfügung, könntest aber nicht unbedingt etwas senden. Oder willst Du ein Modem an Ethernet anschließen? Das ist aber schon eher exotisch. Aber vielleicht kannst Du den geplanten Aufbau nochmal genauer skizzieren. Mir ist nicht klar, was da von wo nach wo soll.
Wie weit stehen denn die Gerätschaften eigentlich auseinander? In Ethernet-Reichweite oder doch eher viele km? Je nach Entfernung könnte auch RS485 eine Lösung sein... da kann man mehrere Geräte an einen Bus hängen...
Ansgar
--
Mails an die angegebene Adresse errichen mich - oder auch nicht. Nützliche
Adresse gibt's bei Bedarf!
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hallo Ansgar,
siehe unten.
On 6 Jun., 12:37, "Ansgar Strickerschmidt"

Gerät, Programm(e) Modem-Wählverbindung (nach alter Zeit, sprich 56k), also die ganze Infrastruktur, ja.

Genau. Aber der Datenaustausch ist bidirektional. Auf dem Win-Rechner wählt man sich ein (das unterstützt P2) und betreibt Fernwartung für das Gerät (nennen wir halt noch G2).

Nein, gar nicht. Die Daten haben nichts miteinander zu tun, sollen aber durch die selbe Telefonleitung mit derselben Modem-Wählverbindung gequält werden. Und zwar so, dass P2 von D1, G1, P1 usw nichts mitbekommt und so funktioniert, als ob die X1 nicht vorhanden wären. Natürlich wird die Übertragungsgeschwindigkeit langsamer, aber das nehmen wir in kauf.

Ja, ich will an den gemeinsamen Ethernet-Anschluss (nach dem Serial2Ethernet-Konverter für G2 ein Modem anschließen, dass die normale Telefonleitung benutzt. An der Infrastruktur (analoger Telefonanschluss) kann ich nämlich nichts ändern. Wobei ich festgestellt habe, dass so ein Modem garnicht TCP/IP-Modem genannt wird. Das ist doch dann eher ein DSL-Modem, oder? Wobei ich mir nicht sicher bin, ob man das einfach so zwischen Ethernet-Anschluss und analoger Telefonleitung nutzen kann, ohne DSL angemeldet zu haben. Und dass ich dazu DSL verlange, kann ich auch nicht bringen. Vielleicht sollte ich das Modem "56k-Modem mit Ethernet-Anschluss" nennen.
Alternativ wäre vielleicht noch, dass wir statt dem Ethernet-Anschluss an G2 auch eine serielle Schnittstelle anbieten, diese dann mit der anderen bei G1 irgendwie multiplexen, und dann wieder an der PC-Stelle demultiplexen. Ist aber m.E. ziemlich unschön und wird wohl nie funktionieren, weil man da sicher auf sich selbst angewiesen ist. Ethernet/TCP/IP hat halt den Vorteil, dass man die unterschiedlichen Pakete immer anhand der IP-Adresse identifizieren kann.

Ist sehr unterschiedlich, aber es können durchaus 1000km und mehr sein. Es gibt auch viele Standorte, wo G1e und G2e stehen (immer paarweise), die auch in Deutschland verstreut sind. PCs (die andere Seite) gibt es weniger.
Johannes
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

OK, sowas gibt bzw. gab es. Microlink 56K LAN von Devolo, oder so. Nur als Beispiel. Soweit so gut.
Was Du aber in dem Fall brauchst, ist eine gewisse Änderung der Infrastruktur. Bisher unterhalten sich ja Deine Anwendung und das entfernte Gerät so, als wären sie einfach per seriellem Kabel miteinander verbunden - nur halt mit Modems dazwischen und Verbindungsaufbau durch Deine Anwendung. Das geht aber bei Deinem Vorhaben nicht mehr so ohne weiteres. Denn Du müsstest, soweit ich das sehe, über die Modemstrecke ja jetzt Netzwerkverkehr schicken. Ist kein prinzipielles Problem und geht sogar mit Windows-Bordmitteln, allerdings verwaltet dann nicht mehr Deine Anwendung den Verbindungsaufbau, sondern Windows, per DFÜ-Netzwerk (hachja, das waren noch Zeiten... d.h. indirekt wäre es dann schon eine Anwendung, die eben die Verbindung anfordert, weil sie Daten für's andere Ende hat...).
Du müsstest auf der PC-Seite ein herkömmliches serielles Modem benutzen und den Windows-RAS-Server aktivieren (im DFÜ-Netzwerk). Auf der entfernten Geräteseite das LAN-fähige Modem so einstellen, dass es bei Anruf einen Rückruf zu Deiner Telefonnummer macht (sonst könnte ja jeder kommen!) und sich dort per PPP-Protokoll einloggt. Es müsste Modems geben, die sich so konfigurieren lassen. Dann hast Du eine Netzwerkverbindung über die Modemstrecke, mit PPP und TCP/IP. So, jetzt ist also die direkte serielle Schnittstelle vom DFÜ-Netzwerk belegt. Um Deine Anwendung (die ja wohl nur seriell "spricht"), mit der ganzen Geschichte zu verheiraten, brauchst Du entweder eine Software auf dem PC, die entweder a) eine virtuelle serielle Schnittstelle bietet und hintenraus die Daten per TCP/IP versendet, oder aber b) Du benutzt eine zweite physikalische serielle Schnittstelle, hängst dort Deinen Hardware-Seriell-zu-LAN-Adapter dran und stellst den PC so ein, dass er zwischen seinem LAN-Interface und der Modem-PPP-Verbindung alles durchroutet. Das ist notwendig, sonst geht's gar nicht. Win98 und Konsorten kann das übrigens nicht vernünftig. Mit Win2K und XP geht das besser, da kann man das Routing/Bridging konfigurieren.
Zusammenfassend also: Der entscheidende Unterschied ist, dass Du auf der Modemstrecke statt wie bisher rein die Abbildung einer seriellen Schnittstelle nunmehr ein Netzwerkprotokoll (mit seriellem Unterbau, also PPP oder SLIP) betreiben musst.
Keine Ahnung, was es aktuell noch für LAN-fähige Analogmodems am Markt gibt... ist in Zeiten von DSL jedenfalls eine aussterbende Spezies...
Ansgar
--
Mails an die angegebene Adresse errichen mich - oder auch nicht. Nützliche
Adresse gibt's bei Bedarf!
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Es sind Geräte und (Protokoll)Programme am Markt , mit denen die Fernprogramierung bzw die Fernbedienung für SPSen wie z.B. Siemens S5 realisiert wird. Ich würd mich mal drüber informieren. Diese Funktioniern auch über VPN im WEB. Vorsicht Bei Modems wird die Kopplung zeitlich überwacht. Damit die Verbindung nicht abbricht übertragen die Modems Prüfttelegramme zueinander , wenn längere Zeit nichts gesendet wird. Ob DSL oder Ethernet das mit den Pausen mitmacht ?
Bei Seriellen Kopplungen kann ich aus Erfahrung nur sagen Du musst alles bis in letzte Detail klären um sicher zu sein das es Funktioniert.
Gruße vom Rhein H.L
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
...

Das kann ich mir vorstellen. Nein, ich will die Kopplung auf TCP/IP- Ebene machen, dafür ist es vorgesehen. Serielle Kopplungen funktionieren selten oder nie, v.a. wenn es was selbstgebasteltes ist.
Übrigens: Das fertige Programm P2 kann sich zwar selbst einwählen, muss aber nicht. Es kann auch eine direkte serielle Verbindung geben. Und die soll der Serial2LAN-Konverter (müssen wir den selbst "basteln"?) P2 vorgaukeln. Und das LAN-56kModem soll selber wählen.
Vielleicht weiss noch jemand ein oder zwei Adressen, wo ich mich diesbezüglich noch beraten kann.
Gruss
Johannes

Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 6 Jun., 17:27, "Ansgar Strickerschmidt"

Ja, aber nur die schon bestehende Applikation P2. Bei der anderen Applikation P1 sind wir (noch) frei, würden aber gerne auf Ethernet/ TCP/IP gehen.
Das geht aber bei Deinem Vorhaben nicht mehr so ohne  

Ja, aber das sollte doch mit 2 LAN-Modems an beiden Seiten kein allzu großes Problem darstellen. Der seriell2LAN-Konverter an G2 bekommt LAN- seitig eine andere IP-Adresse als "unser" Gerät G1. Auf der anderen (PC-)Seite gibt es wieder ein LAN-Modem. An seinem Ethernet-Anschluss muss ich dann "nur" die TCP/IP-Pakete mit der IP-Adresse von G2 durch einen LAN2seriell-Konverter leiten. Am seriell-Ausgang von diesem ist nun P2 dran und merkt von der ganzen Aktion nichts. Die TCP/IP-Pakete mit der IP-Adresse von G1 schicke ich dann "direkt" an P1. Will sagen: Das Multiplexing/Demultiplexing findet auf TCP-/IP-Ebene statt, nicht auf serieller Ebene. Das ist doch das bessere Konzept als sich was serielles zusammenzuschustern.
...

Auf beiden Seiten LAN-Modems (s. o.)
...

Ich darf WinXP voraussetzen.
Johannes
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
je schrieb:

Ohne viel Basteleien dürfte ein zweiter Telefonanschluß die eleganteste Lösung zu sein, z.B. in Form von ISDN, einer kleinen Telefonanlage und zwei Modems.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
...

Ja, aber an der Infrastruktur kann ich leider nichts ändern. Es gibt nur eine (gute alte) Telefonleitung. Ein Ziel wird natürlich auch sein, das ganze für ISDN, DSL, UMTS, GPRS,... anzubieten, es wird aber auf jeden Fall POT geben müssen.
Gruss
Johannes
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hallo allerseits,
vielen Dank für eure Antworten bis jetzt. Ich habe inzwischen die Erkenntnis gewonnen, dass ich doch serielle 56k-Modems nehmen muss. 56k-Modems mit LAN-Anschluss sind einfach zu exotisch. Devolo hat den Verkauf eingestellt, und bei 3COM/USRobotics schiebts bei Anfragen der eine auf den anderen, man will ja nicht beraten, "Kunde halts Maul und zahl was, aber lass uns in Ruhe, du hast eh keine Ahnung", ist wohl der Ton bei den Telecom-Unternehmen. Es war mir jedenfalls nicht möglich, mich ohne Seriennummer von einem Gerät, was ich noch nicht habe, durch die automatische Hotline-Vermittlung zu quälen.
Aber zum Thema: Es muss also ein serielles Modem sein. Wenn ein externes serielles Modem von Windows oder einem Internet- Programm den Befehl bekommt, sich einzuwählen, wie läuft das protokollmäßig ab? Da wird doch auch gewissermaßen TCP/IP so eingepackt, das es transparent über die serielle Schnittstelle läuft. Das Protokoll ist doch PPP oder SLIP. PPP ist doch "besser", aber auch komplexer. Was ich bei PPP nicht brauche, ist z.B., dass auch andere Protokolle drüber unterstützt werden, ich brauche aber nur TCP/IP. Soll ich daher doch lieber SLIP nehmen? Aber das unterstützt im Gegensatz zu PPP keine Fehlererkennung. So, jetzt kommt noch das Modem hinzu. Es wird doch seriell über AT- Befehle gesteuert, d.h. die ganze Einwahl usw. Oder ist das bei PPP dabei? Ich stelle mir das so vor: Wenn ich jetzt nur dieses eine schon bestehende Programm hätte, das von Haus aus auf seriell zu Modem sendet/vom Modem empfängt, was würde ich dann im Hyperterminal sehen (natürlich wenn der Datenaustausch dadurch nicht gestoppt wäre)? Zuerst wohl ein paar AT-Befehle (als Characters) und dann wohl ein AT- Befehl, um die eigentlichen Daten zu senden. Dann müsste doch auch folgendes möglich sein: Unser Adapter hat 2Eingänge, seriell und ethernet, und einen Ausgang zum Modem, seriell. Wenn er am seriellen Eingang AT-Befehle sieht, weiß er, dass das bestehende Programm, das Modem einwählen lassen will. Dann kommen die (noch nur seriellen) Daten. Die packt er in einen SLIP-Frames (?) mit fiktiver IP-Adresse. Die Daten am ethernet-Eingang packt er in SLIP-Frames mit einer anderen IP-Adresse. Am anderen Ende läuft genau der umgekehrte Vorgang ab. Eigentlich müsste es doch dafür schon fertige Linux-Sourcen geben, kann mir da einer was empfehlen? Ich blicke noch nicht so recht durch mit den Protokollen. Sind diese AT-Befehle Bestandteil von SLIP/PPP? Das Problem der Linux-HowTOs ist natürlich auch, dass sie eher zum Konfigurieren sind, nicht so sehr zum Verständnis, wenn man selber coden will. Also: Für Hinweise bin ich dankbar.
Gruss
Johannes
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.