EDAboard.com | EDAboard.eu | EDAboard.de | EDAboard.co.uk | RTV forum PL | NewsGroups PL

Switch für Serielle Kommunikation mit RS422/485

elektroda.net NewsGroups Forum Index - Electronics DE - Switch für Serielle Kommunikation mit RS422/485

Goto page 1, 2  Next

Sven Schulz
Guest

Sun Jan 10, 2010 11:01 pm   



Hallo,

ich würde gerne von mehreren (8 Stück) Meß-Stellgeräten Meßdaten empfangen
und nach kurzer Meßdatenverarbeitung, auf einem PC, wieder eine
entsprechende Stellgröße an die einzelnen Meß-Stellgeräten zurückgeben
wollen. Hinderlich: Die Meß-Stellgeräte können nur Daten mit 256Kbit/s
übertragen. Der PC kann jedoch 1Mbit/s.

Mir kam nun die Idee den PC mit einem dazwischengeschalteten Switch
kommunizieren zu lassen. Der Switch sollte dann die ankommende und abgehende
Kommunikation mit dem PC mit 1Mbit/s abwickeln. Die einzelnen Meßgeräte
bekommen die Daten mit 256Mbit/s vom Switch.

Der Switch muß nun noch "nur" noch konfiguriert werden, jeder serielle Port
bekommt eine ID - damit der PC wissen kann woher ein Datenpaket kam und der
Switch weiß wohin es gehen soll. Die ID muß "nur" noch in die Datenpakete
mit einbettet werde.



Hat jemand sowas schonmal gesehen?



Danke



Sven

Marte Schwarz
Guest

Sun Jan 10, 2010 11:08 pm   



Hi Sven,
Quote:
Mir kam nun die Idee den PC mit einem dazwischengeschalteten Switch
kommunizieren zu lassen. Der Switch sollte dann die ankommende und
abgehende Kommunikation mit dem PC mit 1Mbit/s abwickeln. Die einzelnen
Meßgeräte bekommen die Daten mit 256Mbit/s vom Switch.

Der Switch muß nun noch "nur" noch konfiguriert werden, jeder serielle
Port bekommt eine ID - damit der PC wissen kann woher ein Datenpaket kam
und der Switch weiß wohin es gehen soll. Die ID muß "nur" noch in die
Datenpakete mit einbettet werde.

AFAIR baut NEC µCs mit einer großen Anzahl eingebauter Schnittstellen. evtl
kommst Du mit denen ans Ziel.
Ansonsten könntest Du µCs mit 2 USART zur Pufferung jedes langsamen
Teilnehmers einsetzen. Die Software für jeden einzelnen "Puffer" sollte so
schwer nicht sein.

Marte

Sven Schulz
Guest

Sun Jan 10, 2010 11:12 pm   



Marte Schwarz wrote:
Quote:
AFAIR baut NEC µCs mit einer großen Anzahl eingebauter
Schnittstellen. evtl kommst Du mit denen ans Ziel.
Ansonsten könntest Du µCs mit 2 USART zur Pufferung jedes langsamen
Teilnehmers einsetzen. Die Software für jeden einzelnen "Puffer"
sollte so schwer nicht sein.

Diese Idee hatte ich auch. Das heißt leider es müßte Hardware und Software
aufgebaut und programmiert werden. Es wäre vermutlich einfacher soetwas von
der Stange zu kaufen. Nur woher?

Sven

Hergen Lehmann
Guest

Mon Jan 11, 2010 12:12 am   



Sven Schulz schrieb:

Quote:
Diese Idee hatte ich auch. Das heißt leider es müßte Hardware und Software
aufgebaut und programmiert werden. Es wäre vermutlich einfacher soetwas von
der Stange zu kaufen. Nur woher?

Da es bei RS485 kein einheitliches Protokoll gibt, dürfte es mit der
Stange schwer werden.
Es sei denn, der Hersteller deiner Messdingsbumse bietet zufällig so
etwas passend zu seinen Geräten an...

Hergen

Michael Schwingen
Guest

Mon Jan 11, 2010 12:29 am   



Sven Schulz <Sven-Schu_at_arcor.de> schrieb:
Quote:
ich würde gerne von mehreren (8 Stück) Meß-Stellgeräten Meßdaten empfangen
und nach kurzer Meßdatenverarbeitung, auf einem PC, wieder eine
entsprechende Stellgröße an die einzelnen Meß-Stellgeräten zurückgeben
wollen. Hinderlich: Die Meß-Stellgeräte können nur Daten mit 256Kbit/s
übertragen. Der PC kann jedoch 1Mbit/s.

Wie wäre es mit einem Terminal/Device-Server, also Ethernet auf n* Seriell?
Die Teile gibt es fertig, incl. virtuellem COM-Port für Windows.

Oder muß es unbedingt "echt" seriell in den PC?

cu
Michael

Joerg
Guest

Mon Jan 11, 2010 12:53 am   



Sven Schulz wrote:
Quote:
Hallo,

ich würde gerne von mehreren (8 Stück) Meß-Stellgeräten Meßdaten empfangen
und nach kurzer Meßdatenverarbeitung, auf einem PC, wieder eine
entsprechende Stellgröße an die einzelnen Meß-Stellgeräten zurückgeben
wollen. Hinderlich: Die Meß-Stellgeräte können nur Daten mit 256Kbit/s
übertragen. Der PC kann jedoch 1Mbit/s.

Mir kam nun die Idee den PC mit einem dazwischengeschalteten Switch
kommunizieren zu lassen. Der Switch sollte dann die ankommende und abgehende
Kommunikation mit dem PC mit 1Mbit/s abwickeln. Die einzelnen Meßgeräte
bekommen die Daten mit 256Mbit/s vom Switch.

Der Switch muß nun noch "nur" noch konfiguriert werden, jeder serielle Port
bekommt eine ID - damit der PC wissen kann woher ein Datenpaket kam und der
Switch weiß wohin es gehen soll. Die ID muß "nur" noch in die Datenpakete
mit einbettet werde.



Hat jemand sowas schonmal gesehen?


Ja, doch ich weiss nicht ob Dein Protokoll damit funktioniert:

http://accessories.us.dell.com/sna/productdetail.aspx?sku=A0565385&cs=04&c=us&l=en&dgc=SS&cid=27722&lid=628335

Falls der Link nicht klappt, es ist ein "Edgeport USB to 8PT RS232" mit
acht RS232 Schittstellen. Der PC muesste aber ueber USB angeschlossen
werden. Soll 230kbps schaffen.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.

Marte Schwarz
Guest

Mon Jan 11, 2010 9:30 am   



Hi Jörg,

Quote:
http://accessories.us.dell.com/sna/productdetail.aspx?sku=A0565385&cs=04&c=us&l=en&dgc=SS&cid=27722&lid=628335

Huch, für 8 USB-Seriellwandler und ein bischen USB-Hub so viel Geld
ausgeben?

Marte

Stefan Brröring
Guest

Mon Jan 11, 2010 11:55 am   



Quote:
Wie wäre es mit einem Terminal/Device-Server, also Ethernet auf n* Seriell?
Die Teile gibt es fertig, incl. virtuellem COM-Port für Windows.

Oder muß es unbedingt "echt" seriell in den PC?

cu
Michael

Genau sowas würde ich auch vorschlagen. Kommunikation dann aber nicht
über virtuellem COM-Port, was natürlich auch geht, sondern direkt per
IP-Socket. Meist ist das Port 4000, 4001 usw.

Wir setzen für sowas Moxa5230 o.ä. ein.

Wobei sich noch die Frage stellt, ob es tatsächlich 8x RS485/RS422 sein
muss, oder ob die 8 Geräte per RS485/RS422 Bus kommnizieren. Wenn
letzteres zutrifft würde man ja nur einen RS485/RS422 Kanal benötigen.

Gruß

Stefan DF9BI

Sven Schulz
Guest

Mon Jan 11, 2010 10:58 pm   



Michael Schwingen wrote:
Quote:

Wie wäre es mit einem Terminal/Device-Server, also Ethernet auf n*
Seriell? Die Teile gibt es fertig, incl. virtuellem COM-Port für
Windows.

Oder muß es unbedingt "echt" seriell in den PC?

Hallo,

stellvertretend für alle anderen Antworten:

Ja, es muß ein echter serieller Port sein. Auf den PC läuft Real-Time-OS,
das mit dem seriellen RS422/485-Port 'richtig' verbunden ist. Schon aufgrund
der Echtzeitanforderungen scheiden Kommunikationsformen mit zufälligem
Charakter aus (z.B. Ethernet).

RS485 könnte als Bus verwendet werden um den PC und alle 'Meßdingsbumse'
miteinander zu verbinden. Leider wird der Bus nur mit der maximalen Rate von
256kBit/s arbeiten können. Daher war die Idee geboren die 'Meßdingsbumse'
als Stern mit 256kBit/s zusammenzufassen und dann speist der PC den
Sternverteiler mit 1MBit/s.

Dieses 'Problem' müßten aber schon andere gehabt haben, von vielen kleinen
Datenquellen in eine große Senke Daten einsammeln.

Sven

Sven Schulz
Guest

Mon Jan 11, 2010 11:01 pm   



Quote:
abgehende Kommunikation mit dem PC mit 1Mbit/s abwickeln. Die
einzelnen Meßgeräte bekommen die Daten mit 256Mbit/s vom Switch.

Das muß 256kBit/s heissen, nicht 256MBit/s.

Sven

Falk Willberg
Guest

Mon Jan 11, 2010 11:23 pm   



Sven Schulz schrieb:

....

Quote:
Ja, es muß ein echter serieller Port sein. Auf den PC läuft Real-Time-OS,
das mit dem seriellen RS422/485-Port 'richtig' verbunden ist. Schon aufgrund
der Echtzeitanforderungen scheiden Kommunikationsformen mit zufälligem
Charakter aus (z.B. Ethernet).

RS485 könnte als Bus verwendet werden um den PC und alle 'Meßdingsbumse'
miteinander zu verbinden. Leider wird der Bus nur mit der maximalen Rate von
256kBit/s arbeiten können. Daher war die Idee geboren die 'Meßdingsbumse'
als Stern mit 256kBit/s zusammenzufassen und dann speist der PC den
Sternverteiler mit 1MBit/s.

Wie oft senden die 'Meßdingsbumse' denn? Dauerfeuer wird's ja wohl kaum
sein, denn dann müßtest Du 8*256kBit/s (2MBit/s) in 1MBit/s stopfen und
hättest die Mathematik gegen Dich.

Real-Time klingt danach, daß die Antworten sehr schnel erfolgen müssen,
da ist mit Multiplexen nichts zu machen.

Quote:
Dieses 'Problem' müßten aber schon andere gehabt haben, von vielen kleinen
Datenquellen in eine große Senke Daten einsammeln.

Klar, deren Lösung heißt Ethernet, Portswitch o.ä.

Ich glaube nicht, daß es etwas Fertiges für Deine Anforderung gibt.
Eine Lösung zu bauen wäre aber auch kein Hexenwerk (wenn die
'Meßdingsbumse' (Ich liebe dieses Wort, Sensoren klingt so öde) nicht
gerade ein AKW moderieren oder einen Defibrillator steuern).

Falk

Joerg
Guest

Mon Jan 11, 2010 11:27 pm   



Marte Schwarz wrote:
Quote:
Hi Jörg,

http://accessories.us.dell.com/sna/productdetail.aspx?sku=A0565385&cs=04&c=us&l=en&dgc=SS&cid=27722&lid=628335

Huch, für 8 USB-Seriellwandler und ein bischen USB-Hub so viel Geld
ausgeben?


Ist eben ein sehr kleiner Markt und es ist fast nur die Industrie die
sowas noch braucht, i.d.R. in der Produktion. Hier gibt es z.B. viele
CNC Drehbaenke die nur ueber 3-1/2" Disketten zu fuettern sind aber noch
mindestens 2-3 Jahrzehnte in Betrieb sein werden. Da ist gelegentlich
horten angesagt.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.

Sven Schulz
Guest

Tue Jan 12, 2010 12:18 am   



Falk Willberg wrote:
Quote:

Wie oft senden die 'Meßdingsbumse' denn? Dauerfeuer wird's ja wohl
kaum sein, denn dann müßtest Du 8*256kBit/s (2MBit/s) in 1MBit/s
stopfen und hättest die Mathematik gegen Dich.

Das ist nicht ganz einfach. Die Dingsbumse bekommen Teile der PC-Software
hineinprogrammiert. Die Software wird auf dem PC ersteinmal auf ihre
Funktion und Sinnhaftigkeit geprüft. Wenn das ok ist, dann wird auf dem
Dingsbums die Software portiert. Schlagwort: Hardware-in-the-loop.
Es ist also pro Entwicklungsschritt eine sich praktisch immer verändernde
Datenmenge. Daher gibt es keine konkrete Antwort. Als Obergrenze gilt aber:
256kBit/s pro Dingsbums. Und die würde ich gerne voll ausschöpfen.

Quote:
Real-Time klingt danach, daß die Antworten sehr schnel erfolgen
müssen, da ist mit Multiplexen nichts zu machen.

Nö. Real-Time ist nicht gleich bedeutend mit schnell. Das heißt nur das es
nachvollziehbar sein soll. Oft werden Entwicklungen mit RT-Anforderungen mit
monströsen Rechnern praktisch ausgehebelt. Also derart viel Power in die
Erfassungshardware gepackt das der eigentliche zeitkritische Prozess völlig
obsolet wird.

Quote:
Klar, deren Lösung heißt Ethernet, Portswitch o.ä.

Ethernet wäre nur mit einem entsprechenden QoS denkbar, der eine
nachvollziehbare Datenübertragung erlaubt. Ethernet ist 'von Natur aus' mit
Zufälligkeiten behaftet (Kollisionen+Arbitrierung).

Quote:
Ich glaube nicht, daß es etwas Fertiges für Deine Anforderung gibt.
Eine Lösung zu bauen wäre aber auch kein Hexenwerk (wenn die
'Meßdingsbumse' (Ich liebe dieses Wort, Sensoren klingt so öde) nicht
gerade ein AKW moderieren oder einen Defibrillator steuern).

Weder noch. Ich denke das sollte auch ohne von der Stange machbar sein:

7 Mikrokontroller mit 1x UART und 1x CAN, alles läuft zum 8ten
Mikrokontroller. Der redet mit CAN mit den anderen Controllern und mit
seinem einen UART mit dem PC mit 1MBit/s.

Sven

Dirk Ruth
Guest

Tue Jan 12, 2010 1:36 am   



Sven Schulzschrieb:
"
Quote:
Hallo,

ich würde gerne von mehreren (8 Stück) Meß-Stellgeräten Meßdaten empfangen
und nach kurzer Meßdatenverarbeitung, auf einem PC, wieder eine
entsprechende Stellgröße an die einzelnen Meß-Stellgeräten zurückgeben
wollen. Hinderlich: Die Meß-Stellgeräte können nur Daten mit 256Kbit/s
übertragen. Der PC kann jedoch 1Mbit/s.

Mir kam nun die Idee den PC mit einem dazwischengeschalteten Switch
kommunizieren zu lassen. Der Switch sollte dann die ankommende und abgehende
Kommunikation mit dem PC mit 1Mbit/s abwickeln. Die einzelnen Meßgeräte
bekommen die Daten mit 256Mbit/s vom Switch.

Der Switch muß nun noch "nur" noch konfiguriert werden, jeder serielle Port
bekommt eine ID - damit der PC wissen kann woher ein Datenpaket kam und der
Switch weiß wohin es gehen soll. Die ID muß "nur" noch in die Datenpakete
mit einbettet werde.



Hat jemand sowas schonmal gesehen?


Schwierig - die Daten müssen zwischengepuffert werden usw. ist viel zu
speziell, als dass man das in preiswertes bekommen könnte.

Am einfachsten (und billigsten) erscheint mir da gleich eine
gebrauchte Steckkarte für den PC, der 8x RS-232 auf dem Board hat
(sowas wie Ebay 250555505970).

Dirk

Stefan Brröring
Guest

Tue Jan 12, 2010 8:18 am   



Quote:
Es ist also pro Entwicklungsschritt eine sich praktisch immer verändernde
Datenmenge. Daher gibt es keine konkrete Antwort. Als Obergrenze gilt aber:
256kBit/s pro Dingsbums. Und die würde ich gerne voll ausschöpfen.

Real-Time klingt danach, daß die Antworten sehr schnel erfolgen
müssen, da ist mit Multiplexen nichts zu machen.

Nö. Real-Time ist nicht gleich bedeutend mit schnell. Das heißt nur das es
nachvollziehbar sein soll. Oft werden Entwicklungen mit RT-Anforderungen mit
monströsen Rechnern praktisch ausgehebelt. Also derart viel Power in die
Erfassungshardware gepackt das der eigentliche zeitkritische Prozess völlig
obsolet wird.

Klar, deren Lösung heißt Ethernet, Portswitch o.ä.

Ich glaube nicht, daß es etwas Fertiges für Deine Anforderung gibt.
Eine Lösung zu bauen wäre aber auch kein Hexenwerk (wenn die
'Meßdingsbumse' (Ich liebe dieses Wort, Sensoren klingt so öde) nicht
gerade ein AKW moderieren oder einen Defibrillator steuern).

Weder noch. Ich denke das sollte auch ohne von der Stange machbar sein:

7 Mikrokontroller mit 1x UART und 1x CAN, alles läuft zum 8ten
Mikrokontroller. Der redet mit CAN mit den anderen Controllern und mit
seinem einen UART mit dem PC mit 1MBit/s.

Sven

Das geht sicherlich alles, wobei CAN vieleicht nicht die richtige Wahl
ist. Für die Kommunikation zwischen den Prozessoren gibt es sicher
einfachere und bessere Lösungen, z.B. sowas wie SPI.

Probleme sehe ich eventuell bei der Kommunikation zwischen PC und dem
Verteiler. 1 MBit ist für die serielle Schnittstelle nicht unbedingt
Standard.

Bei den Messdingsbumsen würde ich unbedingt prüfen, wie hoch die
Übertragungsrate tatsächich sein muss. Bei 256 kBit kann es schon
massive Probleme mit der RS485/RS422 Verkabelung geben.

Ich erinnere mich an ein System, wo ein RS422 Bussystem in
Industrieumgebung aufgebaut wurde. Dort wurde 115 kBit/s gearbeitet. Das
führte zu Problemen mit Stichleitungen, was man dann durch eine
komplizierte Steckerlösung "behoben" hat. Dies steigerte dann die
Fehleranfälligkeit des Gesamtsystems. Der Gag bei der Sache war, dass
vom PC aus nur alle 50ms ein Datenpaket abgeschickt wurde, woraufhin die
Endgeräte jeweils einen kurzen Burst zurückschickten. Der effektive
Datendurchsatz war dann < 10 kBit/s. Auf der Busleitung waren immer nur
kurze Bursts zu sehen.

Wenn die Messdingsbumse direkt nebeneinander liegen, ist das natürlich
kein so großes Problem.

Gruß

Stefan DF9BI

Goto page 1, 2  Next

elektroda.net NewsGroups Forum Index - Electronics DE - Switch für Serielle Kommunikation mit RS422/485

Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
RTV map EDAboard.com map News map EDAboard.eu map EDAboard.de map EDAboard.co.uk map Opony