1zu160 - Forum



Anzeige:
Arnolds Modell Web

THEMA: Neueinstieg - Software selbst entwickeln

THEMA: Neueinstieg - Software selbst entwickeln
Startbeitrag
Chrich - 03.02.09 12:01
Hallo zusammen,

ich stehe kurz davor, wieder in das Hobby Modelleisenbahn (Spur N natürlich ;) )einzusteigen.
Ich habe aus meiner Kindheit und frühen Jugend noch ein bisschen altes Arnold Gleismaterial. Mein Rollmaterial beschränkt sich fast ausschließlich auf Personenzüge mit analogen Loks (z.B. BR103, ICE1), alles Fleischmann. Einen Trafo könnte ich auch noch vom Dachboden holen.
Vorbelastet durch Programmierkenntnisse und den Wunsch, etwas selbst zu schaffen, stelle ich mir derzeit folgendes vor:
Anfangs möchte ich ein einfaches Gleisoval haben, auf dem eine digitale Lok ihre Runden dreht. Die Steuerung soll vom PC aus erfolgen, die steuernde Software möchte ich gerne selbst entwickeln. Sie soll anfangs tatsächlich nicht mehr können als Fahrstufe und Richtung vorzugeben. Zu diesem Zeitpunkt wäre die Möglichkeit auch mal zu 'spielen' nett, aber nicht absolut notwendig.
Wenn ich die Lok kontrollieren kann und die prinzipielle Funktionsweise der Schnittstelle, des Protokolls usw. verstanden habe, möchte ich das Oval schrittweise erweitern. Eine zweite Lok, eine erste Weiche, dann ein Überholgleis, usw... Und für all diese Sachen möchte ich die notwendigen Funktionen in der Software selbst implementieren.
Folgende Wünsche stelle ich an meine Erst-Ausrüstung:
- Die Schnittstelle zum PC soll USB sein.
- Nach allem, was ich gelesen habe, möchte ich DCC den Vorzug geben.
- Das System soll die oben beschriebenen Funktionen bieten, entweder von Anfang an oder durch schrittweises aufrüsten.
- Qualität und Langlebigkeit

Mit meinem derzeitigen Kenntnisstand bieten sich/spiele ich mit folgende(n) Optionen:
1: Fleischmann DCC Start-Set (mit PROFI BOSS zum spielen...)
DiCo Station
Booster
(Trafo)

2: Lok(s) umrüsten lassen (geht das?)
Uhlenbrock Intellibox (Basic) (als 'all-in-one')

Geht das überhaupt alles, so wie ich mir das vorstelle? Gibt es Hinweise, Warnungen zu den dargestellten Szenarien?
Ich bitte auch um Entschuldigung, falls die Frage 'Welches System' zum x-ten Male gestellt wird. Nur leider habe ich zum Thema 'Selber Software schreiben' und 'Ich brauche erstmal nicht mehr als einen Zug' kaum Informationen gefunden. Daher mein direktes Hilfsgesuch.

Herzlichen Dank für jegliche Hilfe.
Viele Grüße aus Braunschweig,
Christian

Hallo Christian,
Zu deiner Frage kann ich dir leider nicht weiterhelfen, aber mich interessiert das Thema auch, ich studiere Informatik und Schienenverkehr und wollte wenn wieder etwas mehr Luft ist auch anfangen irgendwie die Eisenbahn an den Computer zu bringen. Mit welchem System und ob überhaupt digital oder über USB mit Microcontroller habe ich derzeit noch nicht entschieden, aber hast du eventuell schon Literatur wie man da rangeht? In welcher Sprache möchtest du programmieren?

Beste Grüße aus der Nachbarschaft,
Benni (aus dem LK Gifhorn)
Die Generierung des Gleissignals überlässt man am besten einem "embedded system". Z. B. Intellibox, TwinCenter (das ja eine Intellibox ist), Profiboss und so weiter. Dann muss man noch seinen Computer mit diesem System interfacen, bei der Intellibox ist das RS232 eingebaut oder über eine LocoNetbrücke (LocoBufferII), der Profiboss hat nur LocoNet. Wenn man die Herausforderung eines embedded systems annehmen will kann man sich den eigenen PIC oder so der dann das Gleissignal generiert programmieren. Den muss man dann auch mit einem Protokoll steuern.

