Tech-Ecke / Delphi Inhalt / Velleman USB-Board und die K8055D.DLL |
|
Velleman USB-Board und die
K8055D.DLL Der LPT-Port wird von Bastlern
immer wieder gerne als Schnittstelle für eigene
Schalt/Steuerprojekte benutzt. Leider verschwindet der LPT-Port
mehr und mehr von der Bildfläche und hinterlässt an der
Stelle erst mal eine Lücke. An der Stelle sei
auch noch mal erwähnt, dass den USB-Parallel-Adaptern aus
Fernost kein weiterer Nutzen zu entlocken ist, als eine
Schnittstelle für ältere Drucker per USB zu bieten. Als
Schnittstelle für selbst gebastelte Steuer- und Regelelektronik
sind diese Teile nicht zu gebrauchen. Ein Adapter könnte dazu
eventuell in der Lage sein, der "UC100 USB zu LPT", aber dieser
kostet um die 100 EUR und das war mir der Versuch noch nicht
wert.
Neben acht digitalen Aus- und fünf Eingängen, bietet das Board zusätzlich noch zwei analoge (8-Bit) Ein - und Ausgänge, sowie zwei analoge Ausgänge mit PWM (Pulsweitenmodulation). Mittels der mitgelieferten K8055D.DLL kann man das Board recht einfach aus seinem eigenen Delphiprogramm heraus ansteuern. Einziger, aber auch sehr schmerzhafter Nachteil ist die Geschwindigkeit. Die Befehlszeit beträgt 20ms und die Eingänge werden sogar nur alle 100ms Sekunden Abgefragt. Da ist selbst unter Windows der LPT-Port noch um einiges Schneller :-/
Grundlegendes zu DLL's Eine DLL Datei (Dynamic Link Library ) ist eine Library welche Programmroutinen enthält, die man für sein eigenes Programm nutzen kann. Zum Einbinden der DLL fügt man die unten aufgeführten Zeilen, direkt hinter implementation, im eigenen Programm ein. Jeder "Befehl" den man aus der DLL nutzen möchte muss hier zusammen mit der DLL separat angegeben werden. Die Angabe des DLL-Pfades ist dann nicht nötig, wenn die DLL im Pfad der Anwendung oder im Windows-Systemverzeichnis liegt. Die K8055D bietet und folgenden Befehlssatz zur Ansteuerung des Boards:
Befehler mit Rückgabewert:
Die wichtigsten Befehle An- und Abmelden vom Board: Bevor man auf das Board zugreifen kann muss es zunächst angemeldet werden, dies geschieht im Programm mit:
Es ist möglich bis zu 4 Boards gleichzeitig an einem PC zu betreiben. Da OpenDevice(x) einen Rückgabewert liefert und zwar die Nummer (als Integer) des angemeldeten Boards bzw. ob überhaupt ein Board vorhanden ist (wenn nicht -> -1) , sollte man dies auch gleich bei der Anmeldung mit Abfragen:
Das Abmelden vom Board geschieht mittels:
Zum Auslesen der digitalen Eingänge dient ReadDigitalChannel(x). Der Befehl liefert ein Boolean-Rückgabewert true oder false.
Download K8055D.DLL
Für den Fall dass jemand das Board
ohne CD ergattert hat, hier die benötigte DLL zum Herunterladen.
|
Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !
[letzte Aktualisierung 23.08.2009]