Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Do 18.08.05 23:14 
Hi,
ich möchte gerne über den LPT erfahren, wann ein stromkreis geschlossen ist. Mein Gedanke:
Beim LPT Port gibt es ja Ausgänge, Eingänge, Kontroll bzw Fehler Kanäle und Masse Kanäle.

Wenn ich mich nicht irre, ist doch der Masse Kanal der Kanal, der 5 V Spannung hat, oder ? Wenn dem nämlichso ist, dann könnte ich doch solch einen Kanal mit einem Input Kanal verbinden, oder ?

Warum, ich habe einen einfachen Stromkreis der geschlossen ist, mit der richtigen Spannung.

Und ich müsste doch in der Lage sein, dieses mit Delphi zu erkennen, ob der Stromkreis geschlossen ist, oder ?

Mein Problem ist jetzt nur, wenn meien Theorie stimmt (was ich noch immer hoffe), dann weiß ich nur noch nicht, welche Pins ich mit ein ander Verbinden sollte bzw. welche Portnummer ich bei dem Readbefehl der IO.dll benutzen muss.

Ich hoffe, dass mir wer bei meinem Problem weiterhelfen kann.

Danke !!

Hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 21.08.05 16:46 
Hallo,
schau mal hierhin [url]www.delphi-roboter.de/2par.htm[/url] für die parallele Schnittstelle
und hier [url]www.delphi-roboter.de/pardll.htm[/url] für den Code.
Gruß Pierre
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mo 22.08.05 15:58 
hi,
danke erstmal für den Link. Ich habe mir das mal angeguckt, doch wenn ich zb. die Demo - Anwendung starte, erhalte dich die Fehlermeldung das es eine Priviligierte Anwendung ist.

Naja ich wollte das ganz ja eh mit der io.dll machen. Aber der eine Link hat mir weiter geholfen, jetzt weiß ich wie was an den Parallelport anschließen kann, doch weiß ich noch nicht genau wie ich das mit der io.dll "abhören" soll?

thx hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Mi 24.08.05 07:59 
Hallo,

was meinst Du mit einer
Zitat:
Priviligierte Anwendung
?

Ich selbst benutzt die dll um einen IR-Sensor, einen Temperatursensor, einen Motor und einige Schalter sowie Dioden auszulesen bzw. zu steuern.

Hat dies was mit den Rechten zu tun, unter welchen Du arbeitest?

Weil gerade was Du vorhast, dürfte überhaupt kein Problem mit der dll sein.
Gruß Pierre
Bunbury
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 115



BeitragVerfasst: Mi 24.08.05 12:32 
.

user profile iconhibbert hat folgendes geschrieben:

Beim LPT Port gibt es ja Ausgänge, Eingänge, Kontroll bzw Fehler Kanäle und Masse Kanäle.

Wenn ich mich nicht irre, ist doch der Masse Kanal der Kanal, der 5 V Spannung hat, oder ? Wenn dem nämlichso ist, dann könnte ich doch solch einen Kanal mit einem Input Kanal verbinden, oder ? Warum, ich habe einen einfachen Stromkreis der geschlossen ist, mit der richtigen Spannung.


Oh, oh... das klingt nicht gut. Ich rate Dir dringend die Finger davon zu lassen, wenn Du keine Lust hast Dir den Parallelport zu zerschießen. Ich hoffe nicht, daß es sich bei Deinem Stromkreis um Netzspannung handelt, sonst besteht außerdem noch Lebensgefahr. Brand- und Zerstörungsgefahr besteht auch schon bei kleineren Spannungen.
Das ist jetzt keine Warnung nach VDI-Vorschrift weil ich besonders korrekt wirken will. Man kann da eine ganze Menge verkehrt machen und wenn ich Dein Posting lese schätze ich ganz real die Chance daß nichts kaputt geht auf ca. 5% und die Chance, daß das funktioniert, wie Du es Dir vorstellst auf <1%.

"Masse" gibt es nicht als Kanal, und ein GND-"Signal" hätte 0V und nicht 5V. An den GND-Anschlüssen des Parallelports kannst Du garnix messen und diese auch nicht abfragen. Ob Dein Stromkreis nun "einfach" ist ist sch** egal. Wichtig ist wo die Taste sitzt, ob die Schaltung potentialfrei ist, welche Spannung anliegt, wie groß die Last ist usw. Das sagt Dir wahrscheinlich alles nix - daß Parallelporteingänge per Pullup intern auf +5V gezogen sind und man deshalb aktiv Masse schalten, Totem-Pole-Ausgänge mit TTL-Pegel anschließen, oder im einfachsten Falle eine Diode zwischenschalten muß schon garnicht.

Selbst wenn Du begreifst, daß man keine Schaltung an einen "Massekanal" anschließen kann, sondern tatsächlich korrekt verdrahtest, bräuchtest Du viel, viel Glück, daß das funktioniert. Schon allein aufgrund der Unbekannten in deiner Stromkreisschaltung gibts da 1000 mögliche Varianten bei denen Du garnichts misst oder was kaputt geht.

Besser, Du lässt da jemanden mit rudimentärsten Elektronikkentnissen ran - dann besteht eine Chance das Parallelport, Stromkreis und die Benutzer Dein Projekt überleben.

MfG
Bunbury

.
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Fr 26.08.05 23:08 
Hallo,
also zum Aufbau der parallelen Schnittstelle:

1) PIN 1 bis PIN 9, PIN 14, PIN 16 und PIN 17 kann an der paralleln Schnittstelle
mit einem 5V Signal belegt und gelesen werden.

2) PIN 10 bis 13 und PIN 15 können nur gelesen werden.

3) PIN 18 bis PIN 25 sind Masse-PINs (kein Lesen kein Schreiben).

Jetzt zum Aufbau Deines Schalters:

Du besorgst Dir einen 25poligen SubD-Stecker (männlicher),
Du lötest an einen der PINs unter (1, siehe oben) einen Draht
an, den Du auch an den Schalter lötest. Auf diesen PIN setzt Du später
mit der DLL ein Signal. Dann lötest Du einen zweiten Draht an einen
anderen PIN unter (1 oder 2, siehe oben) und an den Schalter. Diesen PIN
fragst Du später mit der DLL ab. So wird das Signal des 1. PINs durch
Drücken des Schalters an den 2. PIN weitergegeben, was Du auslesen kannst

z.B. PIN 1 schreiben und PIN 10 lesen

Benutze keinen PIN unter (3, siehe oben), weil dies ist die Masse!

---
Wenn Du nur einen Schalter lesen willst, dann benutze die serielle
Schnittstelle, sie ist vor Kurzschlüssen gesichert!

Gruß Pierre
Bunbury
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 115



BeitragVerfasst: Do 01.09.05 22:55 
.

Also Pierre - der Satz "ich habe einen einfachen Stromkreis der geschlossen ist, mit der richtigen Spannung" des OP sagt mir, daß eine einfache Taste nicht reicht, sondern, daß er ein Signal aus einer externen Schaltung auf den LPT-Port legen will um den Zustand (ein oder aus) der Schaltung zu erfassen.

Grundsätzlich ist Deine Anleitung ja nicht so verkehrt - aber wenn der externe Stromkreis nicht potentialfrei ist oder die Taste zwischen zwei undefinierten Potentialen schaltet, dann mißt er entweder garnix, sein externe Schaltung funktioniert fehlerhaft oder eins von beidem geht schlicht kaputt.

Dazu kommt noch eins: die Eingänge an LPT sind mit Pull-Up Widerständen ausgestattet. D.h. an einem offenen Eingang misst man immer eine logische 1. Insofern würde eine Taste zwischen einem auf 1 gesetzten Ausgang und einem Eingang keinerlei Änderung bringen wenn man sie drückt oder nicht. Nur wenn der Ausgang auf 0 gesetzt ist funktioniert das - dann kann man aber auch die Taste einfach zwischen einem beliebigen Eingang und einem Massepin anschließen - ohne irgendwas ausgeben zu müssen.

Wenn seine Taste im externen Stromkreis nach Masse schließt und die Schaltung TTL-Pegel benutzt geht das. Wenn seine Schaltung TTL-Pegel benutzt und bei offenem Taster niederohmig genug gegen Masse ist funktioniert das auch, wenn die Taste gegen +Ub schaltet. Trifft irgendwas davon nicht zu oder liegt die Taste irgendwo anders im Stromkreis (also weder single-ended gegen GND oder +Ub) dann passiert eben garnix oder es geht was kaputt. Nach den Erklärungen im Eröffnungsposting sehe ich keine Chance für Ihn selbst festzustellen was davon zutrifft.

Das beste wäre, er würde die Schaltung seines externen Stromkreises posten - dann wäre es einfach zu sagen was wo angeschlossen werden muß. Ohne Kenntnis dessen kann man keine Möglichkeit angeben die sicher funktioniert und wo kein Risiko besteht, daß er sich was kaputt macht.

MfG
Bunbury

.
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Fr 02.09.05 08:21 
Hallo,
das ist richtig. Bin davon ausgegangen, dass er nur einen Schalter auslesen will.
Sprich, nicht bekann war, dass man das Signal der LPT für den Schalter benutzen kann.
Also wenn die letztgenannte Antwort stimmt, würde ich auch gerne wissen, was genau
ausgelesen werden soll.
Gruß Pierre