Mein Interface spricht mit mir!

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

Mein Interface spricht mit mir!

Beitrag von Gast » Sonntag 6. April 2003, 21:07

:lol: So, für alle die mir hier im Forum geholfen haben und für alle die es interessiert:
:idea: Mein (MÄRKLIN)Interface spricht wieder mit mir!

Es hat zwar ein wenig länger gedauert, aber manchmal muß das Hobby eben zurückstehen.
Gestern habe ich mir meine "Programmiernacht" genommen.
Manchmal ist man beim Programmieren fast auf dem richtigen Weg, aber es fehlt halt eine Kleinigkeit um einen Programmierfehler auszumerzen ( :cry: Knapp daneben ist eben auch vorbei).

:idea: Aber: Poste im Forum >>hier wird DICH geholfen!<<

Mochmals, herzlichen Dank Euch Allen!
Nachstehend ein Auszug aus meinem Ergebniss für alle die Forumsmitglieder, die es gebrauchen können:

Programmiersprache: VB6, Professionell

Public Sub S88_Oncomm()
Dim byte1, byte2

Select Case S88.CommEvent
Case comEvReceive
zeichen = S88.Input 'Eingabepuffer einlesen & löschen
byte1 = Asc(Left(zeichen, 1)) 'Kontakte 1-8 auslesen
byte2 = Asc(Right(zeichen, 1)) 'Kontakte 9-16 auslesen
End Select

'Kontakte 1 - 16 separieren
K1 = Sgn(byte1 And 2 ^ 7)
K2 = Sgn(byte1 And 2 ^ 6)
K3 = Sgn(byte1 And 2 ^ 5)
K4 = Sgn(byte1 And 2 ^ 4)
K5 = Sgn(byte1 And 2 ^ 3)
K6 = Sgn(byte1 And 2 ^ 2)
K7 = Sgn(byte1 And 2 ^ 1)
K8 = Sgn(byte1 And 2 ^ 0)

K9 = Sgn(byte2 And 2 ^ 7)
K10 = Sgn(byte2 And 2 ^ 6)
K11 = Sgn(byte2 And 2 ^ 5)
K12 = Sgn(byte2 And 2 ^ 4)
K13 = Sgn(byte2 And 2 ^ 3)
K14 = Sgn(byte2 And 2 ^ 2)
K15 = Sgn(byte2 And 2 ^ 1)
K16 = Sgn(byte2 And 2 ^ 0)
End Sub

Private Sub Timer_Timer()
'jede Sekunde einen Befehl senden:
S88.Output = Chr(128 + 1) '1.Modul abfragen
End Sub

Das war es, jetzt fehlt nur noch die Grafik.
Bis bald
Bernie-Bärchen

Michael Klein

Beitrag von Michael Klein » Montag 7. April 2003, 07:17

Na super, das klingt doch gut !!!

Viel Spaß weiterhin !!!
Grafik wird bestimmt schwerer, zumindest war es bei mir so, hab wesentlich mehr Zeit damit verbracht die Grafik entsprechend hinzubekommen.

Gruß
Michael

Gast

Beitrag von Gast » Montag 7. April 2003, 11:37

@ Michael:
Du weißt ja, gut Ding will Weile haben.

:roll: Wenn ich grafisch irgendwas Vernünftiges hinbekommen habe, werde ich es hier posten. :roll:

Bis bald
Bernie-Bärchen

Stefan M
Forumane
Beiträge: 300
Registriert: Sonntag 30. März 2003, 14:07
Wohnort: Bayern

Beitrag von Stefan M » Montag 7. April 2003, 13:24

hallo! me als alle-programmiersprachen-beherrschendes-genie kann natürlich immer versuchen konkrete fragen zu beantworten, falls welche stehen. natürlich kenne ich mich auch bissel mit VB(6) aus, ansonsten habe ich den draht zu spitzenprogramierern.

was bringt das interface? habe den code nicht durchgelesen. stefan

HenniNg

Beitrag von HenniNg » Montag 7. April 2003, 16:31

Hallo Bernie,

der Code sieht schon ok aus. Du solltest aber die einzelnene Bitmuster als Konstanten ablegen, das wird dann schneller verarbeitet. So muss der Prozessor jedesmal ausrechnen, was denn bei 2^7 eigentlich rauskommt. Besser ist Folgendes im Deklarationsteil der Form oder des Moduls:

Private Const BIT0 = 1
Private Const BIT1 = 2
Private Const BIT2 = 4
Private Const BIT3 = 8
Private Const BIT4 = 16
Private Const BIT5 = 32
Private Const BIT6 = 64
Private Const BIT7 = 128

und dann wie folgt benutzen:

K1 = Sgn(byte1 And BIT7)

Gast

Beitrag von Gast » Dienstag 8. April 2003, 09:23

HenniNg hat geschrieben:Hallo Bernie,

