Alte Hardware Ampel mit neuem VB2010 ansteuern

  • VB.NET

Es gibt 59 Antworten in diesem Thema. Der letzte Beitrag () ist von Kay Petri.

    Alte Hardware Ampel mit neuem VB2010 ansteuern

    Hallo Ihr,

    Ich habe eine Hardwareseitige Ampel die vor ca. 16 Jahren schon an einem Rechner angeschlossen war. gesteuert wurde diese über ein Programm auf einer Diskette, welche natürlich mittlerweile in die ewigen Jagdgründe gegangen ist.
    Info zum Hintergrund. Ich bin in einem Verein für Bogenschießen. Wenn wir in der Halle unsere Wettkämpfe schießen, dann wird die vorgegebene Schießzeit mit Rot/Gelb/Grün über einen 2. Monitor am Laptop angezeigt. Das VB Programm dazu habe ich bereits fertig und funktioniert. Jetzt kam die Idee dass wir für unsere Wettkämpfe im Freien unsere alte Ampel wieder verwenden. Da der dazugehörige Rechner nicht mehr geht (Uralt) stehe ich nat. nun vor einer recht großen Herausforderung. Die Ampel war am alten Rechner mit einer 25 Pol RSD232 Schnittstelle angeschlossen.

    Wie habe ich denn nun über VB die Möglichkeit die Schnittstelle wieder zu nutzen? nat. hat das Laptop keine 25Pol RSD232 Schnittstelle. Es gibt zwar usb adapter, aber wie bringe ich das in einen Code der die Ampel z.B. auf ROT schaltet.

    Hat da jemand Infos wie am besten vorzugehen ist?

    Gruß Kay
    Nimm eine normale RS232-Standard-Schnittstelle und einen handelsüblichen oder selbstgebauten Steckeradapter.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    An der Hardware Ampel ist allerdings der 25Pol RS232 dran. Ich müsste das dann kappen um auf 9 Pole zu kommen. Ich weis dann eben nicht wie die Kabel in der Ampel selber verknüpft sind, ob die dann noch mit den 9Pol RS232 geht?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Kay Petri“ ()

    Kay Petri schrieb:

    ob die dann noch mit den 9Pol RS232 geht?

    RS232 ist RS232. Kaufe einen USB-Seriell Wandler (üblicherweise 9 pol) und einen Adapter 25-9. Kostet bei Tante R aus S vermutlich zusammen keine 10 Euro.
    Dann kannst du deine Ampel über Ports.Serialport ansteuern.
    Welche "Befehle" dein Ampel braucht kann dir hier natürlich niemand sagen
    @Roadfrom: Falsch verstanden. Du meinst ich soll nenn Adapter gleich auf die am Laptop vorhandene RS232 9Pol machen. Das geht nat. auch.

    Ich frage mich nur ob es bei der Ampel nicht von bedeutung ist dass Sie eben 25Pole hat. An dem alten Rechner war ja auch ein 9Pol RS232 mit dran wenn ich mich recht erinnere.
    Ich habe ja 3 Phasen zum schlaten. Ro / Gelb / Grün.
    Mit 9Pol kann ich ja wenn ich richtig gelesen habe nur 2 Lampen ein und aus schalten. Würde das Problem mit 25Pol nicht bestehen?

    Kay Petri schrieb:

    Mit 9Pol kann ich ja wenn ich richtig gelesen habe nur 2 Lampen ein und aus schalten

    Hä?

    WENN RS232 dann sind die Signale auf 9pol und 25pol gleich. Weiß der Geier, warum vor 10 Mio Jahren mal jemand 25 pol brauchte ...

    Gelesen? Wo?
    WENN dem so wäre, hättest du zwar 25pol, aber eher NICHT RS232 ... ! Über die serielle Schnittstelle sendet man DATEN, die werden dann irgendwo interpretiert. Mit den Leitung selbst (außer handshake etc) steuert man üblicherweise nix.

    Kay Petri schrieb:

    Ich frage mich nur ob es bei der Ampel nicht von bedeutung ist dass Sie eben 25Pole hat.

    Das RS232-Protokoll allein ist wichtig, nicht die Anzahl der Pins beim Stecker.
    Von den 25 Pins des Steckers sind maximal 9 beschaltet, die sind bei den neuen RS232-Kabeln / Steckern alle vorhanden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Naklar. Das kann ich heute Abend Fotos machen.

    Hier die Info die ich zum 9Pol RS232 habe. Allerdings geht es in diesem Thread mehr um die hardwarebastelei. ich habe die Hardware ja schon fertig da.

    Manawyrm schrieb:

    Also, du hast an einer RS232 Seriellen Schnittstelle 3 Ausgänge,
    DTR (4) und RTS (7), und theoretisch auch TxD (3)

    DTR und RTS kann man ohne Probleme ganz einfach ansteuern, bei TxD wird es schwerer, TxD ist die Datenleitung, d.h. Wenn die Lampe leuchten soll musst du Daten senden, bzw. irgendetwas. Das lässt sich VB seitig mit einem Backgroundworker, einer while schleife und nem delegate oder Controlforilligalcrossthreads machen. TxD kann man eigendlich sogar dimmen.... Ist aber nen bisschen tricky^^


    Ich denek ein paar Fotos der Anlage helfen sicher mehr weiter. Ich stelle die heute Abend mal ein.

    Kay Petri schrieb:

    Allerdings geht es in diesem Thread mehr um die hardwarebastelei.

    Nein. Du sollst Dich mal über einen Stecker-Adapter informieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    picoflop schrieb:

    Weiß der Geier, warum vor 10 Mio Jahren mal jemand 25 pol brauchte
    Serielle Schnittstellen wurden häufig für synchrone Übertragungsprotokolle genutzt.
    Schau dir mal eine V.24-Spezifikation an, dann siehst du dass alle 25 Pins benötigt werden.
    Die 9-Pol-variante ist eine kastrierte V.24, bei der nur noch die für asynchrone Übertragung notwendige Pins angeschlossen sind.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Seh ich auch so.
    V24 ist (zumindest in diesem Thread) out.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Manawyrm schrieb:

    Ideal wäre natürlich, wenn die Lampen direkt an den Handshake Leitungen hängen.

    Das widerspricht zwar jedem Protokoll, ist aber mit einem Minimum an Hardware verbunden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich vermute mal eher, das es ein Parallel-Port ist.
    Ich hab vor 15+Jahren auch solche Dinge gebaut.
    Ampeln, Lauflichter, etc. Diese konnte man ohne viel Hardware oder Steuereinheiten direkt über den Port an, bzw. ausschalten.
    Man hatte da 8 mögliche Steuerleitungen und setzte einfach eine auf TRUE und schon leuchtete eine LED z.B.
    Wenn das der Fall ist, sieht man das glaub ich daran, ob am Rechner ein Stecker oder eine Buchse rausgeführt ist. Bin mir aber nicht sicher, ob der Zuordnung auch nicht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Müsste man normalerweise am Anschlussstecker sehen.
    Parallel-Ports am Rechner sind Female. Dann müsste das Kabel einen Male-Stecker haben.
    Wenn's seriell war, müsste das Anschlusskabel auf der Rechnerseite einen Female-Stecker haben.

    Achtung: Ausnahmen bestätigen die Regel, aber im Allgemeinen konnte man sich darauf verlassen.

    Edit: Rod war schneller :(
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --