# RS232 über Funk



## Johannes F (13 November 2009)

ich suche eine ganz einfach möglichkeit wie ich meine RS232 com-schnittstelle über funkt zu einem anderen teilnehmer übertragen kann. habe in einem schlatschrank einen hydraulikregler auf welchen ich ab und an mal bei der inbetriebnahme schauen möchte, dieser verfügt jedoch nur über eine com schnittstelle. hat jemand eine ideee und einen produkt vorschlag?


----------



## marlob (13 November 2009)

Suche doch mal nach "rs232 funkmodem" oder "rs232 funk" oder "rs232 funkmodul" in der Suchmaschine deines Vertrauens ;-)
Da findet sich so einiges


----------



## Johannes F (13 November 2009)

ja habe ich schon, dachte nur das mir jemand etwas empfelen könnte mit welchen produkt er/sie schon gute erfahrungen gemacht hat und wo preis/leistung stimmen


----------



## TCP/IP (13 November 2009)

Bei Funk hast Du mit WLAN ein breites Angebot, siehe z.B. *WuT* (WLAN + Comserver).


----------



## marlob (13 November 2009)

Johannes F schrieb:


> ja habe ich schon, dachte nur das mir jemand etwas empfelen könnte mit welchen produkt er/sie schon gute erfahrungen gemacht hat und wo preis/leistung stimmen


Da kann ich dir leider nicht weiterhelfen, habe sowas noch nicht benutzt


----------



## SW-Mech (13 November 2009)

Vielleicht wäre das was:

http://www.moxa.com/product/NPort_W22502150_plus.htm

Gruss


----------



## Nitrozin (13 November 2009)

Hi,

Den von SW-Mech genannten Typ habe ich schon öfter mal im Labor eingesetzt. Allerdings nur für Waagen mit nicht so hoher Baudrate.
Bisher gab's damit noch nie Probleme.

Gruß Volker


----------



## tobias (13 November 2009)

Johannes F schrieb:


> ich suche eine ganz einfach möglichkeit wie ich meine RS232 com-schnittstelle über funkt zu einem anderen teilnehmer übertragen kann. habe in einem schlatschrank einen hydraulikregler auf welchen ich ab und an mal bei der inbetriebnahme schauen möchte, dieser verfügt jedoch nur über eine com schnittstelle. hat jemand eine ideee und einen produkt vorschlag?


Hallo
sehe das Thema gerade erst. 
Für RS232 gibts die XBee-Module. XBee bis 150mtr. ; XBee-Pro bis >3.000mtr. 
Kurzum: Die Dinger sind günstig (Stückpreis ca. 35€), stromsparend, funktionieren immer und sind ausfallsicher. Mit etwas Anbau der Schnittstellenwandler lässt sich auch ein MPI-Netzwerk darüber verbinden - ging jedenfalls bei mir gut.  

Die Chips selber sind im 2mm Raster, werkeine Lust da selbst zu 'plattieren' kann auch die Trägerboards (AXE210 o.ä.) fertig mitkaufen. Eine gute und günstige Quelle ist immer bei Jörg (www.roboter-teile.de).

Gruss
tobias


----------



## o_prang (13 November 2009)

Hi,

ich würde Dir im industrielle Bereich nicht unbendingt zu WLan bzw. ZigBee raten, da die Geräte bei 2,4GHz arbeiten. Dies hat nicht unbedingt die größte Reichweite, und ist sehr empfindlich gerade was Schaltschranktüren, Gabelstapler und sonstige Metallgegenstände angeht.
Persönlich würde ich Dir immer raten, ein Kabel zu legen. Besonders wenn es nur mal bei einer Inbetriebnahme ist. Hol Dir dann lieber nen Ethernet / RS232 Umsetzer und eine VCOM Software für Deinen PC. Ist definitv sicherer und wesentlich günstiger als Funk.


----------



## Mobi (13 November 2009)

