Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Parallelport abfragen (https://www.delphipraxis.net/132620-parallelport-abfragen.html)

Hagbart 16. Apr 2009 09:25


Parallelport abfragen
 
Hallo,

habe ein kleines Programm, welches mittels INPOUT32.DLL die Eingänge des Parallelport abfragt. Das funktioniert auch schon problemlos. Einfach einen Timer genommen, Intervall von 50ms und Label1.Caption := IntToStr(Inp32(890));. Dann kann ich anhand des Label schön sehen, ob jetzt die Pins high oder low sind.

Das eigentliche Problem ist jetzt, dieses ganze Abfragen passiert ja nur ca. 20 mal in der Sekunde (selbst wenn ich das Intervall auf 1ms setze, nur 1000 mal). Ich habe aber einen Schmitt-Trigger der eine Frequenz von mindestens 1kHz bis maxinmal 7kHz "produziert". Diese Frequenz müsste ich jetzt über den Parallelport "messen". Der Timer ist viel zu langsam und außerdem ist es ja auch recht uneffektiv so oft den Port abzufragen. Deswegen müsste bei jedem Wechsel des Signalpegels eine Art Interupt ausgelöst werden. Habe aber keine Ahnung wie man so etwas macht bzw. ob es überhaupt geht. Eigentlich müsste es ja möglich sein, weil bei der Datenübertragung wird ja auch mit solchen bzw. noch höheren Frequenzen gearbeitet.

Besten Dank schomal

seim 16. Apr 2009 10:07

Re: Parallelport abfragen
 
Was ist der Sinn dahinter? Willst du ein Programm schreiben, dass einen CPU von 2 GHz sein leben lang damit beschäftigt auf ein Signal am Paralellport zu warten?

Wenn du das nur zu Testzwecken brauchst ok, aber ich rate dir davon ab das für halbwegs produktive Dinge zu machen. Da würde ich überlegen, ob ein MC mit entsprechendem Programm nicht besser wäre, der dann per USB angeschlossen wird? Hab irgendwo gesehen, dass es dafür so eine Telnet artige Schnittstelle gibt um sich gegenseitig Daten zu schreiben.
Naja gut also ich arbeite grad selber an so einem MC und weis noch nicht viel darüber ^.^ Ziel soll es sein ein Infrarot-In/Output zu basteln für ein Media PC.

Bernhard Geyer 16. Apr 2009 10:12

Re: Parallelport abfragen
 
Hast du schon mal geschaut auf wieviel der neuen PC's es überhaupt noch eine Parallelschnittstelle gibt? ich würde wie seim vorgeschlagen hat sowas mittels USB erledigen.

seim 16. Apr 2009 10:19

Re: Parallelport abfragen
 
Naja nicht unbedingt.. also erstens dauert es länger das überhaupt zu bauen und man ist nicht so flexibel wenn es sich nur um eine Testumgebung handelt (Delphi mal eben das Programm abändern vs. Programmiergerät auspacken um den MC zu flashen).

Sowie ich das vermute wird das eher was zum testen und basteln sein n Logicanalyser oder ein Oszilloskop (wobei ich da nicht ganz verstehen würde wo jetzt das Analog -> Digital erfolgt ^.^)

divBy0 16. Apr 2009 10:23

Re: Parallelport abfragen
 
Wenn es was kosten darf schau mal hier: Meilhaus
Die Dinger haben API's mit bei.

Ansonsten über einen µC Zählen und den Zählwert entweder über USB oder einfacher RS232 übertragen.

[edit=mkinzler]Url-Tag gefixt Mfg, mkinzler[/edit]

Hagbart 16. Apr 2009 10:41

Re: Parallelport abfragen
 
Zitat:

Was ist der Sinn dahinter? Willst du ein Programm schreiben, dass einen CPU von 2 GHz sein leben lang damit beschäftigt auf ein Signal am Paralellport zu warten?
Ich habe drei Schrittmotoren die eine CNC-Fräse antreiben (sollen). Deren Geschwindigkeit wird mit dieser Frequenz bestimmt, damit meine Software weiß wie schnell sich die Fräse bewegt und die Position erechnen kann, muss ich eben die Frequenz wissen. Diese Frequenz muss ja nur einmal kurz abgefragt werden, bevor man den Fräsvorgang startet. In diesem Moment kann die CPU dann auch voll ausgelastet sein (wobei nicht glaube das 1,8 GHz davon ausgelastet werden). Wenn ich das hinbekommen würde, dass ich für eine Sekunde die Anzahl der Wechsel von high zu low zählen kann wäre mein Ziel ja schon erreicht.

Von einem µC will ich eingentlich (erstmal) fern bleiben, das Problem ist das ich mich weder mit C noch mit Assembler auskenne, außerdem wären es wieder zusätzliche Kosten.


Zitat:

Zitat von Bernhard Geyer
Hast du schon mal geschaut auf wieviel der neuen PC's es überhaupt noch eine Parallelschnittstelle gibt? ich würde wie seim vorgeschlagen hat sowas mittels USB erledigen.

Das sollte nicht das Problem sein, der PC den ich dazu nutze hat die Schnittstelle, mein aktueller PC (Asus M3A78-EH, Phemon 9850) auch noch.


Zitat:

Zitat von seim
Naja nicht unbedingt.. also erstens dauert es länger das überhaupt zu bauen und man ist nicht so flexibel wenn es sich nur um eine Testumgebung handelt (Delphi mal eben das Programm abändern vs. Programmiergerät auspacken um den MC zu flashen).

Sowie ich das vermute wird das eher was zum testen und basteln sein n Logicanalyser oder ein Oszilloskop (wobei ich da nicht ganz verstehen würde wo jetzt das Analog -> Digital erfolgt ^.^)

Wurde ja oben beantwortet was es wird^^.


Zitat:

Zitat von divBy0
Wenn es was kosten darf schau mal hier: =HPG_3-UPG1_3-UPG2_0&cHash=c733d181f0]Meilhaus
Die Dinger haben API's mit bei.

Ansonsten über einen µC Zählen und den Zählwert entweder über USB oder einfacher RS232 übertragen.

Kosten darf es natürlich nichts :wink:. Denn das hat das alles schon genug. Gut, wenns via LPT nicht geht muss es wohl mit einem µC sein. Muss ich mal schauen wie ich das hinbekomme.

Danke schön für die schnellen Antworten

divBy0 16. Apr 2009 10:53

Re: Parallelport abfragen
 
Also für eine CNC-Maschine wird der Parallel-Port nicht schnell genug sein. Wie viele Impulse gibts denn da pro Sekunde?

Steuerst du die Schrittmotoren direkt auch mit dem Parallel-Port an?

Blup 16. Apr 2009 11:11

Re: Parallelport abfragen
 
Schliess an den Parallel-Port einen Zähler an und frag jeweils den Zählerstand ab.
Über die vergangene Zeit und die Zähler-Differenz ergibt sich die Frequenz.

Hagbart 16. Apr 2009 11:21

Re: Parallelport abfragen
 
Zitat:

Zitat von divBy0
Also für eine CNC-Maschine wird der Parallel-Port nicht schnell genug sein. Wie viele Impulse gibts denn da pro Sekunde?

Steuerst du die Schrittmotoren direkt auch mit dem Parallel-Port an?

Mit Impulsen meinst du die Frequenz mit der die Schrittmotoren angestuert werden? Da gibt es max. 7k.
Direkt kann man Schrittmotoren ja nicht ansteuern, ich steuere die Schaltung L297/L298 mit dem Parallelport an. Das ganze ist natürlich durch Optokoppler galvanisch getrennt und wird von Transistoren verstärkt. Habe in verschiedenen Foren derartige Projekte gesehen die auch über LPT angeschteuert werden und es hat bisher noch keiner in der Praxis bemerkt das es zu langsam wäre.

divBy0 16. Apr 2009 11:32

Re: Parallelport abfragen
 
Zum Ansteuern der Motoren wird das reichen, nur zum Zählen ist es zu langsam.

Wenn ich CNC-Maschine höre, denke ich immer gleich an Sinumerik.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz