flexible Programmierung???

Für alle Diskussionen rund um digitale Modellbahntechnik und alles zum Thema Software Modellbahnplanung und Modellbahnsteuerung
Antworten
mirdad

flexible Programmierung???

Beitrag von mirdad » Mittwoch 19. November 2003, 14:24

Hallo,

ich studiere Systemtechnik und Technische Kybernetik und werde demnächst ein Projekt am Max-Planck_Institut für komplexe dynamische Systeme übernehmen. Es geht darum, eine mathematische Theorie, die sich mit der Optimierung von zyklischen Prozessen beschäftigt (z.B. ein Zugfahrplan), in einem kleinen konkreten Projekt zu verwirlkichen. Das soll eine kleine Modellbahn sein, auf der ein solcher zyklischer Prozess abläuft.
Ich suche nun ein Programm, mit dem ich die Züge ansteuern kann, bei dem ich die Reaktionen auf bestimmte Ereignisse selbst programmieren kann, d.h. es müssen viele Sensoren mit eingebaut werden können, alles in allem also muss ich das Programm sehr flexibel gestalten können. Meine Frage nun also: ist es möglich, eine Modellbahn z.B. mit einem Programm, welches in C geschrieben wurde zu steuern, und wenn, gibt es dafür schon vorgefertigte Schnitttstellen????

Wie steuern Sie z.B. diese Riesige Anlage in Hamburg???

Ich wäre für eine Antwort sehr dankbar.

Vielen Dank
mirdad

Michael Klein

Beitrag von Michael Klein » Mittwoch 19. November 2003, 18:02

Hallo,

es ist möglich eine Modellbahn mit einem Programm zu steuern, dass in C/C++, VB oder anderen programmiert ist.

Ich selbst habe ein Programm in VB geschrieben, mit dem ich unsere Modellbahn steuere (die Steuerung funktioniert, in kürze erfolgt die Entwicklung der Fahrplansteuerung).

Die Schnittstellen sind nicht direkt vorgefertigt, wenn Sie Ihr Programm selbst entwickeln wollen, sind nur die Schnittstellen zur seriellen Schnittstelle fertig und die Definitionen was Ihr Modellbahninterface an Daten benötigt um bestimmte Dinge zu tun. Der Rest ist Ihr Werk !!!

Es gibts allerdings viele fertige Programme zur Steuerung von Modellbahnen, die auch entsprechend Ihrer Beschreibung Bahnen steuern.

Sie sollten sich z.B. mal das in MiWuLa verwendete Produkt anschauen. Hier gibt es einige Möglichkeiten zur ereignisgesteuerten Behandlung.

Viel Erfolg bei Ihrem Projekt
Michael

mirdad

Beitrag von mirdad » Mittwoch 26. November 2003, 13:04

Hallo Michael,

vielen Dank erst einmal für deine Antwort. Ich hätte da mal einige Fragen dazu. Du sagst, es ist möglich, in c oder VB oder einem ähnlichen Programm den Quelltext zu schriebn, mit dem die Bahnen gesteuert werden können. Wie funktioniert das genau? Gibt es in VB z.B schon vorgefertigte BEfehle, die dann genau die richtige Bit-Folge an die serielle Schnittstelle senden? Oder muss man sich die irgendwie selber erst definieren??? ICh habe bisher noch nie etwas programmiert, wo ich direkt eine Hardware-Schnittstelle ansteuern musste, bin da deswegen gerade ein bisschen hilflos. Ich würde das Programm am liebsten in Matlab schreiben, weiß aber einfach grundsätzlich nicht, wie man solche vorgefertigten Befehle erstellt, die dann das richtige an die serielle Schnittstelle senden. Wie funktioniert das in VB? Kannst du da einfach eingeben z.B. Lock4v5 was heißen könnte, die Lock nummer vier fährt jetzt mit der GEschwindigkeit fünf???