@Johannes
Wieviel beträgt denn die Entfernung?


----------



## automatisierungsprofi (17 November 2009)

"Mit etwas Anbau der Schnittstellenwandler lässt sich auch ein MPI-Netzwerk darüber verbinden - ging jedenfalls bei mir gut"

@Tobias: Das würde mich interessieren. Auf beiden Seiten XBee Module auf RS485 wandeln und 187,5kbit einstellen? Und das geht bei der S7-300?


----------



## tobias (17 November 2009)

automatisierungsprofi schrieb:


> "Mit etwas Anbau der Schnittstellenwandler lässt sich auch ein MPI-Netzwerk darüber verbinden - ging jedenfalls bei mir gut"
> 
> @Tobias: Das würde mich interessieren. Auf beiden Seiten XBee Module auf RS485 wandeln und 187,5kbit einstellen? Und das geht bei der S7-300?


 
Hallo
ich muss dazu etwas in die Historie der Maxstreamm-XBee Baureihen, wie von mir verwendet, zurückgreifen. Bei anderen 'Vertreibern' weiss ich den Aufbau nicht - das scheint stark firmwareabhängig
Vorweggestellt: Meine XBees haben allesamt RS232 Ausgang mit 3V-Pegel; zur PPI/MPI-Schnittstelle ist ein RS485 Wandler nötig. (Wie ich im HB verstand sollte das in RS485 umschaltbar sein, ging aber nicht). Deswegen verbandelte ich bis zuletzt immer die MAX481 in 3V Ausführung hinters XBee. Sende- Empfangsumschaltung steuert dabei der XBee; meine (Mitte 2008 ) zuletzt geladene FW ( eine Weiterentwicklung der XC09-009) brachte dazu nötiges 'RS485 transmit enable' bereits mit. 
Alternativ geht die Sende-Empfangsumsteuerung aber auch bei Einbindung des XBees in vorhandenen BUS inkl. Repeater, am Repeater (automatisch - weil der das RTS liefert). Etwas Bauen war allerdings auf jeden Fall angesagt, die übliche Pegelanpassung der Schnittstellen  
Zur Konfiguration wird ja das berühmte 'X-CTU' verwendet. Dort ist die Ausstattung der FW-Stände zu erlesen. Einige Firmwarestände besitzen die 187,5kB bereits integriert, anderen liess es sich per Faktor (oder 'customs') zu 230kB beibringen. Irgendwo gabs anfangs noch eine KOnfiguration für 'customs'; später waren alle Baudraten in der Liste anwählbar. 
(Nebenbei noch, da das X-CTU auf Wunsch gewählte FW ins Modul lädt: Auf XBees mit geladenen uralt Firmwareständen ist dabei ein FW-Update evtl. nur mit einer Hilfsschaltung möglich - in Module mit neuerer FW kann fortan ohne Zusatzschaltung jeweils benötigte FW geladen werden).
Danach läuft das - es gab aber ein Abgleichproblem (Timing). Im MPI-Netzwerk spielte der (ja auch 'MPI-Adaptertypische' )Verbindungsaufbau eine Rolle. Die Verbindung (oder der Token auf dem Bus) muss ja fortlaufend herumgereicht werden. 
Da wurds allerdings schwierig eine geeignete Konfig der XBees zusammenzustellen (besser gesagt ausprobieren). Es gibt zudem verschiedenste Aufbauten des XBee-Netzes bei Betrieb von mehr als zwei miteinander kommunizierenden Funk-Chips. 
Drei und mehr, anstatt per Kabel über Funk verbundene CPU's erzwingen da quasi zwei gleichzeitig ablaufende 'Busse'. Einmal der Funkbus, mit der Adressierung angesprochenen XBee-Moduls - und darauf'modelliert' sozusagen der MPI-Bus ....
Mit 2 CPU-300er und einer 226 im Verbund hatte ich das Mitte 2008 hin und kann Daten austauschen. Seitdem benutze ich zugehörigen FW-Stand, wie ich ihn damals in die Module lud und weiss nicht inwieweit es sich bis 'heutzutage' weiterentwickelt hat. Da seinerzeit alles noch 'handwarm' aus der Hersteller-Schreibmaschine kam, war ein Hauptproblem das XBee-Funk-Netzwerk ersteinmal zum Laufen zu bekommen. Irgendwo meine ich ein halbes Jahr später auch fertig für MPI konfigurierte Module gesehen zu haben. 

Mit RS485 (unidirektionalen) Signalen ging es aber jeweils verhältnismässig einfach mehrere XBee-Teilnehmer zu verbinden, soweit die Timeouts nicht blockierten. (Die XBees schicken normal erst mit vollem Sendepuffer ab, Handshakes mit einem Steuerzeichen wie im MPI-Netzwerk brauchen etwas bis das XBee merkt die loszuschicken)
Mit reinen bidirektionalen RS232 Signalen (und getesteten 230kB) war das allerdings noch schwieriger. 
Fällt mir gerade noch ein: Es gab anfangs Module die waren im Datenblatt mit 115kB auf der Funkstrecke beschrieben. Später stand überall 230kB - die sollten natürlich 230kB haben, sonst staut sich das im Puffer. 
Gruss
tobias

Edit/ : Ist vielleicht noch sinnvoll hier anzufügen, dass bei Justierung der XBees auf 'exotische' Baudraten wie 187,5kBaud der Zugriff vom PC verloren geht - soweit man nicht eine geeignete Schnittstellenkarte benutzt. 
Das Rückstellen per 'Hardwarereset' ist an den Chips wohl nicht vorhanden, ebenso gibt es (auf Nachfrage beim Hersteller) keine Möglichkeit die über die Funkstrecke zurückzusetzen. 
Bleibt nur: Sich jeweiligen Chip geladene Baudrate gut zu merken und per geeigneter Interfacekarte über die AT-Kommandos von Hand zurückzusetzen. 
Ohne einstellbare Schnittstellenkarte bleibt nur im Selbstbau die 187,5kBaud zu erzeugen. Bspw. einigermassen einfach, indem man die Teiler zu typischerweise auf der Basis von 1,8 oder 3,6MHZ getakteten Baudratengeneratoren auf 230kBaud einstellt und anschliessend mit 1,5 bzw. 3MHZ taktet. Das ging bspw. mit den AVR Mikrocontrollern easy, womit dann AT-Kommandos zum Reset ins XBee gesendet werden konnten.


----------



## Pfaffi (20 November 2009)

tobias schrieb:


> Hallo
> ich muss dazu etwas in die Historie der Maxstreamm-XBee Baureihen, wie von mir verwendet, zurückgreifen. Bei anderen 'Vertreibern' weiss ich den Aufbau nicht - das scheint stark firmwareabhängig
> Vorweggestellt: Meine XBees haben allesamt RS232 Ausgang mit 3V-Pegel; zur PPI/MPI-Schnittstelle ist ein RS485 Wandler nötig. (Wie ich im HB verstand sollte das in RS485 umschaltbar sein, ging aber nicht). Deswegen verbandelte ich bis zuletzt immer die MAX481 in 3V Ausführung hinters XBee. Sende- Empfangsumschaltung steuert dabei der XBee; meine (Mitte 2008 ) zuletzt geladene FW ( eine Weiterentwicklung der XC09-009) brachte dazu nötiges 'RS485 transmit enable' bereits mit.
> Alternativ geht die Sende-Empfangsumsteuerung aber auch bei Einbindung des XBees in vorhandenen BUS inkl. Repeater, am Repeater (automatisch - weil der das RTS liefert). Etwas Bauen war allerdings auf jeden Fall angesagt, die übliche Pegelanpassung der Schnittstellen
> ...


Das interessiert auch, kann mir aber leider nicht vorstellen, wie Du mit ein paar Einstellungen am XBee- Modul die harten Timing-Anforderungen der MPI-Schnittstelle erfüllen willst. Wie -genau - hast Du den Datenaustausch realisiert ? (Globaldaten, XPUT etc..)


----------



## tobias (22 November 2009)

Hallo
nochmal vorweg, das Handling der XBees ist sicherlich Extract vieler kleiner Schritte. Im Stand Mitte 2008 war es zudem so, dass ein Grossteil der FW-Funktion entweder undokumentiert oder nur durch gleichzeitige Projekte in einigen Foren zum Vorschein kamen. NonPlusUltra bei all diesen 'Verstellungen' bleibt aber: Ein einmal falsch konfigurierter Chip ist danach kaum wiederzubeleben. Beispiel wäre: Für einen von Hand auf 166500bps getakteten Chip wird normal kaum eine Gegenstelle mit 166500bps zu finden sein, die den wieder auf gebräuchlichere Baudraten zurückstellen könnte. Dann ist das Ding verloren und um das Risiko zu minimieren ist es anfangs allemal ratsam ausschliesslich bei 19.200-MPIspeed zu üben. Ein Vorteil der XBees ist gerade unterschiedliche Baudraten koppeln zu können - so wurde es bspw. auch möglich in einen 187,5kB MPI/PPI-Bus eine alte 21x mit max.19.200bps einzubinden. Und was bei 19.200Baud lief funktionierte auf 187,5kB hochgedreht dann auch. 
Ob das irgendwelchen 'Spezifikationen' standhält habe ich natürlich nicht überprüft, geschweige denn das mich das interessieren würde 
Es ist sicherlich auch nicht unbedingt ratsam nicht mit einer MPI Konfiguration zu beginnen. Ich hatte zuerst mal versucht die Daten einige Fühler ganz konventionell über PtP in eine 300-er einzulesen, also ohne den ganzen Protokollaufwand der MPI-Schnittstellen. Adäquat der freien Kommunikation der 200-er; eben weil es per XBees einfach und ohne zusätzliche Umschaltkontakte geht, die (eine)onboard Schnittstelle mehreren Fühlern nacheinander zur Verfügung zu stellen. Dabei erledigt sich dann die ganze Pegelei (RS485 - Max481 etc.) fast nebenbei, ohne das und zugehörige Sende- Empfangsteuerung erstmal herauszufinden geht das schon nicht
Im zweiten Schritt benutzte ich die XBees zur Anbindung über die Programmierschnittstelle um per Libnodave etc. auf die 187,5kB zu kommen. (Funk-verbundene XBees können am jeweiligen Kabelende an unterschiedlichen Baudraten betrieben werden und so natürlich auch von bspw. 19.200bps auf 187500bps 'umsetzen') Da tauchen auch erstmalig die Timingprobleme der Steuerzeichen im MPI-Protokoll auf, bis das funktioniert gewinnt man so nach und nach etwas Einblick in die Parametrierung der XBees. Sonst funktioniert der Zugriff über die Programmierschnittstelle auch nicht 




Pfaffi schrieb:


> Wie -genau - hast Du den Datenaustausch realisiert ? (Globaldaten, XPUT etc..)


 
im MPI/PPI Netz läuft die Kommunikation meine ich unter dem Siemens Oberbegriff S7-Kommunikation - also XPUT,XGET bzw. bei S7-2xx netwrite/netread. Jeweils begrenzt auf irgendwas bei 16Bytes - übergeben wird zuerst der Anypointer auf den Datenbereich und die MPI Adresse. 
Mein Aufbau ist dabei: Zwei 300-er (318 & 314C-2PtP), eine 226 mit TP. Die Daten zum TP werden von der 226 eingesammelt und am TP angezeigt bzw. Knopfdruck am TP steuert über die 226 auch die 300-er; mangels besserer Teile, die ich nicht habe. Das funktionierte sowohl kabelverbunden als auch per XBee-Bus. 


> Das interessiert auch, kann mir aber leider nicht vorstellen, wie Du mit ein paar Einstellungen am XBee- Modul die harten Timing-Anforderungen der MPI-Schnittstelle erfüllen willst.


Zur Parametrierung der XBees läuft irgendwo ein Forum, es ist ansonsten kaum herauszufinden welche Einstellungen in welchem FW-Stand was überhaupt bewirken. 2008 gab es nur zwei FW's welche die RS485 Anbindung 'muddelten', von daher kamen nur die erstmal in Frage. Was heute aktuell ist weiss ich nicht 
Wenn die FW Einzelzeichenversendung und RS485 beeinhaltet lässt sich der Rest (also Timing, Broadcasts und Funknetzaufbau etc.) einfach per AT Kommandos konfigurieren. Man benötigt nichts weiter als ein passendes Terminal und einen Editor. 
Die AT-Kommandos sind grösstenteils im HB dokumentiert - *Der Funkbus selber verhält sich im Broadcastmodus der XBees eigentlich wirklich als reiner Kabelersatz ... *.( ... Zitat der Handbuchaussagen zu den Gigaset DECT-Adaptern, die zwar ähnlich funktionierten, hier aber nichts mit zu tun haben).
Bei RS485 funktioniert die XBee-Verbindung prinzipiell sowieso leichter in 'Echtzeit', als dass sowohl die Funkstrecke als auch die RS485 Zweidraht Verbindung unidirektional laufen. Die Steuerung (quasi jeweiliger Master) bleibt umlaufend bei der jeweils sendendenden CPU. 

Bei bidirektionalen Verbindungen (bspw. RS232 oder RS485-Vierdraht zum Display per bidirektionalen-PtP) funktionierte das nicht ! Deswegen war auch mein Display an der PtP per Funkbus nicht zu aktivieren - und ich behielt meinen Aufbau zweier 300-er und eingebundener 226 mit TP bei. 



Was ansonsten gut funktioniert mit den XBees hat natürlich auch Nachteile. Zuerst wäre da mal der wirklich schwer zu 'administrierende' Funkbus  
Wer mehrere Teilnehmer zu 'verfunken' dennoch nicht scheut, bekommt das Problem nachträglich hinzukommende Teilnehmer jedem Funkchip 'persönlich' bekanntmachen zu müssen. Ich fand keinen anderen Weg als jedesmal die um den Neuling erweiterte komplette Konfiguration in jeden Chip einzulesen. Das ist überaus fehlerträchtig - einmal verhauen steht alles. 
Einen Teilnehmer herauszulösen geht hingegen problemlos. Aber nach dem Prinzip einfach einige Reserveteilnehmer von vornherein vorzusehen versagte, da jeweils genau angemeldeter Chip (wahrscheinlich Teil der Seriennummer) wenn, auch vorhanden sein musste 
Weiterer Nachteil im MPI/PPI Verbund ist ein ausdauernder Stromhunger (bei den XBee-Pros nochmals quadriert), da die Dinger nonstop laufen und nie den Hörer auflegen
Was jedoch einmal läuft, scheint fortan sehr zuverlässig zu 'funzen'. (Jedenfalls läuft mein erster XBee-Verbund störungsfrei seit 01.01.2007. Damit lese ich über den MPI-Bus Werte aus zwei digitalen Kamstrup Stromzählern aus. Das ist auch ein ganz anderes Thema, war damals aber der Versuch im XBee Controller eigenen Code abzulegen. Auch das geht).
Ansonsten kenne ich wie gesagt den heutigen Stand der X- und Zigbees nicht, da ich mittlerweile alle CPU's nur noch per Ethernet verbändselt habe und sich damit alle anderen Busse erledigten, ging ich dem nicht mehr weiter nach. 
Gruss
tobias


----------