Gleissignal direkt an RS232 a la Digital Direkt für Linux ist leider nicht so zuverlässig. Eine RS232 am Linuxrechner ist eben kein Echtzeitsystem.

Eine Steuerungssoftware für Javaliebhaber (und auch andere) ist JMRI.
Hallo ihr zwei,

dann versuche ich mal, euch "in meine Richtung" zu bringen

Nach langem Marktstudium habe ich mich für das Lenz-System (DCC) entschieden. Folgende Gründe waren für mich die Killerargumente:
- Bewährte Zentrale (LZV100) ohne Schnickschnack, leistungsfähig, bei vielen Schauanlagen seit Jahren im problemlosen Dauerbetrieb
- Stabilisierte Ausgangsspannung, in der Höhe frei programmierbar (z.B. auf den N-Normbereich)
- Gerätebus (eXpressNet-Bus, XN), an denen sich Rocos Lok- und Multimäuse als Handregler anschließen lassen
- Interfacebaustein über USB (LI-USB, an XN anschließbar)
- und nun vor allem: _offenes Interface_

Das schöne dabei: Wenn ihr schnell und preiswert einsteigen wollt, kauft euch über SothEBAYs mal ein LM2- oder MM-Startset - ersteres ca. 40..50 Euro, letzteres ca. 80 Euro. Kauft euch dann das LI-USB (ca. 110 Euro). Dann habt ihr eine Konfiguration, mit der ihr Fahren könnt und das Fahren via Interface programmieren könnt.

Später könntet ihr dann eine LZV100 dazukaufen (nun wirds teurer, ca. 150 Euro) und die LM2/MM als Handregler weiterverwenden, natürlich auch das LI-USB. Hinzu gewinnt ihr die Schaltmöglichkeit von Zubehör und die Rückmeldefähigkeit.

Nun zum Interface. Ich habe seinerzeit (ca. vor 1 Jahr) auf dem Markt nur das archaische Märklin-Protokoll (P-irgendwas) offengelegt gefunden. Dieses verwendet die Intellibox (IB), auch die Tams-Zentrale. Ansonsten hat nur noch Lenz sein XN-Protokoll (schaut mal unter der Lenz-Digital-Plus-Seite nach) offen gelegt und dieses ist hinreichend, allerdings klar aus der Ecke der Elektronikbastler (wie das P-irgendwas auch), also nichts state-of-the-art erwarten.  

Von den Waschmaschinen mit Fernseher würde ich die Finger lassen (das sind die ganzen Schnickschnack-Zentralen wie ECos, Central Station und Commander von Viessmann) - kosten zuviel Geld, jeder Computer kann über das Interface mehr, und ihr wollt ja die Steuerung selbst schreiben. Übrigens veröffentlicht ECoS sein Interfaceprotokoll nicht - nur Besitzer der ECoS erhalten es - ja soll ich erst 500 Euro ausgeben, um das Geeignetsein zu testen!??!??

Ich habe mir ein paar Javaklassen geschrieben, die das XN-Protokoll kapseln. Darüber liegt dann mein Steuerprogramm (erst als Prototyp vorhanden). Natürlich wieder in Java, als Plattform kann ich die Rich Client Platform (RCP) von Java empfehlen, als IDE natürlich Eclipse. Beides zusammen - Eclipse RCP - gibts zum freien Download.

Anbei ein Screenshot mit einem Steuerpanel für die Lok, die sich in einer - symbolisch dargestellten - Fahrstraße befindet. Die rote "Krakellinie" ist die Geschwindigkeitslinie. Man sieht, dass die Lok am Einfahrsignal C losgefahren ist und auf die zulässigen 60 km/h beschleunigt hat. Unten im Stelltisch sieht man die eingestellte Fahrstraße.

Wenn ihr noch Fragen habt, meldet euch einfach. Ich freue mich über jeden, der wie ich die Steuerung selbst schreibt, was die Minderzahl der Modellbahner macht!

Viele Grüße
Frank




Die von Lio zu diesem Beitrag angefügten Bilder können nur von registrierten Usern gesehen werden - Login

Hallo,

warum schaut ihr nicht mal bei www.der-moba.de vorbei.

Da gibt es ein Projekt an dem schon mehrere Leute arbeiten.

http://www.der-moba.de/index.php/Digitalprojekt

Gruß

Uli
Hallo Frank!
Eine super Beschreibung die du da lieferst! Das klingt auf jeden Fall einfacher als ich es mir vorgestellt hatte, zumal ich  nicht erwartet hätte dass das Protokoll offen ist.
Das ganze in Java zu machen hat natürlich auch was, vor allem weil es relativ einfach ist. Über die Sprache hatte ich noch nicht nachgedacht, aber ich würde wahrscheinlich Java benutzen, alternativ C++ oder Python. Und die Oberfläche könnte man dann aussehen lassen wie ein echtes ESTW von Siemens, das hätte Stil!
Das beste daran ist wie ich finde die Verbindung über USB, denn ich habe keinen Rechner mehr im Haus der einen Steinzeit-RS232 hat. Wie gesagt, sobald Zeit ist geht es bei mir los!

Gruß,
Benni
Hallo Benni,

schön, wenn es dir gefallen hat. (Nicht ganz ernstgemeint) muss ich aber protestieren, wenn du die ESTW-Oberfläche von Siemens nehmen willst. Es gibt bei den ESTW ja noch einen zweiten Hersteller: ex Lorenz, ex Alcatel, heute Thales. Genau in dem Verein arbeite ich. Zwar nicht im Stellwerksbereich, sondern beim RBC (Radio Block Centre in ETCS). Ich tue ETCS Unrecht, wenn ich es mit der LZB vergleiche, aber ich tippe mal darauf, dass die meisten hier im Forum eine Ahnung haben, was die LZB ist, aber eher wenig Kenntnis über ETCS und speziell das RBC.

Im übrigen hatte ich - kurz - überlegt, die Stellwerksoberflächche eines realen ESTW zu nehmen (übrigens unterscheiden die sich von Siemens und Thales kaum, da die Bahn hier einen Anzeigekatalog forderte, der die Bedienung vereinheitlicht). Dann reizte es mich aber, es doch nach eigenem Geschmack zu machen. Außerdem ist meine Bedienphilosophie eine andere.

Da verständlicherweise ein Modellbahnstellwerk und dessen Bedienung nicht den selben strengsten Sicherheitskriterien wie beim Vorbild unterliegen, konnte ich einige Erleichterungen für den Bediener (mich!) einbauen. Ich habe z.B. keine Start-Zielbedienung sondern stelle die Fahrstraßen am Ziel(signal). Wenn das mehrdeutig ist (z.B. bei der Ausfahrt auf die Strecke) werden alle in Frage kommenden Fahrstraßen im Menü gezeigt. Drüberfahren mit der Maus lässt jede im Stelltisch "gedrückt" erscheinen. Die gewünschte wird dann leicht erkennbar.

Übrigens gibt es bereits Programme, die ESTWs simulieren.

Na, dann viel Spaß!

Link LI-USB: http://www.digital-plus.de/digitalplus/digitalplus_pc.php
Link eXpressNet: http://www.digital-plus.de/pdf/XpressNet%20und%20USB%20Interface.pdf

Viele Grüße
Frank
Hi

Ich war auch mal so euphorisch und wollte ein Steuerungsprogramm selbst entwickeln.
Da für hatte sich Visual Basic angeboten. Ging auch alles sehr schnell.
Datenaustausch über die Intellibox.
Aber da kam man von einem ins tausendste. Das war einfach zu aufwändig. Das bißchen Loks fahren lassen reicht bald nicht mehr. Dann möchte man Fahrstraßen u.s.w.
Der Zeitaufwand wurde viel zu groß.
Dann habe ich mir die Demo zu WIndigipet geholt.
Und heute habe ich die Pro X Version.

Wenn ich das alles slbst entwickelt hätte ... oje

Also im Nachhinein kann ich nur sagen, ich würde mir die Zeit und die Arbeit  lieber sparen und ein fertiges Programm nehmen. Lieber mehr Zeit in die Moba selbst investieren. Das Rad nicht noch einmal neu erfinden.

Aber muß jeder selbst entscheiden...

Gruß
Thomas
Hallo Christian,

auch ich schreibe Software selber und baue auch Hardware selber.

Schaue für DCC mal hier vorbei:

http://www.opendcc.de/index.html

Und schaue für SX mal hier vorbei:

http://uwe-magnus.de/

http://www.steinhartw.de/

http://jochens-moba.vze.com/

Grüße von Ernie.

Hallo Thomas,

kann ich verstehen. Aber: der Weg ist das Ziel und: man bestimmt die Features selbst. Viele Dinge auf der Modellbahn kann man auch kaufen, aber man baut sie teilweise selbst, weil sie dann den persönlichen Wünschen entsprechen. Und die marktübliche Software hat kaum den Originalfahrplan der Anhalter Bahn (u.a. KBS 155), die Reihungspläne des Zp A usw. usf. Meine Software schon, klar, ist ja genau so wie ich es möchte!

Anbei mal ein Screenshot des Fahrplanteils meiner Software (man sieht, dass es noch etwas zu tun gibt: Die ZWL hat nur parallele Linien, die also die unterschiedliche Geschwindigkeit der Züge nicht widerspiegelt).

Jedenfalls wird der Fahrplan der Software a) ermöglichen, einen Zug zur richtigen Zeit auf die Strecke zu schicken und auch b) anhand des Zp die "einigermaßen passende" Garnitur zu ermitteln (beim gezeigten D57 ist das nicht schwer: das ist der Henschel-Wegmann-Zug). Wer aufmerksam ist: Ja, der D57 fuhr nicht über Lio. Diese kleine Abweichung sei mir gegönnt.

Viele Grüße
Frank

Die von Lio zu diesem Beitrag angefügten Bilder können nur von registrierten Usern gesehen werden - Login

Ich kann Frank nur Recht geben zu sagen "Der Weg ist das Ziel", denn warum soll es nicht spannend sein auch die Software selbst zu entwickeln? Es gibt ja auch Kollegen unter uns die ihre Fahrzeuge selbst bauen, obwohl es Fahrzeuge auch fertig zu kaufen gibt (mal ganz überspitzt gesagt...)

Beste Grüße,
Benni

@Lio und BeNNy:

USB ist moderner als RS232? Ich glaube die meisten USB für die Moba emulieren trotzdem RS232. Da kann man auch ein USB-dongle ranhängen.

@Lio
LocoNet gehört dann zu den halboffenen Protokollen? (Nicht komerzieller Selbstbau ist OK)
hier noch eine möglichkeit sich SW-mäsig in einem Netzwerk zu betätigen...

http://wiki.rocrail.net/doku.php

ich benutze diese SW und bin sehr zufrieden.


Hallo haba,

zum LocoNet: gibt es ein offengelegtes API? Würde mich mal - aus "Forschungsgründen" interessieren. Oder meinst du eher die Kombination aus HW und SW?

Als ich nämlich auf der Suche war interessierte mich ausschließlich Kaufhardware und darüber abwickelbare Software über beschriebene Schnittstellen. Würde mich wirklich interessieren, wenn es da etwas gibt, wenngleich LocoNet für mich naturgemäß nicht mehr in Frage kommt.

Viele Grüße
Frank
Nochmal zu haba:
Zitat

USB ist moderner als RS232? Ich glaube die meisten USB für die Moba emulieren trotzdem RS232. Da kann man auch ein USB-dongle ranhängen.



Das stimmt so, aber "nur" aus historischen Gründen:
- frühere Computer benutzten oft die RS232 (mein Gott, das ist erst ein paar Jaare her
- die Moba-Steuerungen setzten darauf auf (HW und somit die SW)
- dann verbreitete sich USB
- der einfachste Schritt für die SW war nun, virtuelle COM-Schnittstellen zu unterstützen, somit musste man in der SW nichts anpassen

Wenn man aber die Wahl hat: z.B. LI-100 (RS232) oder LI-USB, sollte man gleich zu USB greifen, ein alter Rechenknecht ohne USB sollte da keine Begründung sein. Bei den genannten Kandidaten ist nämlich das angebotene API im Grunde gleich (muss ja: eXpressNet-basiert), der Zugriff über Ports beim zweiten ist aber leichter - wenngleich ich mir hier vernünftige, objektorientierte Libs gewünscht hätte. Aber das ist - sorry für meine erneute böse Zunge - den Bastlern bei den Herstellern, die in Elektronik und somit Bits denken, nicht beizubringen.

Viele Grüße
Frank
Hallo,
erstmal herzlichen Dank für die Antworten. Ich bin überrascht, wie viel es bei dem Thema zu beachten gibt.
Ich hatte mir das eigentlich so vorgestellt:
|PC|-----Y-----|Zentrale|----X----|Gleis|
Was auf der Schnittstelle X passiert, ist mir egal, will ich auch gar nichts mit zu tun haben. Das soll die Zentrale regeln. Ich möchte nur über die Schnittstelle Y der Zentrale sagen, was sie ans Gleis senden soll. Oder anders ausgedrückt: Was man sonst über die Regler und Tasten einer Zentrale eingibt, möchte ich der Zentrale über eine Schnittstelle mitteilen. Regler und Tasten durch den PC ersetzen.
Mich interessiert nun, welche Zentrale sowas am besten kann. Wo ist das Protokoll zur PC-Verbindung offengelegt? Eine Programmierschnittstelle am PC vorhanden, in welcher Form auch immer?
Und ich möchte nochmals betonen, das ich (Wieder-)Einsteiger bin. Daher ist es für mich wichtig, das ich recht schnell zu Ergebnissen komme. Das Geld ist eher zweitrangig.
Habe heute meinen ersten Händler aufgesucht. Er hat mir eigentlich zwei Dinge empfohlen:
1. Für einen schnellen Einstieg ein Digital-Start-Set.
2. Eine Intellibox (Basic) und die Nutzung von DCC.
Was ist davon zu halten? Wie kann man die IB vom PC ansteuern? Wie habe ich mir sowas vorzustellen? (Bitte auch hier für Laien, da sich meine Programmierkenntnisse in keiner Weise auf Schnittstellen oder verteilte Systeme beziehen.)

Habt tausend Dank!

Christian

P.S.: LZB und ETCS vergleichen... *autsch* ;). Aber sowas schwebte mir vor: Ein DMI nachbilden, mit dem ich dann eine Lok steuern kann.
Also, Christian,

es gibt auch Projekte, wo du Y, die Zentrale und X zu Software verschmilzt. Das oben schon referenzierte Projekt von der_MOBA (Digital Direct for Linux - DDL bzw. ... for Windows - DDW) sind da das beste und bekannteste Beispiel.

Weiterhin gibt es z.B. von Littfinski etwas, das hätte ich mir gekauft, wenn man mir das Interface (also Y) offengelegt hätte. Hat man nicht, also nein danke.

EDIT: "also X" geändert in "also Y"

Ansonsten ist der von dir beschriebene Weg der absolut gängige, den auch ich gewählt habe. Bei mir ist X = DCC, Zentrale = LZV100 und Y = eXpressNet.

Nun sei gewarnt, ab sofort beginnen die Grabenkämpfe bezüglich des Glaubens oder Wissens über die "richtige Wahl" der beteiligten Komponenten.

Ich bringe der SX-Gemeinde absolutes Wohlwollen entgegen und würde gegen keine dort vorgeschlagene Kombination wettern. Bei DCC bin ich absolut eingestellt. Vergiss die Intellibox, das ist Uraltkram, immer mal wieder aufgehübscht und die Neuheitenankündigungen letztes Jahr für die IB2 haben schon verraten, dass bei Uhlenbrock hier nichts neues zu erwarten ist. Das TwinCenter ist derselbe Aufguss. So, nun schlagt mich, IB-Anhänger. Damit die Flecken nicht ganz so blau werden, biete ich den Bogen zu "jeder hat andere Vorstellungen und Maßstäbe" an.

Ich habe schon ganz oben geschrieben, was für mich eine ordentliche Startkonfiguration ist. Dort habe ich mich auch schon zu den Waschmaschinen mit Fernseher geäußert.

Zitat

Wo ist das Protokoll zur PC-Verbindung offengelegt? Eine Programmierschnittstelle am PC vorhanden, in welcher Form auch immer?

Siehe mein Posting oben.
Zitat


Daher ist es für mich wichtig, das ich recht schnell zu Ergebnissen komme. Das Geld ist eher zweitrangig.

Dann wirst du der Kunde 2009, auf den alle gewartet haben. Richtige Einstellung, da du dir dann gleich etwas ordentliches kaufen kannst.