der Code sieht schon ok aus. Du solltest aber die einzelnene Bitmuster als Konstanten ablegen, das wird dann schneller verarbeitet. So muss der Prozessor jedesmal ausrechnen, was denn bei 2^7 eigentlich rauskommt. Besser ist Folgendes im Deklarationsteil der Form oder des Moduls:

Private Const BIT0 = 1
Private Const BIT1 = 2
Private Const BIT2 = 4
Private Const BIT3 = 8
Private Const BIT4 = 16
Private Const BIT5 = 32
Private Const BIT6 = 64
Private Const BIT7 = 128

und dann wie folgt benutzen:

K1 = Sgn(byte1 And BIT7)
Hallo HenniNg,
vielen Dank für Deinen Vorschlag. Ich werde ihn bei nächster Gelegenheit versuchen umzusetzen und mich wieder melden.

Gruß
Bernie-Bärchen

Gast

Beitrag von Gast » Dienstag 8. April 2003, 09:27

Stefan M hat geschrieben:hallo! me als alle-programmiersprachen-beherrschendes-genie kann natürlich immer versuchen konkrete fragen zu beantworten, falls welche stehen. natürlich kenne ich mich auch bissel mit VB(6) aus, ansonsten habe ich den draht zu spitzenprogramierern.

was bringt das interface? habe den code nicht durchgelesen. stefan
Hallo Stefan,
über das Interface kann ich die Kontakte der Rückmeldedecoder s88 auslesen.

Gruß
Bernie-Bärchen

Frank S.

Frage

Beitrag von Frank S. » Dienstag 8. April 2003, 09:34

Hallo.

Was soll eigentlich mit diesem Programm gemacht werden. was für ein Interface wird verwendet?

MFG
Frank S.

www. eisenbahnfreunde-ostfriesland.de

www.museumseisenbahn.de

Gast

Re: Frage

Beitrag von Gast » Dienstag 8. April 2003, 09:53

Frank S. hat geschrieben:Hallo.

Was soll eigentlich mit diesem Programm gemacht werden. was für ein Interface wird verwendet?

MFG
Frank S.
Hallo Frank,

das Programm wird meinen Schattenbf. steuern und zeigt mir die Belegung der verdeckten Gleise an.
Verwendet wird das Interface von MÄRKLIN.

Gruß
Bernie-Bärchen

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

Beitrag von Felix (der erste) » Dienstag 8. April 2003, 14:15

Mal eine gennerelle Frage, aber ich galube, das das einer von euch hier beantworten kann:
Stehen beim Interface die benötigten Befehle drin, oder muss man die sich erarbeiten? :?:
Weil ich mir in den nächsten Tagen eins kaufen will, wollte ich das mal wissen.
Oder gibt es vielleicht eine Internet Seite, wo die alle inklusive Bedeutung aufgeführt sind (ein Programiersprache reicht mir, kann den rest herleiten 8) )?

Wäre super nett, wenn mir jemand helfen könnte.

Gast

Beitrag von Gast » Dienstag 8. April 2003, 20:09

Hallo Felix,
die Kommunikation mit dem PC wird ab Seite 4 beschrieben. Dort steht auch wie das Verbindungskabel hergestellt wird.

Solltest Du noch Fragen haben kannst Du Dich gerne bei mir melden.

Gruß
Bernie-Bärchen

TheHunter

Wie kann man auf Ereignisse reagieren?

Beitrag von TheHunter » Mittwoch 23. April 2003, 19:24

Hallo zusammen

mich würde interessieren, ob es eine Möglichkeit gibt, Aktionen des "Lokführers" an der Hardware der Anlage, also z.B. an der ControlUnit, abzufangen und darauf mit dem Computer zu reagieren.

Wenn also z.B. im Notfall auf STOP gedrückt wird, sollte der Computer das ja mitkriegen und z.B. erst wieder Weichen stellen wenn wieder auf GO gedrückt wurde. Hat das jemand in seinem Programm implementiert und wenn ja wie? Über das Auslesen der Kontakte am S88 geht's offensichtlich nicht, da dieses auch Rückmeldung liefert, wenn auf STOP gedrückt wurde. Aber vielleicht liefert das Interface ja irgend ein Event. Professionelle Programme registrieren das ja auch...

Gibt es ausserdem 'ne Möglichkeit, auf Stellung der Weichen über das Keyboard oder Geschwindigkeitsänderungen über das Fahrpult mit dem Computer zu reagieren?

Ciao
Martin

Michael Klein

Beitrag von Michael Klein » Donnerstag 24. April 2003, 09:55

Hallo,

die Frage würde mich auch interessieren, da ich auch regelmäßig das Problem habe, dass mein Programm "hängen" bleibt, wenn ein NOTFALL eintritt. Habe noch keine Lösung trotz mehrerer Ansätze.

Zum anderen Problem:
Ich denke, das wird schwierig mit Märklin Boardmitteln, bei der Intellibox scheint es eine Möglichkeit zu geben, da diese die Informationen immer vorhält und sie sozusagen zum auslesen vorrätig hält.
Allerdings bin ich auch hier noch nicht dahinter gekommen, wie das funktionieren soll.

Gruß
Michael

Gast

Beitrag von Gast » Donnerstag 24. April 2003, 12:17

Stefan M hat geschrieben:hallo! me als alle-programmiersprachen-beherrschendes-genie kann natürlich immer versuchen konkrete fragen zu beantworten, falls welche stehen.
Ich habe unserem "Genie" vor einigen Tagen eine e-mail zukommen lassen und ihn sozusagen "mit der Nase" auf diese Beiträge gestoßen.

Und? Nichts. Schweigen im Walde.
Unser "Genie" meldet sich nicht.
Hat sich vielleicht "Stefan M" ein bisserl zu weit aus dem Fenster gelehnt?
Dass er diese Beiträge nicht gelesen hat, kann er nicht behaupten.
Schließlich postet er ja fröhlich weiter hier im Forum herum.

*Frustmodus = true*
Im Volksmund nennt man so jemanden ein "Großmaul".
*Frustmodus = false*

"Stefan M", wie wäre es mit einer ehrlichen Antwort?

Bernie-Bärchen
Zuletzt geändert von Gast am Donnerstag 1. Mai 2003, 21:34, insgesamt 1-mal geändert.

TheHunter

Also eine Möglichkeit gibt's ja...

Beitrag von TheHunter » Donnerstag 24. April 2003, 13:11

Es gibt 'ne Möglichkeit, abzufragen, ob die Anlage "online" ist. Man kann anscheinend an das Rückmeldemodul auch den roten Ausgang des ControlUnits, also den Mittelleiter der Schiene anschliesen und so auslesen, ob die Anlage auf "Go" ist. Im Gegensatz zur Masse wird der Mittelleiter ja bei einem Nothalt abgestellt => Kontakt ist nicht mehr besetzt. Ob das mit dem Mittelleiter auf die Dauer schädlich für das Rückmeldemodul ist, weiss ich nicht. Is natürlich nicht gerade die Top-Lösung aber immerhin. Bin mal gespannt, ob die Software-Experten da mehr wissen :wink:

Ciao
Martin

Gast

Beitrag von Gast » Donnerstag 24. April 2003, 20:09

Hallo Martin,

sei bitte vorsichtig mit der Ausgangsspannung am Control-Unit.
Sie könnte auf Dauer Dein S88 "abschiessen"!
Bernie-Bärchen

Gast

Beitrag von Gast » Donnerstag 24. April 2003, 20:36

sei bitte vorsichtig mit der Ausgangsspannung am Control-Unit.
Sie könnte auf Dauer Dein S88 "abschiessen"!
Also ich hab vorhin mal im Handbuch "Modelleisenbahn digital gesteuert" von Märklin geblättert, und da steht, dass man auch den Mittelleiter an das Rückmeldemodul anschliessen kann. Es wird anscheinend immer nur der negative Teil des Digitalstroms ausgewertet. Zitat: "Das Mittelleiterpotential kann deshalb als Dauerkontakt zur Rückmeldung von Signalstellungen ausgewertet werden." Wenn also mein Rückmeldemodul draufgeht, weiss ich wo ich mich beschweren muss :wink:
Aber ich suche ja noch immer einen anderen Weg, wie man den Status der Anlage abfragen kann. Muss ja irgendwie gehen... Leider sagt da das Digitalbuch nix dazu :cry:

Ciao
Martin

ofronk
Forumane
Beiträge: 309
Registriert: Donnerstag 2. Januar 2003, 16:19
Wohnort: Langenfeld

Beitrag von ofronk » Donnerstag 24. April 2003, 22:06

Was ist eigentlich aus dem "richtigen Draht" geworden?
Schweigt er oder hat er eine Lösung präsentieren können?
@stephan :?: :?: :?: :?: :?: :?:
Oliver...
GK h. c. , temp. MdDC + se HG, MdMFM 1/2

Michael Klein

Beitrag von Michael Klein » Freitag 25. April 2003, 07:11

Guten Frage, ich würde dem Genie auf gerne mal lauschen. :lol:

Gast

Beitrag von Gast » Samstag 3. Mai 2003, 22:32

Das "Genie" schweigt, und schweigt, und schweigt.......

Bernie-Bärchen

Geschafft: Ab jetzt habe ich den Status "Stammgast".

:roll: @Admin (freilaufend): Irgendwie ist mein vorhergehender Beitrag nicht richtig einsortiert worden. Verfaßt angeblich am 24.04. geändert am 01.05. Dieser Beitrag wurde aber erst am 01.05. geschrieben.
:?: Wie kann das bitte geschehen?
:D Bernd

Antworten