2.2.1. Schritt 1 - Installation der Software und Treiber
2.2.2. Schritt 2 - Anschluss des Moduls
2.2.3. Schritt 3 - Test der Verbindung und des Moduls
2.3. Technische Daten10
2.4. Übersichtsbilder11
2.4.1. Übersichtsbild USB-TTL-32
2.4.2. Übersichtsbild USB-TTL-64
11
12
2.5. Blockschaltbilder13
2.5.1. Blockschaltbild USB-TTL-32
2.5.2. Blockschaltbild USB-TTL-64
13
14
2.6. Spannungspegel der TTL-I/O's konfigurieren15
2.7. Pinbelegung16
2.7.1. J1 - Pinbelegung USB-TTL-I/O 0-31
2.7.2. J2 - Pinbelegung USB-TTL-I/O 32-63
16
17
3. Software19
9
9
9
3.1. Benutzung unserer Produkte19
3.1.1. Ansteuerung über grafische Anwendungen
3.1.2. Ansteuerung über unsere DELIB Treiberbibliothek
3.1.3. Ansteuerung auf Protokollebene
3.1.4. Ansteuerung über mitgelieferte Testprogramme
19
19
19
20
Index |2Seite
INDEX
3.2. DELIB Treiberbibliothek21
3.2.1. Übersicht
3.2.1.1. Programmieren unter diversen
Betriebssystemen
3.2.1.2. Programmieren mit diversen
Programmiersprachen
3.2.1.3. Schnittstellenunabhängiges programmieren
3.2.1.4. SDK-Kit für Programmierer
3.2.2. Unterstützte Betriebssysteme
3.2.3. Unterstützte Programmiersprachen
3.2.4. Installation DELIB-Treiberbibliothek
3.2.5. DELIB Configuration Utility
21
21
22
22
22
23
23
24
27
3.3. Testprogramme28
3.3.1. Digital Input-Output Demo
28
4. DELIB API Referenz31
4.1. Verwaltungsfunktionen31
4.1.1. DapiOpenModule
4.1.2. DapiCloseModule
4.1.3. DapiGetDELIBVersion
4.1.4. DapiSpecialCMDGetModuleConfig
4.2. Fehlerbehandlung36
31
32
33
34
4.2.1. DapiGetLastError
4.2.2. DapiGetLastErrorText
36
37
4.3. TTL-Ein-/Ausgangs Richtungen setzen38
4.3.1. DAPI_SPECIAL_CMD_SET_DIR_DX_8
38
4.4. Digitale Eingänge lesen39
4.4.1. DapiDIGet1
4.4.2. DapiDIGet8
4.4.3. DapiDIGet16
4.4.4. DapiDIGet32
4.4.5. DapiDIGet64
39
40
41
42
43
4.5. Digitale Ausgänge verwalten44
4.5.1. DapiDOSet1
44
Index |3Seite
INDEX
4.5.2. DapiDOSet8
4.5.3. DapiDOSet16
4.5.4. DapiDOSet32
4.5.5. DapiDOSet64
4.5.6. DapiDOReadback32
4.5.7. DapiDOReadback64
45
46
47
48
49
50
4.6. Programmier-Beispiel51
5. Anhang55
5.1. Revisionen55
5.2. Urheberrechte und Marken56
Index |4Seite
Einleitung
I
Einleitung |Seite5
1. Einleitung
1.1. Vorwort
Wir beglückwünschen Sie zum Kauf eines hochwertigen DEDITEC Produktes!
Unsere Produkte werden von unseren Ingenieuren nach den heutigen geforderten
Qualitätsanforderungen entwickelt. Wir achten bereits bei der Entwicklung auf
flexible Erweiterbarkeit und lange Verfügbarkeit.
Wir entwickeln modular!
Durch eine modulare Entwicklung verkürzt sich bei uns die Entwicklungszeit und was natürlich dem Kunden zu Gute kommt - ein fairer Preis!
Wir sorgen für eine lange Lieferverfügbarkeit!
Sollten verwendete Halbleiter nicht mehr verfügbar sein, so können wir schneller
reagieren. Bei uns müssen meistens nur Module redesigned werden und nicht das
gesamte Produkt. Dies erhöht die Lieferverfügbarkeit.
1.2. Kundenzufriedenheit
Ein zufriedener Kunde steht bei uns an erster Stelle!
Sollte mal etwas nicht zu Ihrer Zufriedenheit sein, wenden Sie sich einfach per
Telefon oder mail an uns.
Wir kümmern uns darum!
1.3. Kundenresonanz
Die besten Produkte wachsen mit unseren Kunden. Für Anregungen oder
Vorschläge sind wir jederzeit dankbar.
Einleitung |Seite6
Hardware Beschreibung
II
Hardware Beschreibung |Seite7
2. Hardware Beschreibung
2.1. Einführung
Das USB-TTL-32 und das USB-TTL-64 finden dort Einsatz, wo über den USB-Bus
direkt auf TTL-Ein- bzw. Ausgänge zugegriffen werden soll. Durch die mitgelieferte
Treiberbibliothek ist ein einfaches Ansprechen der Module möglich.
Die TTL-Ein/Ausgänge können in 8-er Blöcken als Ein- oder Ausgang per
Software programmiert werden.
Hardware Beschreibung |Seite8
2.2. Kurzanleitung Installation
2.2.1. Schritt 1 - Installation der Software und Treiber
Installieren Sie nun die DELIB-Treiberbibliothek mit der Datei
"delib_install.exe" von der im Lieferumfang enthaltenen DEDITEC-Treiber CD.
Diese finden Sie im Verzeichnis "\zip\delib\delib_install.exe" der DEDITECTreiber CD.
Anmerkung: Auf unserer Website http://www.deditec.de/delib finden Sie immer die
aktuellste DELIB Treiber Version.
2.2.2. Schritt 2 - Anschluss des Moduls
Verbinden Sie ihren PC per USB-Kabel mit dem USB-Anschluss des Moduls.
Nach etwa 20 Sekunden wird das Modul vom Treiber erkannt und kann nun
getestet und betrieben werden.
2.2.3. Schritt 3 - Test der Verbindung und des Moduls
Im Startmenü finden Sie unter "Start -> Alle Programme -> DEDITEC -> DELIB ->
Sample Programs" Beispiel-Programme um Ihr Modul zu testen.
Hardware Beschreibung |Seite9
2.3. Technische Daten
Produkt
TTL-I/O's
Steckverbinder
USB-TTL-32
32
1*37 polige D-Sub Buchse
USB-TTL-64
64
2*37 polige D-Sub Buchse
USB-Interface (USB 1.1 / USB 2.0)
Spannungsversorgung: +5V (wird über USB-Bus versorgt)
TTL Pegel 5V bis 1,5V
TTL-I/O's (in 8-er Blöcken als Ein- oder Ausgang einstellbar)
Aktivitäts-LED Power (Signalisiert, dass sich das Modul in Betrieb befindet)
IO-Access-LED (Signalisiert den Zugriff auf die TTL-I/O)
USB-Activity-LED (Signalisiert, dass eine Signalverarbeitung über den USB-Bus
stattfindet)
Betriebstemperatur 10°C..+50°C
Abmessungen 90 mm x 77 mm x 42 mm (L x B x H)
Produktspezifische Daten:
Hardware Beschreibung |Seite10
2.4. Übersichtsbilder
2.4.1. Übersichtsbild USB-TTL-32
Hardware Beschreibung |Seite11
2.4.2. Übersichtsbild USB-TTL-64
Hardware Beschreibung |Seite12
2.5. Blockschaltbilder
2.5.1. Blockschaltbild USB-TTL-32
Hardware Beschreibung |Seite13
2.5.2. Blockschaltbild USB-TTL-64
Hardware Beschreibung |Seite14
2.6. Spannungspegel der TTL-I/O's konfigurieren
TTL Pegel von 1,8V bis 5V:
Standardmäßig können Sie TTL Pegel wahlweise von 3,3V oder 5V über eine
jeweilige Jumperbelegung einstellen.
Entfernen Sie die Jumper auf dem Modul, so können Sie eine eigene Spannung
von 1,8V bis 5V an die TTL-I/O's des Moduls anlegen, wodurch die
Einsatzmöglichkeiten bei Ihnen erheblich gesteigert werden.
Wenn Sie eine eigene Spannung anlegen möchten, geschieht dies über den VINPin siehe Kapitel Pinbelegung.
DieTTL-I/O's des Moduls werden dabei in 16er Blöcken konfiguriert.
Hardware Beschreibung |Seite15
2.7. Pinbelegung
Port
Pin
Port
Pin1I/O 16
20
I/O 17
2
I/O 18
21
I/O 19
3
I/O 20
22
I/O 21
4
I/O 22
23
I/O 23
5
I/O 24
24
I/O 25
6
I/O 26
25
I/O 27
7
I/O 28
26
I/O 29
8
I/O 30
27
I/O 31
9
I/O 0
28
I/O 1
10
I/O 2
29
I/O 3
11
I/O 4
30
I/O 5
12
I/O 6
31
I/O 7
13
I/O 8
32
I/O 9
14
I/O 10
33
I/O 11
15
I/O 12
34
I/O 13
16
I/O 14
35
I/O 15
17
VIN 0-15
36
VIN 16-31
18
GND
37
GND
19
GND
2.7.1. J1 - Pinbelegung USB-TTL-I/O 0-31
Anmerkung: Der VIN-Pin dient dazu, eine eigene Spannung an die TTL-I/O's des
Moduls zu legen. Diese Spannung kann zwischen 1,8V und 5V liegen.
Hardware Beschreibung |Seite16
2.7.2. J2 - Pinbelegung USB-TTL-I/O 32-63
Port
Pin
Port
Pin1I/O 48
20
I/O 49
2
I/O 50
21
I/O 51
3
I/O 52
22
I/O 53
4
I/O 54
23
I/O 55
5
I/O 56
24
I/O 57
6
I/O 58
25
I/O 59
7
I/O 60
26
I/O 61
8
I/O 62
27
I/O 63
9
I/O 32
28
I/O 33
10
I/O 34
29
I/O 35
11
I/O 36
30
I/O 37
12
I/O 38
31
I/O 39
13
I/O 40
32
I/O 41
14
I/O 42
33
I/O 43
15
I/O 44
34
I/O 45
16
I/O 46
35
I/O 47
17
VIN 32-47
36
VIN 48-63
18
GND
37
GND
19
GND
Anmerkung: Der VIN-Pin dient dazu, eine eigene Spannung an dieTTL-I/O's des
Moduls zu legen. Diese Spannung kann zwischen 1,8V und 5V liegen.
Hardware Beschreibung |Seite17
Software
III
Software |Seite18
3. Software
3.1. Benutzung unserer Produkte
3.1.1. Ansteuerung über grafische Anwendungen
Wir stellen Treiberinterfaces z.B. für LabVIEW und ProfiLab zur Verfügung. Als
Basis dient die DELIB Treiberbibliothek, die von ProfiLab direkt angesteuert
werden kann.
Für LabVIEW bieten wir eine einfache Treiberanbindung mit Beispielen an!
3.1.2. Ansteuerung über unsere DELIB Treiberbibliothek
Im Anhang befindet sich die komplette Funktionsreferenz für das Integrieren
unserer API-Funktionen in Ihre Software. Des Weiteren bieten wir passende
Beispiele für folgende Programmiersprachen:
C
C++
C#
Delphi
VisualBasic
VB.NET
MS-Office
3.1.3. Ansteuerung auf Protokollebene
Das Protokoll für die Ansteuerung unserer Produkte legen wir komplett offen. So
können Sie auch auf Systemen ohne Windows oder Linux unsere Produkte
einsetzen!
Software |Seite19
3.1.4. Ansteuerung über mitgelieferte Testprogramme
Für die wichtigsten Funktionen unserer Produkte stellen wir einfach zu bedienende
Testprogramme zur Verfügung,. Diese werden bei der Installation der DELIB
Treiberbibliothek direkt mit installiert.
So können z.B. Relais direkt getestet werden oder Spannungen am A/D Wandler
direkt überprüft werden.
Software |Seite20
3.2. DELIB Treiberbibliothek
3.2.1. Übersicht
Die folgende Abbildung erläutert den Aufbau der DELIB Treiberbibliothek
Die DELIB Treiberbibliothek ermöglicht ein einheitliches Ansprechen von
DEDITEC Hardware, mit der besonderen Berücksichtigung folgender
Gesichtspunkte:
3.2.1.1. Programmieren unter diversen Betriebssystemen
Die DELIB Treiberbibliothek ermöglicht ein einheitliches Ansprechen unserer
Produkte auf diversen Betriebssystemen. Wir haben dafür gesorgt, dass mit
wenigen Befehlen alle unsere Produkte angesprochen werden können. Dabei
spielt es keine Rolle, welches Betriebssystem Sie verwenden. - Dafür sorgt die
DELIB !
Software |Seite21
3.2.1.2. Programmieren mit diversen Programmiersprachen
Für das Erstellen eigener Anwendungen stellen wir Ihnen einheitliche Befehle zur
Verfügung. Dies wird über die DELIB Treiberbibliothek gelöst.
Sie wählen die Programmiersprache !
So können leicht Anwendung unter C++, C, Visual Basic, Delphi oder LabVIEW®
entwickelt werden.
3.2.1.3. Schnittstellenunabhängiges programmieren
Schreiben Sie Ihre Anwendung schnittstellenunabhängig !
Programmieren Sie eine Anwendung für ein USB-Produkt von uns. - Es wird auch
mit einem Ethernet oder RS-232 Produkt von uns laufen !
3.2.1.4. SDK-Kit für Programmierer
Integrieren Sie die DELIB in Ihre Anwendung. Auf Anfrage erhalten Sie von uns
kostenlos Installationsskripte, die es ermöglichen, die DELIB Installation in Ihre
Anwendung mit einzubinden.
Windows 7
Windows Vista
Windows XP
Windows 2000
Linux
3.2.3. Unterstützte Programmiersprachen
Unsere Produkte sind über folgende Programmiersprachen ansprechbar:
C
C++
C#
Delphi
VisualBasic
VB.NET
MS-Office
Software |Seite23
3.2.4. Installation DELIB-Treiberbibliothek
Startbild unseres DELIB Installers.
Legen Sie die DEDITEC driver CD in das Laufwerk und starten Sie
“delib_install.exe”. Die DELIB-Treiberbibliothek ist auch unter http://www.
deditec.de/delib erhältlich.
Software |Seite24
Drücken Sie auf “Install”.
Software |Seite25
Die Treiber werden nun installiert.
Die DELIB Treiberbibliothek wurde nun Installiert. Drücken sie auf “Close” um die
Installation zu beenden.
Mit dem “DELIB Configuration Utility” (nächstes Kapitel) können Sie Ihr Modul
konfigurieren (dies ist nur nötig, wenn Sie mehr als ein Modul ansprechen
möchten).
Software |Seite26
3.2.5. DELIB Configuration Utility
“DELIB Configuration Utility” wird auf dem folgendem Weg gestartet:
Start Programme DEDITEC DELIB DELIB Configuration Utility.
Das “DELIB Configuration Utility” ist ein Programm zur Konfiguration und
Unterteilung Identischer USB-Module im System. Dies ist aber nicht nötig falls nur
ein Modul vorhanden ist.
Weiteres zum Inhalt der “DELIB Installation”, siehe “Manual für DELIB
Treiberbibliothek”
Software |Seite27
3.3. Testprogramme
3.3.1. Digital Input-Output Demo
“Digital Input-Output Demo” wird auf dem folgendem Weg gestartet:
Start Programme DEDITEC DELIB Digital Input-Output Demo.
Diese Grafik zeigt einen Test des RO-USB-O64-R64. Oben links kann man die
Konfiguration des Moduls ablesen (64 Eingänge und 64 Ausgänge).
Software |Seite28
Software |Seite29
DELIB API Referenz
IV
DELIB API Referenz |Seite30
4. DELIB API Referenz
// USB-Modul öffnen
handle = DapiOpenModule(RO_USB1, 0);
printf("handle = %x\n", handle);
if (handle==0)
{
// USB Modul wurde nicht gefunden
printf("Modul konnte nicht geöffnet werden\n");
return;
}
4.1. Verwaltungsfunktionen
4.1.1. DapiOpenModule
Beschreibung
Diese Funktion öffnet ein bestimmtes Modul.
Definition
ULONG DapiOpenModule(ULONG moduleID, ULONG nr);
Parameter
moduleID=Gibt das Modul an, welches geöffnet werden soll (siehe delib.h)
nr=Gibt an, welches (bei mehreren Modulen) geöffnet werden soll.
nr=0 -> 1. Modul
nr=1 -> 2. Modul
Return-Wert
handle=Entsprechender Handle für das Modul
handle=0 -> Modul wurde nicht gefunden
Bemerkung
Der von dieser Funktion zurückgegebene Handle wird zur Identifikation des Moduls
für alle anderen Funktionen benötigt.
Programmierbeispiel
DELIB API Referenz |Seite31
4.1.2. DapiCloseModule
// Modul schliessen
DapiCloseModule(handle);
Beschreibung
Dieser Befehl schliesst ein geöffnetes Modul.
Definition
ULONG DapiCloseModule(ULONG handle);
Parameter
handle=Dies ist das Handle eines geöffneten Moduls
Return-Wert
Keiner
Programmierbeispiel
DELIB API Referenz |Seite32
4.1.3. DapiGetDELIBVersion
version = DapiGetDELIBVersion(0, 0);
//Bei installierter Version 1.32 ist version = 132(hex)
Beschreibung
Diese Funktion gibt die installierte DELIB-Version zurück.
Definition
ULONG DapiGetDELIBVersion(ULONG mode, ULONG par);
Parameter
mode=Modus, mit dem die Version ausgelesen wird (muss immer 0 sein).
par=Dieser Parameter ist nicht definiert (muss immer 0 sein).
Return-Wert
version=Versionsnummer der installierten DELIB-Version [hex]
Programmierbeispiel
DELIB API Referenz |Seite33
4.1.4. DapiSpecialCMDGetModuleConfig
Beschreibung
Diese Funktion gibt die Hardwareaustattung (Anzahl der Ein- bzw.
Ausgangskanäle) des Moduls zurück.
handle=Dies ist das Handle eines geöffneten Moduls
Anzahl der digitalen Eingangskanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI
Anzahl der digitalen Ausgangskanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO
Anzahl der digitalen Ein-/Ausgangskanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX
Anzahl der analogen Eingangskanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD
Anzahl der analogen Ausgangskanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA
Anzahl der Stepperkanäle abfragen
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER
DELIB API Referenz |Seite34
Return-Wert
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
//Gibt die Anzahl der digitalen Eingangskanäle zurück
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0);
//Gibt die Anzahl der digitalen Ausgangskanäle zurück
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX, 0, 0);
//Gibt die Anzahl der digitalen Ein-/Ausgangskanäle zurück
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD, 0, 0);
//Gibt die Anzahl der analogen Eingangskanäle zurück
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA, 0, 0);
//Gibt die Anzahl der analogen Ausgangskanäle zurück
ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER, 0, 0);
//Gibt die Anzahl der Stepperkanäle zurück
handle=Dies ist das Handle eines geöffneten Moduls
ch=Gibt die Nummer des zu setzenden Ausgangs an (0 .. )
data=Gibt den Datenwert an, der geschrieben wird (0 / 1)
Return-Wert
Keiner
DELIB API Referenz |Seite44
4.5.2. DapiDOSet8
Beschreibung
Dieser Befehl setzt gleichzeitig 8 digitale Ausgänge.
handle=Dies ist das Handle eines geöffneten Moduls
ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 16,
32, ..)
data=Gibt die Datenwerte an, die geschrieben werden
Return-Wert
Keiner
DELIB API Referenz |Seite46
4.5.4. DapiDOSet32
// Einen Wert auf die Ausgänge schreiben
data = 0x0000ff00; // Ausgänge 9-16 werden auf 1 gesetzt
DapiDOSet32(handle, 0, data); // Chan Start = 0
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();
// ---------------------------------------------------// Einen Wert auf die Ausgänge schreiben
data = 0x80000000; // Ausgang 32 wird auf 1 gesetzt
DapiDOSet32(handle, 0, data); // Chan Start = 0
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();
// ---------------------------------------------------// Einen Wert auf die Ausgänge schreiben
data = 0x80000000; // Ausgang 64 wird auf 1 gesetzt
DapiDOSet32(handle, 32, data); // Chan Start = 32
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();
Beschreibung
Dieser Befehl setzt gleichzeitig 32 digitale Ausgänge.
handle=Dies ist das Handle eines geöffneten Moduls
ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 64, ..)
data=Gibt die Datenwerte an, die geschrieben werden
Return-Wert
Keiner
DELIB API Referenz |Seite48
4.5.6. DapiDOReadback32
Beschreibung
Dieser Befehl liest die 32 digitalen Ausgänge zurück.
Definition
ULONG DapiDOReadback32(ULONG handle, ULONG ch);
Parameter
handle=Dies ist das Handle eines geöffneten Moduls
ch=Gibt die Nummer des Ausgangs an, ab dem zurückgelesen werden soll (0, 32,
64, ..)
Return-Wert
Zustand von 32 Ausgängen.
DELIB API Referenz |Seite49
4.5.7. DapiDOReadback64
Beschreibung
Dieser Befehl liest die 64 digitalen Ausgänge zurück.