Für eine Antwort wäre ich dankbar. Und ich hoffe es ist ok, dass ich dich jetzt gedutzt habe:-)

Gruß Johannes

Michael Klein

Beitrag von Michael Klein » Mittwoch 26. November 2003, 19:26

Hallo Johannes,

dann mach ich das doch einfach auch :D !!!

Also es gibt von Märklin (Motorola-Format) einen Satz fertiger Befehle für die Steuerung von Modellbahnen. Dieser Befehlsatz wird einfach als Character-Zeichen an die Schnittstelle übertragen. Die Initialisierung gibts auch als Vorschlag von Märklin für Basic, was sich relativ leicht in VB umwandeln lässt.

Die ganze Sache klingt komplizierter als sie ist und lässt sich sehr einfach entwickeln.

VORSCHLAG:
Du meldest Dich bei mir per Mail und ich schicke Dir mal auszüge aus meiner Software. Vielleicht hilft Dir das ein bißchen !!!

Michael@MichiK.de

Gruß
Michael

Benutzeravatar
Felix (der erste)
Forumane
Beiträge: 1408
Registriert: Mittwoch 25. Dezember 2002, 19:27
Wohnort: Lüdenscheid
Kontaktdaten:

Beitrag von Felix (der erste) » Mittwoch 26. November 2003, 19:39

Nochmal zu den Befehlen zurück.
Um eine Lok zu steuern, sind immer grundsätzlich zwei Befehle von nöten; die Lokadresse und die Aktion die bei dieser Adresse durchgeführt werden soll. Das sind ganz normale Zahlenwerte die bei Basic als chars an den com anschluss gesendet und dann vom Interface zur Bahn geleitet werden.
Ähnlich sieht es mit den Rückmeldern aus. Die werden auch über bestimmte Zahlenwerte ausgelesen.

Eigentlich eine ganz einfache Sache.

Ich wollte mal etwas in Python programieren, nur das scheiterte schon daran, das x-emacs das Python Modul nicht laden konnte
:x .
Naja aber da wird sich schon noch was finden, wenn auf dem Rechner erst mal noch Linux drauf ist :lol: .

TheHunter

Beitrag von TheHunter » Freitag 28. November 2003, 00:11

hallo,
auf der Märklin-Seite sind die Befehle auch zu finden: http://www.marklin.com/tech/digital1/co ... mands.html

mich würde ja interessieren, wie eigentlich die Funktionen F1 bis F4 angesprochen werden. Das steht da nämlich nicht...

Ciao
Martin

steffen1982

Beitrag von steffen1982 » Samstag 13. Dezember 2003, 00:35

Hallo

habe in einem Buch die Codetabellen für das MM II format gefunden. Weiß nur nicht ob ich die so direkt an sie COM schicken kann hat da jemand einen Protokollbeispiel? CodeTabelle schreibe ich ab und sell sie dann rein.

Gruß steffen

Benutzeravatar
Felix (der erste)
Forumane
Beiträge: 1408
Registriert: Mittwoch 25. Dezember 2002, 19:27
Wohnort: Lüdenscheid
Kontaktdaten:

Beitrag von Felix (der erste) » Samstag 13. Dezember 2003, 11:44

Schau mal auf der von Hunter verlinkten Märklin Seite...
Da stehen die alle für Basic als Beispiele drin.
Damit müsste es möglich sein, das alles in andere Sprachen umzuschreiben.
Auch die Daten für den COM-port sind dort angegeben.

thomasbeier

Beitrag von thomasbeier » Dienstag 30. Dezember 2003, 10:47

hallo
sie haben am 13.12.03 geschrieben.

Schau mal auf der von Hunter verlinkten Märklin Seite...
Da stehen die alle für Basic als Beispiele drin.
Damit müsste es möglich sein, das alles in andere Sprachen umzuschreiben.
Auch die Daten für den COM-port sind dort angegeben.


wo ist diese seite?????.

gruß thomas

Antworten