![]() |
Impulse über LPT/COM einlesen
Hallo,
lange her, aber in diesem Fall muss Delphi mal wieder ran :) Also ich habe eine Wählscheibe (kennt der ein oder andere sicherlich noch), die mir je nach Nummer die man dreht einen Impuls zurückgibt. Normal wird dann die Spannung wenn man eine 4 wählt einfach 4mal unterbrochen. Etwas ungünstig wie ich finde. Also habe ich mir da ein Relai drangebaut, sodass ich nun bei der Zahl 4 einfach 4mal ein Signal bekomme. Also es werden dann einfach 4mal nacheinander 3V z.b. gesendet. (Voltzahl und so sind variabel) Wie kann ich das nun am besten in Delphi reinbekommen? Habe an den LPT-Port gedacht, aber das Tutorial was hier darüber zu finden ist, behandelt nur das Einlesen auf Knopfdruck irgendwie. Nun möchte ich gerne, dass das Programm ständig "lauscht" und schaut ob etwas ankommt, solange ich die Eingabe erwarte. Ist sowas möglich und wenn ja wie? Danke schonmal :) |
Re: Impulse über LPT/COM einlesen
|
Re: Impulse über LPT/COM einlesen
Hm...ich wollte jetzt eher nicht Geld für Komponenten ausgeben oder so. Ist schließlich nur ne Spielerei für zuhause :)
|
Re: Impulse über LPT/COM einlesen
Wer hat was von Geld ausgeben gesagt?
|
Re: Impulse über LPT/COM einlesen
"Allerdings natürlich Shareware. "
|
Re: Impulse über LPT/COM einlesen
Hallo,
am einfachsten machst du sowas mit dem IO warrior. ![]() Das ist ein USB Teil kostet nicht viel. Beispielprogramme sind dabei. Rainert |
Re: Impulse über LPT/COM einlesen
Naja, dafür dass es sich um ein reines Bastelprojekt handelt, das rein aus Interesse enstanden ist, das einfach mal so zu machen, ist das schon viel Geld.
Ich müsste ja eigentlich nur am LPT/COM-Port immer gucken ob ein Signal kommt. Und wenn ja --> Zäher einen hoch. Dann wär ich schon ein ganzes Stück weiter. |
Re: Impulse über LPT/COM einlesen
Zitat:
wenn du ein COM-Port verwendest, brauchst du zumindest keine Treiber, weil sich Eingänge wie CTS, DSR, DCD mit Windows- bzw. Delphi-Software abfragen lassen. Tutorials und Komponenten gibt es wie Sand in der Sahara, die meisten sind für deinen Zweck eher zu kompliziert. Ich würde versuchen, einen Event zu bekommen für die Änderung z.B. von CTS, und diese Änderung (+ oder -) zusammen mit einem Zeitstempel in einem LIFO abzuspeichern. Dann kannst du aus den letzten 30 Einträgen den zeitlichen Verlauf der letzten 15 Impulse rekonstruieren und entsprechend reagieren. Man muss austesten, ob die zeitliche Auflösung bzw. Die Reaktionszeit reicht. Gruss Reinhard |
Re: Impulse über LPT/COM einlesen
also ich würde (habe es auch) über die CTS/RTS Leitug von der seriellen schnittstelle gemacht, bei einem heutigen PC ist das ganze so schnell genug, das du das CTS Signal sicher ein paar hundert mal pro sekunde abfragen kannst, also ausreichend.
und wenn du schein relais eingebaut hast, dann brauchst ja nur an der seriellen schnittstelle die RTS mit der CTS Leitung kurzschlißen (übers relais), dann die RTS LEitung auf HIGH Setzten und auf Änderungen der CTS Leitung warten ... |
Re: Impulse über LPT/COM einlesen
Hört sich sehr gut an :)
Also müsste ich einfach am 9-Poligen Stecker am Pin4 (RTS) raus, an den einen Pin des Ralis, und dann vom anderen des Relais wieder am Pin5 (CTS) am Com-Port rein, oder? Dann würde das Relai den Strom immer dann durchlassen, wenn ein Signal von der Wählscheibe gesendet wird. |
Re: Impulse über LPT/COM einlesen
Muss mich korrigieren: Meinte natürlich Pin 7 und Pin 8...ist ja nen 9-Pol-Anschluss ;)
|
Re: Impulse über LPT/COM einlesen
Soo...habe mir jetzt mal das Tutorial von da genauer angeschaut:
![]() Einen Pin zu setzen geht wunderbar. Die LED leuchtet und ich bin glücklich :) ABER: Wenn ich die Funktion Inp32 nutze um zu lesen, sagt mir der Compiler, dass die inptout32.dll nicht gefunden wurde. Habe die ganz normal im gleichen Ordner wie das Programm und die Delphi-Dateien. Die Procedure zum setzen, geht wunderbar, greift aber scheinbar auf die gleiche dll zurück. Einziger Unterschied: Procedure statt Funtion beim setzen. Weiß jemand rat? Oder vllt. ne gute Kompo um zu testen ob bei einem bestimmten Pin Strom ankommt? |
Re: Impulse über LPT/COM einlesen
Hi
Ich weiß, es gibt genug Tutorials.. aber trotzdem möchte ich mal auf das meinige verweisen. Nicht, weil's besonders gut ist, aber ich habe dort versucht, ein wenig das kleine Alphabet des Elektrikers rüberzureichen. Du findest es über die Autorensuche und Matze hat es damals für mich in die hier lesbare Form gebracht. Sollten Fragen sein, kann ich da gern weiterhelfen. Man mag mich steinigen, wenn ich die Portzugriffe direkt über ASM angegeben habe, aber wer die DLL's hat, kann selbstverständlich auch den Portzugriff darüber realisieren und kommt vom Win9x los. Ich habe sowieso darauf hingewiesen, für solche Experimente einen alten Rechner zu benutzen. Eines möchte ich auch noch erwähnen. Manchmal lese ich, es soll ein Bit mit einem anderen verbunden werden, um bspw. an Bit 1 eine "1" auszugeben und an Bit 3 diese einzulesen. Das kann nicht funktinieren, weil es eben nicht der gleiche Zyklus ist und durch die Umschaltung des Ports Richtung Eingabe das elektrische Potential nicht mehr vom Bit 1 kommt. Bestenfalls liest man das Register zurück.... Gruß oldmax |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz