INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Paralleler Port



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.07.2010, 15:44 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2010 15:48 von eg.)
Beitrag #1

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Paralleler Port
Hallo!

Ich versuche gerade das Beispiel "Parallel Port Read and Write Loop" zum Laufen zu kriegen.
Habe ein Thinkpad R500 (64 Bit) mit Docking Station, wo es den LPT auch gibt. Im Bios die Einstellungen angepasst: aktiv, 0x378, Bidirektional. Im Gerätemanager gibt es den LPT1 bei 0x378 und ist auch nicht mit Warnung markiert.

Beim Start des Beispiels kommt jedoch folgende Fehlermeldung:
   

Was nun? Fehlt ein Treiber? Kann's mit 64 Bit zusammenhängen? Ist Dockingstation schuld?

Gruß, eg

P.S. habe Windows 7 64 Bit.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.07.2010, 16:10 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2010 16:22 von eg.)
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Paralleler Port
Danke, hat sich erledigt:

Zitat:NOTE: In Port.vi and Out Port.vi, which this example uses, are not supported on Windows Vista and later.

Hier noch was dazu:
http://digital.ni.com/public.nsf/allkb/496...62571E200633507

Womit kann ich aber dann unter Windows 7 den parallelen Port ansprechen, bzw. auslesen? Geht es vielleicht mit VISA?

Danke, eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 19:04 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2010 19:05 von Y-P.)
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Paralleler Port
Hallo Eugen,

das liegt wohl an Windows 7. Unsure
Hier Big Grin gibt's nämlich auch LabVIEW-unabhängige Probleme mit dem Parallel Port in Verbindung mit Windows 7 - 64bit.
Auf der Homepage von NI haben sie übrigens empfohlen statt dem Parallel Port eine günstige IO-Karte zu verwenden. Unsure

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 19:12
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Paralleler Port
Hi Markus, gegoogelt zu diesem Thema habe ich schon genug. Mich interessiert die Lösung dazu. Ist denn Parallel Port ab Win 7 nicht mehr ansprechbar?

inout32.dll geht leider auch nicht, es gibt mir immer den Wert 120 zurück. So eine KackeGrrr

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 19:33
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Paralleler Port
' schrieb:inout32.dll geht leider auch nicht
Unter Win7, 64Bit, gehen Treiber unterhalb einer bestimmten Ebene - und dazu gehört nun mal der parallele Port - nur noch 64Bit. Da kann oben liegen was will. Auch ein 32Bit-App braucht dann 64Bit-Treiber. InOut32.dll geht unter 64Bit nicht.

Wenn LabVIEW hier keinen 64Bit-Treiber hat sehe ich schwarz, das direkt in VISA zu machen. Ein Ausweg könnte die (64Bit-) MS-API sein: FileCreate('LPT1:', ...).

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 20:15
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Paralleler Port
' schrieb:Unter Win7, 64Bit, gehen Treiber unterhalb einer bestimmten Ebene - und dazu gehört nun mal der parallele Port - nur noch 64Bit.

Interessanterweise funktioniert die serielle Schnittstelle noch -_-

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 20:22
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Paralleler Port
Bist Du sicher, dass da die 32bit-dll verwendet wird? Ich vermute, dass dafür extra ein 64Bit-Treiber mitinstalliert wurde, mit dem Du nur die serielle Schnittstelle, aber nicht mehr den Parallel Port ansteuern kannst.
Ist aber nur eine Vermutung. Unsure

Gruß Markus

' schrieb:Interessanterweise funktioniert die serielle Schnittstelle noch -_-

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2010, 21:46
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Paralleler Port
' schrieb:Interessanterweise funktioniert die serielle Schnittstelle noch -_-

Serielle Schnittstellen werden unter Win32 als Files gehandhabt. Ich gehe davon aus, dass das in W7/64 immer noch so ist. Der "Create" hierzu heißt eben CreateFile. Da dieser Befehl über einer bestimmten Ebene liegt, funktioniert der in Win32 wie in W7/64. Man muss nicht per Port-Write/Read auf die expliziten Ports schreiben (PortIO etc), das geht viel einfachen mit WriteFile(Handle, Data) etc.

Wenn du in VISA auch die LPT-Schnittstellen findest, dann werden die auch in LabVIEW gehen - sonst nicht. Davon gehe ich aus.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2010, 10:24 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2010 10:26 von rolfk.)
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Paralleler Port
' schrieb:Interessanterweise funktioniert die serielle Schnittstelle noch -_-

Du vergleichst hier Äpfel und Kirschen! (und ich benutze hier ganz bewusst nicht Birnen) Big Grin

Serial Port wrd normalerweise durch das COMM API angesprochen (und der parallele Port is darin auch nur eine weitere Schnittstelle da Microsoft sich einfach sagt, ob jetzt Byteseriel oder Bitserial, das macht uns gar nichts aus).

Das COMM API stellt aber eine Deviceschnittstelle zur Verfügung die Du ähnlich wie VISA benutzst, d.h. man hat Konfigurationsfunktionen und Read und Write Funktionen um Buffers zu lesen und zu schreiben. Wie diese Buffer in Bits und Bytes aufgelöst werden und über die Pins rausgeschickt werden ist Sache des unter dem COMM API liegendenen Kernelgerätetreibers. Das COMM API wird auch von VISA benützt um diese Schnitttstellen anzusprechen.

Natürlich hat Microsoft das COMM API auch nach 64 Bit Windows portiert und deshalb functioniert das auch noch. Was Du aber versuchst ist die Schnittstelle direkt per Registerprogrammierung anzusprechen. Das geht seit Windows NT mit seinem protected Kernel nicht mehr von der Applikationsebenen aus. Dazu benötigt man einen Kernelgerätetreiber der das im Auftrag der Applikation tut und die Resultate an diese zurückgibt.

LabVIEW installiert einen 32 bit Gerätetreiber der solche Registerzugriffe ermöglicht (was übrigens eine seriöse Sicherheitslücke in einem System darstellt) und dieser Treiber wird von den InPort und OutPort Funktionen verwendet. Das Problem an diesem Treiber ist dass er Gebrauch macht von Kernelsupportfunktionen die gemäss Miscrosoft seit etwa Windows 2000 als depreciated deklariert sind (und mit vernünftigem Aufwand ist es eigentlich fast nicht mehr möglich einen solchen Treiber zu schreiben ohne Gebrauch von diesen Funktionen zu machen). Aber unter 64 Bit Windows funktioniert der 32 Bit Treiber ganz einfach nicht. Windows weigert sich um den auch nur zu installieren. Portierung des Treibers nach 64 Bit ist aber wahrscheinlich keine Option, da Microsoft wahrscheinlich den Übergang nach 64 Bit benützt hat um von diesen depreciated Kernelfunktionen weg zu kommen, und sie diese darum kurzerhand aus dem Kernel gekippt haben.

Registerprogrammierung von Applikationsebene aus ist eigentlich schon seit dem Einzug von protected 32 Bit OSen ein Artefakt aus alten single tasking OS Tagen. Aber mit 64 Bit OSen wird das wohl mehr oder weniger definitiv der Vergangenheit angehören.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  in port.vi /out port.vi nicht unterstützt? Fischi84 5 9.371 24.01.2011 14:58
Letzter Beitrag: Kiesch
  Probleme mit Paralleler Schnittstelle LPT1 moss_icon 12 12.072 30.10.2008 16:48
Letzter Beitrag: moss_icon
  PWM Signal an Paralleler Schnittstelle Stefan_84 0 3.039 22.11.2005 20:22
Letzter Beitrag: Stefan_84

Gehe zu: