Vorstellung meiner Rundenzähler Software

  • Hallo liebes Forum,


    ich möchte Euch heute gerne meine Rundenzähler und Zeitmessungssoftware vorstellenen. Mangels besserem Namen heißt die Software einfach "Rundenzähler".
    Es handelt sich dabei um ein kleines Hobby Projekt von mir, welches meinen Beruf als Softwareentwickler mit meinem Hobby, dem Slotracing verbindet. Natürlich kann mein Rundenzähler nicht mit den Profi Lösungen mithalten welche am Markt erhältlich sind. Aber das war auch nie das Ziel. Trotzdem könnte mein Rundenzähler ja für den einen oder anderen von Interesse sein. Deswegen möchte ich Euch hier kurz Beschreiben welche Features enthalten sind.
    Eine der wichtigsten Informationen gleich vorneweg: Da ich nur Analog unterwegs bin (meine Favoriten sind die klassischen Carrera 124er mit Hartplastik Karosserie) ist meine Software nicht für Digitalfahrer geeignet. An dieser Stelle sei kurz erwähnt, daß ich durchaus Interesse daran hätte eine Anbindung an die Carrera Control Unit umzusetzen. Aber mangels Digital-Ausrüstung kann ich das leider nicht in die Tat umsetzen. Falls also jemand eine komplette Digital-Ausrüstung als unbefristete Leihgabe zur Verfügung stehen möchte ... ;)


    Aber nun zurück zur Beschreibung: Die Anbindung an die Bahn erfolgt entweder über den Parallel Port des PC oder über einen IO-Warrior am USB. Für den Parallel Port nutze ich die tolle Schaltung für die Lichtschranke im Slot von www.carrera4fun.de . Übrigens ist der Parallel Port nicht so tot wie jetzt vielleicht viele denken. Durch eine günstige PCIe Steckkarte konnte ich auch meinen Windows 7 64Bit Rechner erfolgreich mit der Schaltung am Parallel Port als Rundenzähler einsetzen.
    Bevor ich allerdings auf diese eigentlich naheliegende Idee kam, hab ich mich nach zukunftsfähigen Lösungen zur Zeitmessung über den USB-Anschluß umgeschaut. Dabei bin ich auf den IO-Warrior von http://www.codemercs.com gestoßen, einen Baustein für Digitale Ein- und Ausgaben über den USB-Port. Bei der weiteren Recherche habe ich dann rausgefunden, daß genau dieser in der Hardware von Light & Time steckt. Also hab ich mir diese als Bausatz besorgt und bin begeistert. Bei Light & Time gibt es natürlich auch eine passende Software. Aber wie gesagt, handelt es sich bei meinem Rundenzähler ja um ein privates Hobby Projekt und da ging es mir um den Spaß am selber machen.
    Nach meinen Informationen müsste meine Software auch mit Schaltungen am Gameport und am seriellen Anschluß des PC funktionieren. Bei letzterem aber nur mit Schaltungen die direkt die Pins des Anschluß für Digitale Ein- und Ausgabe verwenden. Ein serielles Kommunikationsprotokoll ist keines implementiert.


    In der Software kann man beliebig viele verschiedene Rennstrecken mit 1 bis 8 Spuren anlegen. Der Gedanke war, daß jemand der - wie ich - als Teppich-/Parkettrutscher unterwegs ist, vielleicht mehrere Lieblingslayouts für verschiedene Anlässe hat. Die Bahnen werden in einer Datenbank gespeichert und es kann mit wenigen klicks zwischen den Bahnen umgeschalten werden.
    Neben der Bahn kann man auch die Fahrzeuge und die Fahrer in einer Datenbank anlegen.
    Hat man erstmal alles konfiguriert, kann es losgehen - für diejenigen welche die Software einfach aus Interesse mal testen möchten geht das mittels einem Simulationsmodus auch ohne Bahn.
    Pro Spur sieht man die Rundenanzahl, die Rundenzeit, die schnellste Rundenzeit, die durchschnittliche Rundenzeit sowie die Durchschnittsgeschwindigkeit (entweder in m/s oder als maßstabsgerechte km/h oder mph).
    Starten kann man ein Rennen entweder zeitgesteuert mit einer Startampel (auf dem Bildschirm und -falls vorhanden - über die Ansteuerung einer externen Startampel) oder als fliegender Start. Als Ende kann man ein Zeitlimit oder ein Rundenlimit setzen.
    Daneben kann man dann auch noch konfigurieren wen die Software zum Sieger erklären soll. Da gibt es verschiedene Möglichkeiten wie z.B. die schnellste Runde auszuwerten, die meisten gefahrenen Runden, aber auch Gleichmäßigkeitsregeln wie geringste Abweichungen zu einer vorgegebenen Zielzeit oder gleichmäßigste Rundenzeiten.


    Rennen können über einen Chaostaster pausiert werden. Für die Chaosphase kann auch ein Ausgang angesteuert werden um z.B. eine Rundumleuchte in Betrieb zu setzen.
    Wer viel alleine auf der Bahn unterwegs ist, findet Möglicherweise die Sprachausgabe für Rundenanzahl und Rundenzeit nützlich. Standardmäßig bekommt Ihr da mein Genuschel zu hören, aber durch ersetzen der .wav Dateien mit eigenen Aufnahmen von den jeweils persönlichen Lieblingsansagern, kann man dieses Ärgernis auch beseitigen.
    Und wer gerne Statistiken führt, mag vielleicht die Möglichkeit die Renninformationen nach dem Ende eines Rennens als CSV-Datei abzuspeichern und so ggf. in einem Tabellenkalkulationsprogramm auswerten zu können.


    Durch Erwähnung meiner Software in einem anderen Thread in dem es um Regeln für Gleichmäßigkeitsrennen ging, habe ich bereits sehr wertvolles Feedback erhalten und daraufhin auch schon ein paar Verbesserungen an meiner Rundenzählersoftware vorgenommen. Mit diesem Thread hoffe ich natürlich auf weiteres Feedback und auf Anregungen für Funktionserweiterungen.


    Ach ja, wer meine Rundenzählersoftware ausprobieren will, kann diese auf http://www.janschlueter.de herunterladen. Einfach ZIP-File entpacken und starten. Für den Zugriff auf den Parallel Port muß ein mitgelieferter Treiber installiert werden. Dazu ist einmalig ein ausführen als Administrator notwendig. Danach läuft die Software mit User-Rechten. Zum ausprobieren mittels des eingebauten Simulator Modus ist die Treiberinstallation nicht erforderlich.


    Viele Grüße,
    Jan

  • ebay Werbung
  • Würde das auch für eine Rallyebahn funktionieren, also 1 Slot und Zeitnessung pro Runde bzw wen möglich Zwischenzeit. Anschließend Ergebnisse (bei mehreren Starteren)?
    Was braucht man dazu noch an sonstiger Elektrik (Lichtschranke?)?

  • Hallo Ullybaer,


    Ja und nein: eine einspurige Bahn wäre kein Problem. Zeitmessung pro Runde wäre auch kein Problem.
    Zwischenzeiten gehen aber nicht. Mehrere Starter sind im Moment nur durch separate Einzelrennen möglich.
    Die Elektrik kann ganz unterschiedlich sein. Für Magnetfahrer reichen ein Reedschalter pro Spur und ein Kabel an den Parallel Port (der Schalter erzeugt bei Überfahrt eine Verbindung zwischen einem Signaleingang am Port und Ground). Wenn Du eine Lichtschranke nutzen möchtest, brauchst Du eine entsprechende Schaltung welche letztlich bei ausgelöstem Impuls die Verbindung zwischen dem Signaleingang und Ground am Port herstellt. Ich habe dafür die Schaltung von http://www.carrera4fun.de im Einsatz.


    Gruß,
    Jan

  • Danke - dann muß ich wohl weitersuchen ..... Die "Hardware"-seite mit dem Lichtschranken (bzw 3 einmal für Start einmal für die Zwischenzeit und einmal fürs Ziel) sind ja kein Problem es klemmt einfach bei einem funktionierendem Programm für die Auswertung.

  • Hallo Jan,
    das hört sich interessant an. Wie ich gelesen habe, verwendest du ja auch schon meine Zeitmessungs-Hardware (http://www.Carrera4Fun.de).
    Bin auf der Suche nach einer einfachen Alternative zu Slotman v6.08 (der wird ja seit einiger Zeit nicht mehr weiterentwickelt und nun wohl auch nicht mehr ohne Umwege zum Download angeboten).
    Ich möchte meine Zietmessungshardware/Software-Rubrik auf meiner Webseite schon seit einiger Zeit überarbeiten/ aktualisieren und würde gerne deine Software dann auch aufführen und darauf verlinken.
    Scheinbar bietet deine Software ausreichende Funketionen für den schnellen und unkomplizierten Einsatz in Kombination mit meiner Hardware. Der Streckenplaner bei Slotman ist m.E: nicht für deine Software
    erforderlich, mich würde aber interessieren ob du in absehbarer Zeit auch die UNterstützung einer Startampelfunktion via Parallelport-Output (so wie bei Slotman) zur ansteuerung einer externen Startampelhardware
    (die habe ich ja auch in mehreren Anleitungen/Varianten auf meiner hOmepage) angedacht hast - das wäre dann für mich (und meine Webseite) dann ein Grund deine Software als praktische "Musterlösung"
    meinen Besuchern zu empfehlen.
    Grüße Frank
    http://www.Carrera4Fun.de

  • Hallo Frank,


    es freut mich, daß meine Rundenzähler Software für Dich in Betracht kommt. Vor allem, da ich ja Deine Schaltung nutze. Daher kann ich auch bestätigen, daß das schnell und unkompliziert möglich ist. :D
    Die aktuelle Version unterstützt auch bereits eine externe Startampel, sofern diese über den Datenport des Parallel Port angeschlossen wird. Die Konfiguration erfolgt über den Konfigurationsdialog für die Rennstrecken.
    Allerdings muß ich gestehen, daß ich das noch nie in der Praxis ausprobiert habe, zumindest nicht mit mehr als einer LED. Ich hab zwar schon lange die Teile hier rumliegen um Deine externe Startampel nachzubauen, aber es liegt einfach so vieles hier rum und es ist so wenig Zeit zum bauen da.


    Falls Du also Interesse hast meine Software mal mit einer externen Startampel auszuprobieren, wäre ich für eine kurze Rückmeldung über Erfolg bzw. gefundene Probleme sehr dankbar. Die notwendige Schaltung hast Du ja bestimmt. ;)
    Ich würde mich sehr freuen, wenn meine Software für Dich passen würde. Bin ein großer Fan Deiner Webseite, bzw. Deiner Bau- und Bastelanleitungen.

    Viele Grüße,
    Jan

  • ebay Werbung
  • @Jan: freut mich das du bereits an einer Startampelunterstützung dran bist. Parallelport ist für meine Startampelansteuerung ja auch genau richtig.
    Muß mal sehen ob ich einen Testaufbau bald mal hinbekomme und dann gleich auch deine Software mal "durchteste". Werde mich dann sofort melden wenn ich die Zeit gefunden habe.
    (habe nur einfach zu viel geichzeitig neben Familie, Beruf und Job - da dauert das meistens immer etwas bei mir - wer kennt das nicht)
    Hardware (die von meiner Homepage) ist wie du schon fetsgestellt hast vorhanden.
    Bis bald
    Frank.
    http://www.Carrera4Fun.de

  • Hallo.


    Gibt's es was neues zu dem Thema ?

    Gruß Andy



    Ich bin nur für das verantwortlich, was ich sage - nicht für das, was Du verstehst!

  • Hallo Andy,


    von mir gibt es leider nix neues. Weder hab ich irgendwas an der Software weiter gemacht, noch hab ich die Startampel gebaut und ausprobiert. Ich bin noch immer der Ansicht, daß die Startampel von Frank problemlos mit meiner Software funktioniert, aber ich hab es eben noch immer nicht ausprobiert.
    Schon erstaunlich wie schnell so ein Jahr vorbei ist ohne daß man auch nur ein paar Stunden Zeit und Muse für sowas findet.


    Vielleicht ist Frank ja mal dazu gekommen das mit seiner Ampel auszuprobieren. Ich bin natürlich auch weiterhin dran interessiert zu wissen ob das funzt.


    Viele Grüße und danke für Dein Interesse,
    Jan

  • Hallo Jan.
    Danke für die Info.
    Bekomme in absehbarer Zeit ein PC mit Parallel Port geschenkt.
    Da ich noch kein Rundenzähler Software für Analog habe, werde ich dann deine Software testen.
    Bei Fragen komme ich auf dich zurück :D

    Gruß Andy



    Ich bin nur für das verantwortlich, was ich sage - nicht für das, was Du verstehst!

    Einmal editiert, zuletzt von Slotschleicher ()

  • Hallo Jan,


    das Projekt klingt interessant - hab es leider erst gerade entdeckt.
    Das Gleichmäßigkeitsrennen ist ein interessantes Feature.


    Wie genau ist denn die Messung am Windows-PC über parallele Schnittstelle?


    Dunkel erinnere ich mich, dass Windows nicht immer gleichmäßig an den Eingängen nachschaut. Daher kann da eine Info schon mal etwas länger als eine andere Info auf Wahrnehmung warten, bevor sie erkannt wird.
    Dies war - glaube ich - der Grund, warum Slotman nach 6.08 auf Race-Control umgestiegen ist mit einem eigenen externen Zeitstempel.
    Wie hast Du das gelöst?


    Gruß
    Fluff


    P.S. Wenn mich meine grauen Zellen grad ganz arg im Stich gelassen haben und ich kompletten Unsinn geschrieben hab - bitte gnädig mit mir sein :)

  • ebay Werbung
  • Andy: bin gespannt auf Dein Feedback. Bitte nicht nur bei Fragen melden sondern auch bei Kritik.


    Fluff: na ja, Windows ist kein Echtzeitsystem und eine gewisse Ungenauigkeit wird man wohl hinnehmen müssen. Allerdings dürfte sich diese im tausendstel Sekunden Bereich bewegen. Große Ungenauigkeiten gab es früher bei Windows 9x. Seit Windows 2000 kann man das Betriebssystem auch für nen Rundenzähler sinnvoll nutzen :) .
    Ich nutze den Parellelport Treiber inpout32 um direkt auf die Portregister zugreifen zu können. Das passiert in einem eigenen Thread der nichts anderes tut als den Port zu pollen. Bei mir kann ich mit einem alten Laptop mit Pentium2 266MHz CPU damit zuverlässig die Zeiten erfassen. Allerdings ist meine Lichtschranke auch an der langsamsten Stelle der Bahn platziert. Für Messungen an schnelleren Stellen ist eine stärkere CPU nötig, ansonsten kann es mal passieren, daß eine Durchfahrt nicht registriert wird (ich messe mit einer Gabellichtschranke im Slot, der Impuls wird also nur durch dne kurzen Leitkiel erzeugt). Mit nem halbwegs potenten Rechner mit ner Taktung im GHz Bereich dürfte das aber absolut kein Thema sein. Natürlich läuft auf dem Rechner bei mir ausser dem Rundenzähler absolut garnichts anderes.


    Gruß,
    Jan

  • Hi,


    Ich habe mir meinen Rundenzähler auch selbst gebaut. Ist eine .NET Anwendung. Das Interface ist jedoch sehr einfach bei mir. Ich polle die Modem-Status-Bits (Relikt aus früher Zeit) an einem frei wählbaren Com-Port (0V / 5V) - also ohne jedwedes Protokoll. D.h. der ganze pack und unpack-Kram entfällt. Speisen tue ich die Pins an der Schnittstelle mit einem alten Handy-Ladegerät, einem LDR-Sensor und einen Transsistor je Spur. Wenn ein Auto über den Sesnsor fährt bricht der Pegel am Bit ein und die Software merkts. Je Spur ein eigener Thread und für das Gepiepse ncoh einen dritten Thread. Läuft Super.


    [Blockierte Grafik: http://www.plantation-productions.com/Webster/www.artofasm.com/DOS/ch22/CH22A5.gif]




    <DllImport("kernel32.dll", SetLastError:=True)> Public Shared Function GetCommModemStatus( _
    ByVal hFile As Integer, ByRef lpModemStatus As Integer) As Boolean
    End Function


    <Flags()> _
    Public Enum ModemStatusBits
    ClearToSendOn = &H10
    DataSetReadyOn = &H20
    RingIndicatorOn = &H40
    CarrierDetect = &H80
    End Enum


    Public ReadOnly Property ModemStatus() As ModemStatusBits
    Get
    If m_CommHandle = -1 Then
    Throw New ApplicationException("Com-Port konnte nicht geöffnet werden.")
    End If


    ' Retrieve modem status
    Dim lpModemStatus As Integer
    If Not GetCommModemStatus(m_CommHandle, lpModemStatus) Then
    Throw New Exception("Fehler beim Auslesen des Modemstatus")
    End If
    Return CType(lpModemStatus, ModemStatusBits)
    End Get
    End Property


    '------------------
    '-- DCD (Spur 1) --
    '------------------
    If (ModemStatus And ModemStatusBits.CarrierDetect) = ModemStatusBits.CarrierDetect Then
    txtDCD.BackColor = Color.Lime
    If SensorSetSpur1 Then SensorSetSpur1 = False
    Else
    If Not SensorSetSpur1 Then SensorSetSpur1 = True
    txtDCD.BackColor = Color.OrangeRed
    End If


    ''' <summary>
    ''' Sensor Property für Spur 1
    ''' </summary>
    ''' <remarks></remarks>
    Private m_SensorSetSpur1 As Boolean
    Public Property SensorSetSpur1() As Boolean
    Get
    Return m_SensorSetSpur1
    End Get
    Set(ByVal pValue As Boolean)
    If pValue AndAlso Not m_SensorSetSpur1 Then
    m_SensorSetSpur1 = True
    handleSpur(1)
    End If
    m_SensorSetSpur1 = pValue
    End Set
    End Property



    Grüße
    Kai

    Die Anzahl der montierten Leitkiele muss ungrade sein und darf den Zählwert 1 nicht überschreiten

    Einmal editiert, zuletzt von Tormentor ()

  • Moin,


    ich habe die Software jetzt auch mal erfolgreich getestet :thumbup: !!!
    Wird es noch einen Modus für Clubrennen und Meisterschaften geben ??


    Grüße
    Akademus

  • Hallo Akademus,


    freut mich sehr, daß Dein Test erfolgreich war. Leider glaube ich nicht, daß es in absehbarer Zeit einen Modus für Meisterschaften geben wird. Ich hab da schon öfters drüber nachgedacht, aber für mich lohnt sich das einfach nicht. Es gibt einfach schon zu viele wirklich gute Programme dafür und die meisten die Interesse an einem Meisterschaftsmodus haben, haben wohl eine dieser ausgereiften und professionellen Programme im Einsatz. Da kann ich mit meiner knapp bemessenen Entwicklungszeit (letztes Update ist ca. 1 Jahr her - neben Beruf und Familie bleibt kaum Zeit für's Software schreiben) einfach nicht mithalten.
    Meine Software bietet aber die Möglichkeit ein Einzelrennen in eine CSV Datei zu speichern. Damit kann man dann in Excel für kleine Turniere schon die eine oder andere Auswertung machen.
    Aber man soll ja auch niemals nie sagen. Wie sollte ein solcher Modus denn Deiner Ansicht nach gestaltet sein?


    Gruß und danke für's ausprobieren,
    Jan

  • ebay Werbung
  • Hallo,


    eine ganz normale Meisterschaft halt.
    Man müßte vorgeben können, wieviele Läufe es gibt, welche Fahrer starten und dann natürlich Punktevergabe mit Tabelle !!
    Mach dir aber keinen Stress deswegen, ich habe auch noch andere Software im Einsatz.


    Grüße
    Akademus

  • Fluff: na ja, Windows ist kein Echtzeitsystem und eine gewisse Ungenauigkeit wird man wohl hinnehmen müssen. Allerdings dürfte sich diese im tausendstel Sekunden Bereich bewegen. Große Ungenauigkeiten gab es früher bei Windows 9x. Seit Windows 2000 kann man das Betriebssystem auch für nen Rundenzähler sinnvoll nutzen :) .


    Ich nutze den Parellelport Treiber inpout32 um direkt auf die Portregister zugreifen zu können. Das passiert in einem eigenen Thread der nichts anderes tut als den Port zu pollen. Bei mir kann ich mit einem alten Laptop mit Pentium2 266MHz CPU damit zuverlässig die Zeiten erfassen. Allerdings ist meine Lichtschranke auch an der langsamsten Stelle der Bahn platziert. Für Messungen an schnelleren Stellen ist eine stärkere CPU nötig, ansonsten kann es mal passieren, daß eine Durchfahrt nicht registriert wird (ich messe mit einer Gabellichtschranke im Slot, der Impuls wird also nur durch dne kurzen Leitkiel erzeugt). Mit nem halbwegs potenten Rechner mit ner Taktung im GHz Bereich dürfte das aber absolut kein Thema sein. Natürlich läuft auf dem Rechner bei mir ausser dem Rundenzähler absolut garnichts anderes.


    Gruß,
    Jan

    Danke Jan, wieder was dazu gelernt.

  • ich nutze den Rundenzähler jetzt seit gut einem Jahr problemlos fast nur im GLP-Modus. Besonders schön finde ich die einblendbare sortierbare Rundenliste. Hut ab, ich hätte die Software selber nicht besser hinbekommen, ich weiss wieviel Zeit dafür drauf geht, die ich nie in meiner Freizeit investieren würde. Jan hat vor allem sauber getestet, noch keine Fehler gefunden! Für Heimfahrer ideal, kein unnötiger Schnickschnack. Gut ist auch , dass man die Fahrzeugdaten mittels SQL in die Datenbank schreiben kann, ca. 80 Autos über den Dialog hätte ich nie eingegeben, zu viel Arbeit.

    Abarth Historic Driver

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!