Viele Grüße
Frank

Hallo Frank,
dank für die Antwort.

Zitat

Weiterhin gibt es z.B. von Littfinski etwas, das hätte ich mir gekauft, wenn man mir das Interface (also X) offengelegt hätte. Hat man nicht, also nein danke.


Ich hoffe, Du hast hier in dem Falle X und Y vertauscht?!? Ansonsten wäre das genau das, was ich bräuchte.
Zitat

Waschmaschinen mit Fernseher


Damit meinst Du Geräte wie die IB?

Für heute reicht es, ich werd jetzt erstmal die berühmte Nacht drüber schlafen.

Gruß
Christian
Hallo Christian,

ja, ich meinte X. Das Produkt heißt DiCoStation. Damit man mit üblicher Modellbahnsoftware das Gerät betreiben kann, muss man noch Software hinzukaufen. Diese stellt dann das P50-Protokoll zur Verfügung (das, was ich oben als P-irgendwas bezeichnete). Das direkte Protokoll Y wollte man mir nicht offenlegen, so dass ich Abstand nahm.

Mit "Waschmaschine mit Fernseher" meine ich generell Geräte, die Funktionen kombinieren, die man so nicht braucht. ECoS und V-Commander und Central Station sind jeweils kleine spezialisierte Computer mit eingebauter Zentrale, Interface und Handreglern. Da jeder Computer die Aufgaben besser kann mit allgemeiner Software (bei mir eben selbstgeschriebener) finde ich die 500 bis 700 Euro zu viel und bin lieber für eine modulare Lösung Zentrale (ausschließlich für die Gleisformaterzeugung und Rückmeldung), Interface und Handregler.

Viele Grüße und "gute Nacht" Frank
Hallo Frank,

irgendwie verstehe ich Deine Logik nicht.

Du schreibst:
Zitat

Bei mir ist X = DCC, Zentrale = LZV100 und Y = eXpressNet.



Und weiter schreibst Du:
Zitat

wenn man mir das Interface (also X) offengelegt hätte.



Und dann doch wieder Y:
Zitat

. direkte Protokoll Y wollte man mir nicht offenlegen, so dass ich Abstand nahm



Was denn nun X oder Y??

Wenn ich das richtig interpretiere ist bei Dir X = DCC. Aber DCC ist doch allgemein offen gelegt, dafür braucht man doch nicht Littfinski. Ich jedenfalls nicht!

Außerdem gibt es bei OpenDCC gute Hilsmittel (Schnüffel und Logger) zur Erkundung von DCC und Xpressnet.

Edit:
Auch sind bei OpenDCC Komandos und Protokoll offen gelegt. Wenn auch nicht alles.
Ich habe jedenfalls bei OpenDCC alles gefunden, was ich zum programmieren brauche.

Grüße von Ernie.


Hallo Ernie,

wie Christian schon in #17 bemerkt hatte, hatte ich leider in #16 X und Y verwechselt - tut mir leid. Habe nun EDIT gemacht, damit es keine weiteren Missverständnisse gibt.

Somit müsstest du mit mir wieder im reinen sein

Also: DCC (X) ist offen, hier will ich natürlich nicht ran. eXpressNet (Y) ist offen - genau das brachte mich zu Lenz.

Das (c) für X und Y hat natürlich Christian in #15.

Wegen
Zitat

Wenn ich das richtig interpretiere ist bei Dir X = DCC. Aber DCC ist doch allgemein offen gelegt, dafür braucht man doch nicht Littfinski. Ich jedenfalls nicht!

bräuchten Leute wie ich z.B. die DiCoStation, wenn sie das Gleissignalerzeugen einer Hardwarelösung überlassen wollen, die es käuflich gibt und die nicht selbst gebaut werden soll.

Viele Grüße
Frank
Hallo Ernie,

komme nochmal auf deinen Teil
Zitat

Außerdem gibt es bei OpenDCC gute Hilsmittel (Schnüffel und Logger) zur Erkundung von DCC und Xpressnet

zurück, und zwar den Teil eXpressNet und Sniffer betreffend. Das sind dann aber Hardwarelösungen, oder? Denn über das LI-USB kann ich zwar XN-Kommandos lesen/empfangen, aber nicht pauschal den XN-Bus protokollieren. Wenn ich aber ein XN-Gerät wäre (also HW) könnte ich natürlich auf dem Bus lauschen (nämlich nach für mich bestimmten Befehlen).

