Externe Stoppuhr



  • Wenn mich nicht alles irrt, ist in diesem Beitrag nur beschrieben wie man Daten sendet und empfängt! Ich sende/empfange aber keine Daten!

    thx
    Jan



  • Hallo

    Ich wurde es auch über die Serielle Schnittstelle machen.

    1. Signalpegel +- 10 Volt (Unempfindlicher)
    2. Interuptfähig (ohne Pollig schnelle Reaktion nötig)

    Ich würde das Signal DTR/DSR und RTS/CTS verwenden.

    Für Tests kannst du nachfolgende Kompnente laden (COM-Port-Komponente)

    http://www.winsoft.sk/comport.htm

    Tip: Verwende das Ereignis "OnCTSChange" z.b. für das Starten der Uhr
    "OnDSRChange" z.b. für das Stoppen

    Hört sich kompliziert an, ist es aber nicht. Bei bedarf sende ich dir einen kurzen Code (BCB 6)

    Viel Glück

    Karl



  • Hi,

    bei mir dauert es immer etwas länger, bis ich etwas verstehe 😉 , also:
    Du meinst ich soll DTR & DSR in ein Stromkreis mit dem Kontakt setzen. Und dann die OnDSRCahnge aufrufen, was gibt der für ein Wert zurück?

    thx
    Jan

    PS: Is schon alles schwierig! 😉



  • Hallo

    Fast 😉

    Also die "Kontakte" CTS, DSR und RLSD sind quasi Eingänge !

    Du setzt das Signal RTS auf "1", dann hast du eine Spannung.

    Setzen den einen Kontakt zwischen RTS und CTS, den anderen zwischen RTS und DSR.

    Beim schliesen des Kontaktes wird das Ereignis CTS... oder DSR.... aufgerufen.

    Beim Ereignis CTS fragt du die Systemzeit ab un merkst sie dir in einer globalen
    Variablen. Bein DTS wird die Systemzeit erneut abgefragt und mit der "ersten" Zeit subtrahiert. (Zeit von Start bis Stop)

    Karl



  • Komisch bei mir geht das net wirklich mit "OnDSRChange", kennt er net (bitte net hauen aber ich bin Newbie ;-)). Es wäre nett wenn du mir ein Codeauszug mailst/postest!

    thx
    Jan



  • Original erstellt von JaFu:
    Komisch bei mir geht das net wirklich mit "OnDSRChange", kennt er net (bitte net hauen aber ich bin Newbie ;-)).

    Es war vorher von einer Komponente die Rede!



  • Hallo Jafu

    Ein paar fragen vorab.

    - Welchen Compiler hast du (Version)
    - Hast du die Componente TComPort Installiert und findest du sie unter
    "System" --> ComPort ?
    - Erzeuge eine neue Anwendung
    - Lege die Componente ins neue Formular
    - Seletiere die TComPort und suche im Objekt-Inspektor unter Ereignisse
    "OnCTSChange". Rechts davon mache einen Doppelclick und du erzeugst damit
    "ComPortCTSChange".
    - Schreibe deinen Code in diese Funktion
    - Für "DSR" das gleiche
    - Beide Componenten werden aufgerufen sobald eine Änderung der "Pegel" stattfinden

    Karl



  • Naja, jetzt geht's! War wohl net richtig installiert!

    thx @all

    Jan



  • Hallo JaFu

    Kleiner Tip !

    Wenn du einen "normalen" Kontakt verwendest, so wird diese Funktion öfter
    aufgerufen. (Kontaktprellen)

    Stelle sicher daß bein ersten Aufruf du dir das in einer Variable merkst
    und gegebenenfalls die "Zeit" nicht neu auslest.
    (Können sonst schon ein paar xx milisekunden sein, sowohl beim "Start" als
    auch beim Stop)

    Karl



  • Danke für den Tipp!

    Jan


Anmelden zum Antworten