
K8055D.DLL 1
Einführung zu der DLL für die USB Experiment Interface Board K8055
Die K8055 Interface Board hat 5 digitale Eingangskanäle und 8 digitale Ausgangskanäle. Zusätzlich
gibt es 2 analoge Eingänge, 2 analoge Spannungsausgänge und 2 PWM (Pulse Width Modulation)-
Ausgänge mit 8-Bit Auflösung.
Die Anzahl der Ein-/Ausgänge können Sie noch vergrößern, indem Sie (bis maximal 4) Karten an die
USB-Stecker des Computers anschließen. Jeder Karte wird eine eigene Identifikationsnummer mittels
2 Steckbrücken, SK 5 und SK6, zugewiesen (siehe Tabelle 1 unten für die Nummerierung).
Alle Kommunikationsprogramme sind in einer Dynamic Link Library (DLL) K8055D.DLL gespeichert.
Dieses Dokument beschreibt alle Arbeitsweisen und Funktionen der DLL, die für Ihre
Applikationsprogramme verfügbar sind. Mithilfe dieser Arbeitsweisen und Funktionen, die durch die
DLL exportiert werden, können Sie maßgeschneiderte Windows-Applikationen (98SE, 2000, Me, XP)
in Delphi, Visual Basic, C++ Builder oder jedem anderen 32-Bit Windows-Hilfsprogramm für
Applikationen, das DLL unterstützt, schreiben.
Eine vollständige Übersicht dieser Funktionen und Methoden, die durch K8055D.DLL exportiert
werden, können Sie weiter in diesem Dokument finden. Am Ende dieses Dokumentes gibt es eine
Liste von Programmbeispielen. Diese werden Ihnen helfen, einen Einblick in die Art und Weise zu
gewinnen, auf die Sie Ihre eigenen Applikationen entwickeln können. Die Beispiele sind in Delphi,
Visual Basic und C++ Builder geschrieben. In der Übersicht werden die Funktionen und die Methoden
Bitte achten Sie darauf, dass die Beispiele in den Beschreibungen der Funktionen und Methoden für
TABELLE 1: Steckbrücke SK5, SK6: Einstellungen
: Die Einstellungen müssen bestimmt werden, bevor das USB-Kabel an die K8055-Karte
angeschlossen ist oder der PC angeschaltet wird.
© 2003 ... Velleman

Description of the DLL2
Übersicht der Arbeitsweisen und Funktionen der K8055D.DLL
Öffnet den Kommunikationslink zu dem K8055-
Schließt den Link zu dem K8055-Gerät
Analog in Digital konvertieren: Arbeitsweise
ReadAnalogChannel(Channelno)
Liest den Status eines analogen Eingangskanals
ReadAllAnalog(Data1, Data2)
Liest den Status der beiden analogen
Digital in Analog konvertieren: Arbeitsweise
OutputAnalogChannel(Channel,Data)
Stellt den analogen Ausgangskanal nach den
OutputAllAnalog(Data1,Data2)
Stellt die beiden Ausgangskanäle nach den Daten
ClearAnalogChannel(Channel)
Stellt den analogen Ausgangskanal auf das
Stellt alle Ausgangskanäle auf das Minimum ein
SetAnalogChannel(Channel)
Stellt den analogen Ausgangskanal auf das
Stellt alle Ausgangskanäle auf das Maximum ein
Digitaler Ausgang: Arbeitsweise
Stellt alle digitalen Ausgänge nach den Daten ein
ClearDigitalChannel(Channel)
Löscht alle Ausgangskanäle
SetDigitalChannel(Channel)
Stellt den Ausgangskanal ein
Stellt alle Ausgangskanäle ein
Digitaler Eingang: Arbeitsweise
ReadDigitalChannel(Channel)
Liest den Status des Eingangskanals
Liest den Status aller Eingangskanäle
Zählerfunktionen und Arbeitsweise
Stellt den 16-bit Pulszähler 1 oder 2 auf Null
Liest den Inhalt des Pulszählers 1 oder 2
SetCounterDebounceTime(CounterNr, DebounceTime)
Stellt die Entprellung (debounce time) für den
© 2003 ... Velleman

K8055D.DLL 3
Funktionen und Arbeitsweisen der K8055D.DLL
FUNCTION OpenDevice(CardAddress: Longint): Longint;
Wert zwischen 0 und 3, der mit der Steckbrücke (SK5, SK6) auf K8055 übereinstimmt
Bei Erfolg wird der Rückgabewert die Adresse der Karte sein, die von der K8055-
Öffnet den Kommunikationslink mit der K8055-Karte. Ladet die Treiber, die zur Kommunikation über
den USB-Port erforderlich sind. Dieses Verfahren soll erst erledigt sein, bevor Sie versuchen eine
Kommunikation mit K8055 zustande zu bringen.
Diese Funktion kann auch verwendet werden um die tätige K8055-Karte zu selektieren und sie zu
lesen und die Daten zu schreiben. Alle Kommunikationsroutinen nach der Selektion werden dieser
bestimmten Karte zugewiesen bis eine andere Karte selektiert wird.
h:=OpenDevice(0); // Opens the link to card number 0
Entladet die Kommunikationsroutinen für die K8055-Karte und entladet den Treiber für die
Kommunikation über den USB-Port. Diese Handlung ist der letzte Schritt im Applikationsprogramm vor
CloseDevice; // The communication to the K8055 device is closed
FUNCTION ReadAnalogChannel (Channel: Longint): Longint;
© 2003 ... Velleman

Description of the DLL4
Wert zwischen 1 und 2, der mit dem zu lesenden Status des AD-Kanals, übereinstimmt.
Die entsprechenden Daten vom 'Analogue to Digital Converter' werden gelesen.
Die Eingangsspannung des selektierten 8-Bit 'Analogue to Digital Converter' –Kanals wird in einen
Wert, der zwischen 0 und 255 liegt, umgesetzt.
data := ReadAnalogChannel(1);
// AD channel 1 is read to variable 'data'
PROCEDURE ReadAllAnalog(var Data1, Data2: Longint);
'Pointers' auf die 'long integers' wo die Daten gelesen werden.
Der Status von den beiden 'Analogue to Digital Converters' wird in einem Datenfeld von 'long integers'
procedure TForm1.Button1Click(Sender: TObject);
var Data1, Data2: Longint;
ReadAllAnalog(Data1, Data2); // Read the data from the K8055
Label1.caption:=inttostr(Data1); // Display CH1 data
Label2.caption:=inttostr(Data2); // Display CH2 data
PROCEDURE OutputAnalogChannel(Channel: Longint; Data: Longint);
Wert zwischen 1 und 2, der mit der 8-Bit DA Kanal-Nummer, deren Daten eingestellt
werden sollen, übereinstimmt.
Wert zwischen 0 und 255, der zu dem 8-Bit 'Digital to Analogue Converter' geschickt werden
Der angegebene 8-Bit 'Digital to Analogue Converter'-Kanal ist nach den neuen Daten geändert
worden. Das bedeutet, dass die Daten einer spezifischen Spannung entsprechen. Der Wert 0 stimmt
mit der minimalen Ausgangsspannung überein (0 Volt) und der Wert 255 ist die maximale
© 2003 ... Velleman

K8055D.DLL 5
Ein Wert von 'Data' zwischen diesen 2 Äußersten kann mit der folgenden Formel wiedergegeben
OutputAnalogChannel (1,127);
// DA channel 1 is set to 2.5V
PROCEDURE OutputAllAnalog(Data1: Longint; Data2: Longint);
Wert zwischen 0 und 255, der zu dem '8-Bit Digital to Analogue Converter' geschickt
Die beiden 'Digital to Analogue Converter'-Kanäle sind nach diesen neuen Daten geändert worden.
Das heißt, dass die Daten einer spezifischen Spannung entsprechen. Der Wert 0 stimmt mit der
minimalen Ausgangsspannung (0 Volt) überein und der Wert 255 stimmt mit der maximalen
Ausgangsspannung (+5V) überein. Der Wert 'Data1' oder 'Data2' zwischen diesen 2 Äußersten kann
mit der folgenden Formel wiedergegeben werden: Data / 255 x 5V.
OutputAllAnalog(127, 255);
// DA channel 1 is set to 2.5V and channel 2 is set to 5V
PROCEDURE ClearAnalogChannel(Channel: Longint);
Der Wert zwischen 1 und 2, der mit der '8-Bit DA' Kanalnummer, in der die Daten gelöscht
werden sollen, übereinstimmt.
Der ausgewählte DA-Kanal ist auf die minimale Ausgangsspannung (0 Volt) eingestellt.
ClearAnalogChannel (1); // DA channel 1 is set to 0V
© 2003 ... Velleman