Also: Hardware, nicht wahr? Ansonsten hätte ich was übersehen ...

EDIT: Antwort nicht nötig, hätte gleich schauen sollen: http://www.opendcc.de/elektronik/dcc_sniffer/xp_command.html ist eine Hardwarelösung.

Viele Grüße
Frank
Hallo Chrich,

ich habe vor ziemlich genau einem Jahr angefangen, eine Software für SX zu programmieren, ein gutes halbes Jahr später war ich damit "fertig".
Die Systementscheidung für SX ist schon vor der Software gefallen. Das Protokoll ist einfach (2 Byte hinschicken, eins kommt zurück), aber auch komplexere Protokolle sind nicht viel schwieriger.
Der eigentliche Teufel steckt nachher im Detail, kannst Du alles in den Threads hier im Forum nachlesen, es waren glaub 3 an der Zahl.
Bei der Programmierung für ein Digitalsystem gibt es außerdem eine ganze Reihe zu beachten, da jede Menge Daten im Hintergrund ständig in Bewegung sind. Das ist anders als ein normales Anwendungsprogramm, das nur auf die Benutzereingaben reagieren muss. Stelle ein paar Vorüberlegungen an, wie die Software aufgebaut sein soll. Ich kann aus meiner Erfahrung nur dazu raten, bau alles modular, trenne GUI von Funktion und Hardwaretreibern. Abstrahiere das Digitalsystem von den Funktionen, dann ist es später leichter, andere Interfaces/Zentralen anzusprechen. Und das ist auch der Zeitpunkt, sich mit Multithreading zu beschäftigen. Serielle Kommunikation ist deutlich langsamer als der PC, d.h. wird bei mir in Hintergrundthreads ausgelagert. Nichts ist nerviger als ein Programm, das sich hakelig/ruckelig bedient, nur weil auf die Schnittstelle gewartet werden muss.
Welche IDE und welche Programmiersprache Du nimmst ist prinzipiell egal. Bei mir war/ist es Visual Studio 2005/2008 und VB.net, da ich fast alles in der Umgebung mache.

Gruß
Daniel
Hallo Frank,

leider ist es ist Hardware und Software. Siehe Link.
Etwas basteln und löten muß man schon.

http://www.opendcc.de/elektronik/dcc_sniffer/xp_sniffer_sw.html

Warum Littfinski. sich da so stur anstellt und Softwareentwickler nicht unterstützen will, ist mir allerdings auch unverständlich. Schade! Gut ist, dass ich da ohne "Die" auskomme und dass es bei OpenDCC soviel Hilfe gibt.

Grüße von Ernie und Gute Nacht, ist jetzt Zeit für mein Bett.
Hallo Daniel,

100% Zustimmung, genauso sehe ich es auch.

Allerdings habe ich in meiner Prototyparchitektur eine Abweichung: normalerweise würde man die Steuerung des LI-USB in einen eigenen Server auslagern, den dann mehrere Clients benutzen können. Würde ich mein Programm kostenlos oder kommerziell vertreiben, hätte ich es auch so gemacht. Da ich es aber nur selbst benutze, ist dieser Teil im Client integriert, es ist also ein Rich Client (wie eben RCP auch bedeutet).

VIele Grüße
Frank
Hallo Frank,

ist ja auch sinnvoll, mein SX1 ist auch als RichClient ausgeführt, der alles in einer exe beinhaltet. Durch den modularen Aufbau könnte ich jedoch mit geringem Aufwand z.B. einen Service ohne GUI erstellen. Grundsätzlich sollte ohnehin so wenig wie möglich Logik in den Benutzersteuerelementen stecken, nur eben das was zur Anzeige benötigt wird.

Grüße
Daniel
Ja, Daniel, so ähnlich ist es bei mir auch. Zum einen habe ich eine Erkennung der angeschlossenen Zentrale und der XN-Version (allein habe ich schon drei verschiedenen Zentralen, denn neben der LZV100 sind ja auch LM2 und MM vollwertige Zentralen, naja, nicht vollwertig, aber zum Fahren schon). Somit muss die SW schon hier in der Lage sein, XN Version 3.0 (LM2, MM) und XN Version 3.5 (meine LZV100, es gibt aber schon v3.6) behandeln zu können.

Ferner ist das Digitalinterface so gekapselt, dass es jederzeit ersetzt werden kann. Das tue ich auch regelmäßig auf Knopfdruck, da ich einen Interface-Simulator habe und somit zwischen realem Interface und Interface-Simulator umschalten kann.

Ansonsten gilt natürlich das MVC-Pattern (Model/View/Controler), auch wenn die Meinung, ob MVC ein eigenes Pattern ist, auseinander gehen.

Viele Grüße
Frank
Hallo,

und danke weiterhin für die ganzen Anregungen.

Zu Franks Antwort No. 18: Wenn ich diese Software habe (ich glaub sie nennt sich DSI), könnte ich also auch mit P50X die DiCo-Station ansteuern. Es wäre ähnlich wie bei dem von Dir vorgeschlagenen System, nur noch eine Baustelle dazwischen. Gut, dass spricht eindeutig für XN.

Wie steht es denn um die Zukunft für XN? Ist XN offen, oder steht da eine bestimmte Firma dahinter? Gewinnt Loconet von Fleischmann, oder XN von Roco, jetzt wo die Firmen irgendwie zusammengehören? Gibt es zur Not Geräte die beide Protokolle verstehen und umsetzen können?

Ich werde mich weiterhin bei Händlern umsehen und Euch über die Entwicklung informieren :). Das könnte ein paar Tage dauern. Ob es sich wohl lohnt bis nach der Messe in Nürnberg zu warten?

Gruß,
Christian
Hallo Christian,

Zitat aus OpenDCC.

Zitat

as XpressNet ist ein von Lenz Elektronik entwickeltes Netzwerk, das sowohl für Industrie und Privatpersonen frei zugänglich ist. Ein Reihe von kommerziell verfügbaren Geräten sind mit Xpressnet ausgestattet, u.a. die Roco Multimaus.



Grüße von Ernie.

Edit:
http://www.opendcc.de/info/xpressnet/xpressnet.html
Hallo Christian,

zur Offenheit von XN hat Ernie ja eine gute Quelle genannt. Und dass man das XN-Protokoll bei Lenz downloaden kann, spricht auch dafür.

Bezüglich der Digitalentwicklungen von Roco und Fleischmann wird abzuwarten sein. Angeblich ist im Neuheitenkatalog von Fleischmann die Multimaus drin (ich habe den Prospekt noch nicht gesehen), was auf das Durchsetzen von XN hindeutet und was ich persönlich auch begrüßen würde.

Was DSI betrifft (Digital-S-Inside, nicht wahr?) - daran hatte mir missfallen, dass ich diese SW erst kaufen muss und zum anderen dieses bescheuerte (Entschuldigung) P50-Format darauf liegt. Diese Abwägung muss der potenzielle Schnittstellenbenutzer natürlich für sich treffen.

Viele Grüße
Frank
Hallo,

ich glaub, so langsam habt ihr mich überzeugt.
Gestern war ich bei einem weiteren Händler, der hat mir sofort einen Viessmann mit Riesen-Bildschirm empfohlen. Er hat kaum verstanden, was ich wollte (und auch nicht nachgefragt) und konnte mir nichtmal sagen, welcher Anschluss an dem Gerät denn zum PC ging. Nun gut, da werd ich dann wohl nicht kaufen ;).

Den Fleischmann-Katalog hab ich schon in der Hand gehabt, und da ist tatsächlich ein Startset mit Multimaus drin. Das Jubiläums-StartSet hat sogar 2 vollständige Züge mit der Lokmaus. Das wär für mich zum Anfang super. Wird aber erst im 3. Quartal erscheinen... grrr! Ob ich das aushalt, so lange zu warten?!?

Herzlichen Dank für alle Antworten und die daraus entstandenen Anregungen und Verweise.

Gruß,
Christian


Nur registrierte und eingeloggte User können Antworten schreiben.
Einloggen ->

Noch nicht registriert? Hier können Sie Ihren kostenlosen Account anlegen: Neuer N-Liste Account





Zum Seitenanfang

© by 1zu160.net;