Velleman K8055 D Manuel utilisateur
Vous trouverez ci-dessous des informations sur K8055 Interface USB. Cette carte d'interface dispose de 5 canaux d'entrée digitale et de 8 canaux de sortie digitale. Il existe également 2 entrées analogiques, 2 sorties de tension analogique et 2 sorties PWM (Pulse Width Modulation) à résolution 8 bits. Le nombre d'entrées et de sorties peut être étendu en connectant plusieurs cartes (max. 4) sur les connecteurs USB de l'ordinateur.
PDF
Télécharger
Document
K8055D.DLL
1
Introduction à la DLL pour la carte 'USB Experiment Interface Board
K8055'
Pour K8055.DLL ou K8055D_C.DLL, version 2.0x et plus
La carte interface K8055 dispose de 5 canaux d'entrée digitaux et de 8 canaux de sortie digitaux. Puis
il y a encore e entrées analogues, 2 sorties de tension analogues et 2 sorties PWM (Pulse Width
Modulation) à résolution 8 bits. Le nombre d'entrées et de sorties peut être agrandi en connectant
plus de cartes (max. 4) sur les connecteurs USB de l'ordinateur. Chaque carte a un propre numéro
d'identification qui est déterminé avec 2 cavaliers, SK5 et SK6 (voir tableau 1 ci-dessous pour la
numérotation des cartes).
Toutes les routines de communication sont groupés dans une DLL (Dynamic Link Library bibliothèque de liens dynamiques) K8055D.DLL.
Ce document décrit toutes les fonctions et procédures de la DLL qui sont accessibles par votre
programme d'application. En appelant les fonctions et les procédures de la DLL, vous pouvez écrire
vos propres applications en Windows (98SE, 2000, Me, XP), Delphi, Visual Basic, C++ Builder ou
n'importe quel autre outil de développement d'application à 32 bits qui supporte des appels à une
DLL.
Si vous désirez utiliser Visual C++, vous aurez besoin des fichiers spéciaux K8055D_C.DLL et
K8055D_C.LIB, même dans le projet VC++.
Toutes les fonctions et les procédures supportées du K8055D.DLL et du K8055D_C.DLL sont
identiques. La seule différence est située dans la convention d'appel pour les utilisateurs de C++.
Ci-dessous, vous trouverez un aperçu complet des procédures et fonctions exportées par la
K8055D.DLL. A la fin de ce document vous trouverez des listings de programmes exemplaires pour
vous donner une idée comment vous pouvez faire vos propres programmes d'application. Les
exemples sont écrits en Delphi, Visual Basic et C++ Builder.
Les listings contiennent des explications complètes pour les fonctions et procédures DLL.
Notez que tous les exemples dans la partie des descriptions des fonctions et des procédures sont
écrits pour Delphi.
SK5
SK6
ADRESSE DE LA CARTE
ON
ON
0
OFF
ON
1
ON
OFF
2
OFF
OFF
3
TABLE 1: Jumper SK5, SK6 Settings
Remarque: le réglage des cavaliers doit être fait avant que le câble USB soit connecté avec la carte
K8055 ou avant que l'ordinateur soit allumé.
* VM110 est la version montée de la K8055.
© 2005 ... Velleman
2
Description of the DLL
Aperçu des procédures et fonctions de la K8055D.DLL
Procédures générales
OpenDevice(CardAddress)
CloseDevice
Ouvre le lien de communication avec le K8055
Ferme le lien avec le K8055
Procédures de conversion analogue-numérique
ReadAnalogChannel(Channelno)
Lit l'état d'un canal d'entrée analogue
ReadAllAnalog(Data1, Data2)
Lit l'état des deux canaux d'entrée analogue
Procédures de conversion numérique analogue
OutputAnalogChannel(Channel,Data) Règle le canal de sortie analogue selon les
données
OutputAllAnalog(Data1,Data2)
Règle les deux canaux de sortie analogues selon
les données
ClearAnalogChannel(Channel)
Met le canal de sortie analogue sur le minimum
ClearAllAnalog
Met tous les canaux de sortie analogues sur le
minimum
SetAnalogChannel(Channel)
Met le canal de sortie analogue sur le maximum
SetAllAnalog
Met tous les canaux de sortie analogues sur le
maximum
Procédures des sorties numériques
WriteAllDigital(Data)
ClearDigitalChannel(Channel)
ClearAllDigital
SetDigitalChannel(Channel)
SetAllDigital
Règle les sorties numériques selon les données
efface le canal de sortie numérique
efface tous les canaux de sortie numériques
Règle le canal de sortie
Règle tous les canaux de sortie
Fonctions et procédures des entrées numériques
ReadDigitalChannel(Channel)
Lit l'état du canal d'entrée
ReadAllDigital(Buffer)
Lit l'état de tous les canaux d'entrée
Procédures et fonctions des compteurs
ResetCounter(CounterNr)
Réinitialise le compteur d'impulsions 16 bit numéro
1 ou 2
ReadCounter(CounterNr)
Lit le contenu du compteur d'impulsions numéro 1
ou 2
SetCounterDebounceTime(CounterNr, DebounceTime)
Règle le temps d'élimination du rebondissement
selon le compteur d'impulsions
© 2005 ... Velleman
K8055D.DLL
3
Procédures et fonctions de la K8055D.DLL
OpenDevice
Syntaxe
FUNCTION OpenDevice(CardAddress: Longint): Longint;
Paramètre
CardAddress: Valeur entre 0 et 3 qui correspond au réglage du cavalier (SK5, SK6) sur le K8055. Voir
tableau 1..
Résultat
Longint: Si réussi, la valeur de retour sera l'adresse de carte du matériel K8055. ne valeur de
retour de -1 indique que la carte K8055 n'a pas été trouvée.
Description
Ouvre le lien de communication avec la carte K8055. Charge les programmes de gestion nécessaires
pour pouvoir communiquer par la porte USB. Cette procédure doit être exécutée avant que vous
puissiez essayer de communiquer avec la carte K8055.
Cette fonction peut également être utilisée pour écrire sur la carte K8055 active et la lire. Toutes les
routines de communication qui viennent après cette fonction sont dirigées à cette carte jusqu'à ce
qu'une autre carte soit sélectionnée avec cette fonction.
Exemple
var h: longint;
BEGIN
h:=OpenDevice(0); // Opens the link to card number 0
END;
CloseDevice
Syntaxe
PROCEDURE CloseDevice;
Description
Charge les routines de communication pour la carte K8055 et le programme de gestion pour la
communication par la porte USB. C'est la dernière action du programme d'application avant qu'il se
ferme.
Exemple
BEGIN
CloseDevice; // The communication to the K8055 device is closed
END;
© 2005 ... Velleman
4
Description of the DLL
ReadAnalogChannel
Syntaxe
FUNCTION ReadAnalogChannel (Channel: Longint): Longint;
Paramètre
Channel: Valeur entre 1 et 2, correspond au canal AD dont l'état doit être lu.
Résultat
Longint: Les données correspondantes du convertisseur numérique-analogue sont lues.
Description
La tension d'entrée du canal de convertisseur analogue-numérique 8 bit sélectionné est convertie en
une valeur entre 0 et 255.
Exemple
var data: longint;
BEGIN
data := ReadAnalogChannel(1);
// AD channel 1 is read to variable 'data'
END;
ReadIAllAnalog
Syntaxe
PROCEDURE ReadAllAnalog(var Data1, Data2: Longint);
Paramètre
Data1, Data2: Réfère aux entiers longs où sont lus les données.
Description
L'état des deux convertisseurs analogue-numérique est lu dans une série d'entiers longs.
Exemple
procedure TForm1.Button1Click(Sender: TObject);
var Data1, Data2: Longint;
begin
ReadAllAnalog(Data1, Data2); // Read the data from the K8055
Label1.caption:=inttostr(Data1); // Display CH1 data
Label2.caption:=inttostr(Data2); // Display CH2 data
end;
OutputAnalogChannel
Syntax
PROCEDURE OutputAnalogChannel(Channel: Longint; Data: Longint);
Parameters
Channel: Waarde tussen 1 en 2 die overeenkomt met het 8-bits DA kanaalnummer waarvan de data
moet worden bepaald.
Data: Waarde tussen 0 en 255 die naar de 8-bit digitaal-analoog converter moet worden gestuurd.
Omschrijving
Het aangegeven 8-bits digitaal-analoog converterkanaal wordt aangepast volgens de nieuwe data. Dit
betekent dat de data overeenkomt met een specifieke spanning. De waarde 0 komt overeen met een
minimum uitgangsspanning (0 Volt) en de waarde 255 komt overeen met de maximum
© 2005 ... Velleman
K8055D.DLL
5
uitgangsspanning (+5V). Een datawaarde tussen deze uitersten kan worden vertaald met deze
formule: Data / 255 x 5V.
Voorbeeld
BEGIN
OutputAnalogChannel (1,127);
// DA channel 1 is set to 2.5V
END;
OutputAnalogChannel
Syntaxe
PROCEDURE OutputAnalogChannel(Channel: Longint; Data: Longint);
Paramètres
Channel: Valeur entre 1 et 2 qui correspond au numéro de canal DA 8 bits dont les données doivent
être déterminées.
Data: Valeur entre 0 en 255 qui doit être envoyé au convertisseur numérique-analogue 8 bit.
Description
Le canal de convertisseur numérique-analogue 8 bit indiqué est modifié selon les nouvelles données.
Ceci signifie que les données correspondent à une tension spécifique. La valeur 0 correspond à la
tension de sortie minimum (0 Volt) et la valeur 255 correspond à la tension de sortie maximum (+5V).
Une valeur de donnée entre ces extrémités peut être traduit avec la formule: Donnée / 255 x 5V.
Exemple
BEGIN
OutputAnalogChannel (1,127);
// DA channel 1 is set to 2.5V
END;
ClearAnalogChannel
Syntaxe
PROCEDURE ClearAnalogChannel(Channel: Longint);
Paramètre
Channel: Valeur entre 1 et 2 qui correspond au numéro du canal NA 8 bit dont les données doivent
être effacées.
Description
Le canal NA sélectionné est mis sur la tension de sortie minimum (0 Volt).
Exemple
BEGIN
ClearAnalogChannel (1); // DA channel 1 is set to 0V
END;
ClearAllAnalog
Syntaxe
PROCEDURE ClearAllAnalog;
Description
Les deux canaux NA sont mis à la tension de sortie minimum (0 Volt) .
© 2005 ... Velleman
6
Description of the DLL
Exemple
BEGIN
ClearAllAnalog; // All DA channels 1 and 2 are set to 0V
END;
SetAnalogChannel
Syntaxe
PROCEDURE SetAnalogChannel(Channel: Longint);
Paramètre
Channel: Valeur entre 1 et 2 qui correspond au numéro du canal NA 8 bit dont les données doivent
être mises au maximum.
Description
Le canal de convertisseur NA 8 bit sélectionné est mis sur la tension de sortie maximum.
Exemple 15
BEGIN
SetAnalogChannel(1); // DA channel 1 is set to +5V
END;
SetAllAnalog
Syntaxe
PROCEDURE SetAllAnalog;
Description
Tous les canaux de convertisseurs NA 8 bit sont mis sur la tension de sortie maximum.
Exemple
BEGIN
SetAllAnalog; // DA channels 1 and 2 are set to +5V
END;
© 2005 ... Velleman
K8055D.DLL
7
WriteAllDigital
Syntaxe
PROCEDURE WriteAllDigital(Data: Longint);
Paramètre
Data: Valeur entre 0 et 255 qui est envoyé à la porte de sortie (8 canaux).
Description
Les canaux de la porte de sortie numérique sont mis à jour avec l'état des bits correspondants dans le
paramètre des données. Un niveau haut (1) signifie que la sortie du microcontrôleur IC1 est réglée, et
un niveau bas (0) signifie que la sortie est effacée.
Exemple
BEGIN
WriteAllDigital(7);
// Output channels 1...3 are on, output channels 4...8 are off
END;
ClearDigitalChannel
Syntaxe
PROCEDURE ClearDigitalChannel(Channel: Longint);
Paramètre
Channel: Valeur entre 1 et 8 qui correspond au canal de sortie à effacer.
Description
Le canal sélectionné est effacé.
Exemple
BEGIN
ClearIOchannel(4); // Digital output channel 4 is OFF
END;
ClearAllDigital
Syntaxe
PROCEDURE ClearAllDigital;
Résultat
Toutes les sorties numériques sont effacées.
Exemple
BEGIN
ClearAllDigital; // All Output channels 1 to 8 are OFF
END;
© 2005 ... Velleman
8
Description of the DLL
SetDigitalChannel
Syntaxe
PROCEDURE SetDigitalChannel(Channel: Longint);
Paramètre
Channel: Valeur entre 1 et 8 qui correspond au canal de sortie à régler
Description
Le canal de sortie numérique sélectionné est réglé.
Exemple
BEGIN
SetDigitalChannel(1); // Digital output channel 3 is ON
END;
SetAllDigital
Syntaxe
PROCEDURE SetAllDigital;
Description
Tous les canaux de sortie numériques sont réglés.
Exemple
BEGIN
SetAllDigital; // All Output channels are ON
END;
ReadDigitalChannel
Syntaxe
FUNCTION ReadDigitalChannel(Channel: Longint): Boolean;
Paramètre
Channel: Valeur entre 1 et 5 qui correspond au canal d'entrée à être lu.
Résultat
Boolean: TRUE signifie que le canal est réglé et FALSE signifie que le canal est effacé.
Description
L'état du canal d'entrée sélectionné est lu.
Exemple
var status: boolean;
BEGIN
status := ReadIOchannel(2); // Read Input channel 2
END;
© 2005 ... Velleman
K8055D.DLL
9
ReadAllDigital
Syntaxe
FUNCTION ReadAllDigital: Longint;
Résultat
Longint: Les 5 LSB correspondent à l'état des canaux d'entrée. Un signal haut (1) signifie que le
canal est haut (HIGH), un signal bas (0) signifie que le canal est bas (LOW).
Description
La fonction retourne les états des entrées numériques.
Exemple
var status: longint;
BEGIN
status := ReadAllDigital; // Read the Input channels
END;
ResetCounter
Syntaxe
PROCEDURE ResetCounter(CounterNumber: Longint);
Paramètre
CounterNumber: Valeur 1 ou 2, qui correspond au compteur à réinitialiser.
Description
Le compteur d'impulsions sélectionné est réinitialisé.
Exemple
BEGIN
ResetCounter(2); // Reset the counter number 2
END;
ReadCounter
Syntaxe
FUNCTION ReadCounter(CounterNumber: Longint): Longint;
Paramètre
CounterNumber: Valeur 1 ou 2, qui correspond au compteur à être lu
Résultat
Longint: Le contenu de compteur d'impulsions 16 bit.
Description
La fonction retourne l'état du compteur d'impulsions 16 bit sélectionné.
Compteur numéro 1 compte les impulsions entrantes par l'entrée I1 et compteur numéro 2 compte les
impulsions entrantes par l'entrée I2.
Exemple
var pulses: longint;
BEGIN
pulses := ReadCounter(2); // Read the counter number 2
END;
© 2005 ... Velleman
10
Description of the DLL
SetCounterDebounceTime
Syntaxe
PROCEDURE SetCounterDebounceTime(CounterNr, DebounceTime: Longint);
Paramètre
CounterNumber: Valeur 1 ou 2, qui correspond au compteur à régler.
DebounceTime: temps d'élimination du rebondissement -pour le compteur d'impulsions.
La valeur DebounceTime correspond au temps d'élimination du rebondissement en millisecondes
(ms) à être réglé pour le compteur d'impulsions. Le temps d'élimination du rebondissement peut varier
de 0 à 5000.
Description
Les signaux d'entrée du compteur sont soumis à une élimination du rebondissement dans le logiciel
afin d'éviter des fausses activations quand les entrées sont mécaniques ou à relais. Le temps
d'élimination du rebondissement est le même pour des faces descendantes que pour des faces
montantes. Le temps d'élimination du rebondissement standard est de 2ms. Ceci signifie que l'entrée
du compteur doit rester stabile pendant au moins 2ms pour être reconnu, ce qui limite le nombre
d'impulsions par seconde à environ 200.
Si le temps d'élimination du rebondissement est mis à 0, un maximum de 2000 impulsions par
seconde est possible.
Exemple
BEGIN
SetCounterDebounceTime(1,100);
// The debounce time for counter number 1 is set to 100ms
END;
© 2005 ... Velleman
K8055D.DLL
11
Nouvelles fonctions et procédures multicard
SearchDevices
Syntaxe
FUNCTION SearchDevices(): Longint;
Description
La fonction renvoie tous les appareils connectés à l'ordinateur. La valeur renvoyée est un champ bit.
Valeur à renvoyer
· Bin 0000, Dec 0: Aucun appareil identifié.
· Bin 0001, Dec 1: Adresse de carte 0 identifiée.
· Bin 0010, Dec 2: Adresse de carte 1 identifiée.
· Bin 0100, Dec 4: Adresse de carte 2 identifiée.
· Bin 1000, Dec 8: Adresse de carte 3 identifiée.
Exemple: valeur renvoyée 9 = appareils avec adresse 0 et 3 sont connectés.
Remarque
Une fois une adresse de l'appareil spécifique connectée à un programme, aucun autre
programme n'aura accès.
Exemple
var devices: longint;
BEGIN
devices := SearchDevices; // Returns all devices
END;
SetCurrentDevice
Syntaxe
FUNCTION SetCurrentDevice(Address: Longint): Longint;
Description
La fonction établit l'appareil de contrôle. La valeur renvoyée constitue l'adresse de l'appareil. Quand
cette valeur est égale à –1, aucun appareil avec paramètre d'adresse n'a été identifié.
Paramètre
Adresse: Valeur 0 à 3, correspond à l'adresse de l'appareil.
Exemple
var device: longint;
BEGIN
device := SetCurrentDevice(3); // Returns 3 if device is connected
END;
Version
Syntaxe
PROCEDURE Version;
Description
La procédure montre une fenêtre avec la version du logiciel DLL., peut être utile en cas de problèmes
avec le support.
Exemple
© 2005 ... Velleman
12
Description of the DLL
Utiliser le K8055D.DLL en Delphi
Dans cet exemple d'application se trouvent les explications des procédures et fonctions K8055D.DLL,
et un exemple démontrant l'utilisation des deux fonctions les plus importantes, OpenDevice et
CloseDevice.
unit K8055;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
SK6: TCheckBox;
SK5: TCheckBox;
Button1: TButton;
Label1: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
timed:boolean;
implementation
{$R *.DFM}
function OpenDevice(CardAddress: Longint): Longint; stdcall; external 'K8055d.dll';
procedure CloseDevice; stdcall; external 'K8055d.dll';
function ReadAnalogChannel(Channel: Longint):Longint; stdcall; external 'K8055d.dll';
procedure ReadAllAnalog(var Data1, Data2: Longint); stdcall; external 'K8055d.dll';
procedure OutputAnalogChannel(Channel: Longint; Data: Longint); stdcall; external
'K8055d.dll';
procedure OutputAllAnalog(Data1: Longint; Data2: Longint); stdcall; external 'K8055d.dll';
procedure ClearAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllAnalog; stdcall; external 'K8055d.dll';
procedure SetAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllAnalog; stdcall; external 'K8055d.dll';
procedure WriteAllDigital(Data: Longint);stdcall; external 'K8055d.dll';
procedure ClearDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllDigital; stdcall; external 'K8055d.dll';
procedure SetDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllDigital; stdcall; external 'K8055d.dll';
function ReadDigitalChannel(Channel: Longint): Boolean; stdcall; external 'K8055d.dll';
function ReadAllDigital: Longint; stdcall; external 'K8055d.dll';
function ReadCounter(CounterNr: Longint): Longint; stdcall; external 'K8055d.dll';
procedure ResetCounter(CounterNr: Longint); stdcall; external 'K8055d.dll';
procedure SetCounterDebounceTime(CounterNr, DebounceTime:Longint); stdcall; external
'K8055d.dll';
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseDevice;
end;
procedure TForm1.Button1Click(Sender: TObject);
var h,CardAddr:longint;
begin
CardAddr:= 3-(integer(SK5.Checked) + integer(SK6.Checked) * 2);
h:= OpenDevice(CardAddr);
case h of
0..3: label12.caption:='Card '+ inttostr(h)+' connected';
-1: label12.caption:='Card '+ inttostr(CardAddr)+' not found';
end;
end;
end.
© 2005 ... Velleman
K8055D.DLL
13
Utiliser le K8055D.DLL en Visual Basic
Dans cet exemple d'application se trouvent les explications des procédures et fonctions K8055D.DLL,
et un exemple démontrant l'utilisation des deux fonctions les plus importantes, OpenDevice et
CloseDevice.
Remarque: Assurez-vous du fait que le fichier K8055D.DLL soit copié au fichier 'SYSTEM32' dans
Windows:
Option Explicit
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Long)
Private Declare
Long)
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Private Declare
Boolean
Private Declare
Private Declare
Private Declare
Private Declare
DebounceTime As
Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Long) As Long
Sub CloseDevice Lib "k8055d.dll" ()
Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long) As Long
Sub ReadAllAnalog Lib "k8055d.dll" (Data1 As Long, Data2 As Long)
Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long, ByVal Data As
Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Long, ByVal Data2 As
Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long)
Sub SetAllAnalog Lib "k8055d.dll" ()
Sub ClearAllAnalog Lib "k8055d.dll" ()
Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long)
Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Long)
Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long)
Sub ClearAllDigital Lib "k8055d.dll" ()
Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long)
Sub SetAllDigital Lib "k8055d.dll" ()
Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long) As
Function ReadAllDigital Lib "k8055d.dll" () As Long
Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Long) As Long
Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Long)
Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Long, ByVal
Long)
Private Sub Connect_Click()
Dim CardAddress As Long
Dim h As Long
CardAddress = 0
CardAddress = 3 - (Check1(0).Value + Check1(1).Value * 2)
h = OpenDevice(CardAddress)
Select Case h
Case 0, 1, 2, 3
Label1.Caption = "Card " + Str(h) + " connected"
Case -1
Label1.Caption = "Card " + Str(CardAddress) + " not found"
End Select
End Sub
Private Sub Form_Terminate()
CloseDevice
End Sub
© 2005 ... Velleman
14
Description of the DLL
Utiliser le K8055D.DLL en Borland C++ Builder
Ci-dessous se trouve un listing du K8055D.h qui contient les explications des procédures et fonctions
K8055D.DLL. Un listing d'un exemple d'application démontre l'utilisation des deux fonctions les plus
importantes, OpenDevice et CloseDevice.
//Listing K8055D.h
#ifdef __cplusplus
extern "C" {
#endif
#define FUNCTION __declspec(dllimport)
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
long __stdcall OpenDevice(long CardAddress);
__stdcall CloseDevice();
long __stdcall ReadAnalogChannel(long Channel);
__stdcall ReadAllAnalog(long *Data1, long *Data2);
__stdcall OutputAnalogChannel(long Channel, long Data);
__stdcall OutputAllAnalog(long Data1, long Data2);
__stdcall ClearAnalogChannel(long Channel);
__stdcall ClearAllAnalog();
__stdcall SetAnalogChannel(long Channel);
__stdcall SetAllAnalog();
__stdcall WriteAllDigital(long Data);
__stdcall ClearDigitalChannel(long Channel);
__stdcall ClearAllDigital();
__stdcall SetDigitalChannel(long Channel);
__stdcall SetAllDigital();
bool __stdcall ReadDigitalChannel(long Channel);
long __stdcall ReadAllDigital();
long __stdcall ReadCounter(long CounterNr);
__stdcall ResetCounter(long CounterNr);
__stdcall SetCounterDebounceTime(long CounterNr, long DebounceTime);
#ifdef __cplusplus
}
#endif
//Listing Unit1.cpp
//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "K8055D.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------void __fastcall TForm1::Connect1Click(TObject *Sender)
{
int CardAddr = 3 - (int(CheckBox1->Checked) + int(CheckBox2->Checked) * 2);
int h = OpenDevice(CardAddr);
switch (h) {
case 0 :
case 1 :
case 2 :
case 3 :
Label1->Caption = "Card " + IntToStr(h) + " connected";
break;
case -1 :
Label1->Caption = "Card " + IntToStr(CardAddr) + " not found";
}
}
//--------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
CloseDevice();
}
//---------------------------------------------------------------------------
© 2005 ... Velleman
">
Lien public mis à jour
Le lien public vers votre chat a été mis à jour.
Caractéristiques clés
- 5 canaux d'entrée digitaux
- 8 canaux de sortie digitaux
- 2 entrées analogiques
- 2 sorties de tension analogique
- 2 sorties PWM (Pulse Width Modulation)
- Jusqu'à 4 cartes connectables simultanément.
Questions fréquemment posées
L'adresse de la carte est configurée à l'aide des cavaliers SK5 et SK6. Voir le tableau 1 du manuel pour les réglages spécifiques.
Le nombre d'entrées et de sorties peut être étendu en connectant jusqu'à 4 cartes K8055 sur les connecteurs USB de l'ordinateur.
La DLL K8055D.DLL est compatible avec Windows (98SE, 2000, Me, XP), Delphi, Visual Basic, C++ Builder et d'autres outils de développement d'applications 32 bits qui supportent les appels à une DLL.