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-OPTOIN-8-RELAIS-8
2.4.2. Übersichtsbild USB-OPTOIN-16-RELAIS-16
2.4.3. Übersichtsbild USB-OPTOIN-32-RELAIS-32
2.4.4. Übersichtsbild USB-OPTOIN-32
2.4.5. Übersichtsbild USB-RELAIS-32
2.4.6. Übersichtsbild USB-OPTOIN-64
2.4.7. Übersichtsbild USB-RELAIS-64
11
12
13
14
15
16
17
2.5. Pinbelegung18
2.5.1. Pinbelegung Ausgänge
2.5.2. Pinbelegung Eingänge
18
19
2.6. J2 - Konfiguration der Spannungsversorgung20
9
9
9
2.7. Ausgänge21
2.7.1. Relais Ausgänge
2.7.2. Timeout-Schutz
2.7.3. Visuelle Kontrolle der Ausgänge
21
21
21
2.8. Eingänge22
Index |2Seite
INDEX
2.8.1. Erfassen von schnellen Eingangsimpulsen
2.8.2. Galvanische Trennung durch Optokoppler
2.8.3. Visuelle Kontrolle der Eingänge
22
22
22
3. Software24
3.1. Benutzung unserer Produkte24
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
3.2. DELIB Treiberbibliothek26
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
3.3. Testprogramme33
24
24
24
25
26
26
27
27
27
28
28
29
32
3.3.1. Digital Input-Output Demo
33
4. DELIB API Referenz36
4.1. Verwaltungsfunktionen36
4.1.1. DapiOpenModule
4.1.2. DapiCloseModule
4.1.3. DapiGetDELIBVersion
4.1.4. DapiSpecialCMDGetModuleConfig
36
37
38
39
4.2. Fehlerbehandlung41
4.2.1. DapiGetLastError
4.2.2. DapiGetLastErrorText
41
42
4.3. Digitale Eingänge lesen43
Index |3Seite
INDEX
4.3.1. DapiDIGet1
4.3.2. DapiDIGet8
4.3.3. DapiDIGet16
4.3.4. DapiDIGet32
4.3.5. DapiDIGet64
4.3.6. DapiDIGetFF32
4.3.7. DapiDIGetCounter
43
44
45
46
47
48
49
4.4. Digitale Ausgänge verwalten50
4.4.1. DapiDOSet1
4.4.2. DapiDOSet8
4.4.3. DapiDOSet16
4.4.4. DapiDOSet32
4.4.5. DapiDOSet64
4.4.6. DapiDOReadback32
4.4.7. DapiDOReadback64
50
51
52
53
54
55
56
4.5. Ausgabe-Timeout verwalten57
4.5.1. DapiSpecialCMDTimeout
4.5.2. DapiSpecialCMDTimeoutGetStatus
57
58
4.6. Programmier-Beispiel59
5. Anhang64
5.1. Revisionen64
5.2. Urheberrechte und Marken65
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
Die USB-OPTOIN-X-RELAIS-X Module verfügen über Relais mit einer maximalen
Schaltspannung von 36V DC (max. 1A, 15 Watt) sowie über Opto-In Eingänge, die
sich für den industriellen Einsatz zur Erfassung von Zuständen oder auch zum
Zählen von Zustandsänderungen der Eingänge eignen.
Unsere USB Module sind für den industriellen Einsatz zur Messung, Steuerung und
Regelung entwickelt worden. Die Module verfügen alle über ein USB-Interface und
können daher an PC-Systeme mit USB-Bus angeschlossen werden. Der USB-Bus
hat sich seit vielen Jahren im Einsatz bewährt und zeichnet sich durch seine hohe
Flexibilität aus.
Als Anschlussklemmen kommen servicefreundliche Steckleisten mit
Verriegelungsschutz und Auswerfmechanik zum Einsatz. Diese ermöglichen ein
schnelles, nachträgliches Umstecken der angeschlossenen Anlagen. Der
Leitungsanschluß selbst erfolgt über ein schraubenloses Stecksystem.
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
Eingänge
Ausgänge
Länge x Breite x Höhe in mm
USB-OPTOIN-8-RELAIS-8
88102,5 x 105 x 74,5
USB-OPTOIN-16-RELAIS-16
16
16
125 x 105 x 74,5
USB-OPTOIN-32
32
-
USB-RELAIS-32
-
32
USB-OPTOIN-32-RELAIS-32
32
32
230 x 105 x 74,5
USB-OPTOIN-64
64
-
USB-RELAIS-64
-
64
USB-Interface (USB 1.1 / USB 2.0)
Spannungsversorgung: +5V (wird über USB-Bus versorgt)
8/16/32/64 Optokoppler Eingänge je nach Modul
Variabler Eingangsspannungsbereich min. 5V, max. 30V AC (Standard: 15-
30V)
Galvanisch getrennt durch Optokoppler
Erfassung von Impulsen zwischen 2 Auslesetakten
8/16/32/64 Relais Ausgänge je nach Modul (36V, 1A, 15W, Schließer-Relais)
Timeout Schutz
Galvanisch getrennt durch Relais
Betriebstemperatur: 10°C .. 50°C
Produktspezifische Daten:
Hardware Beschreibung |Seite10
2.4. Übersichtsbilder
2.4.1. Übersichtsbild USB-OPTOIN-8-RELAIS-8
Hardware Beschreibung |Seite11
2.4.2. Übersichtsbild USB-OPTOIN-16-RELAIS-16
Hardware Beschreibung |Seite12
2.4.3. Übersichtsbild USB-OPTOIN-32-RELAIS-32
Hardware Beschreibung |Seite13
2.4.4. Übersichtsbild USB-OPTOIN-32
Hardware Beschreibung |Seite14
2.4.5. Übersichtsbild USB-RELAIS-32
Hardware Beschreibung |Seite15
2.4.6. Übersichtsbild USB-OPTOIN-64
Hardware Beschreibung |Seite16
2.4.7. Übersichtsbild USB-RELAIS-64
Hardware Beschreibung |Seite17
2.5. Pinbelegung
Pin
Belegung
1a
Output Channel 1
1b
Output Channel 1
2a
Output Channel 2
2b
Output Channel 2
3a
Output Channel 3
3b
Output Channel 3
4a
Output Channel 4
4b
Output Channel 4
5a
Output Channel 5
5b
Output Channel 5
6a
Output Channel 6
6b
Output Channel 6
7a
Output Channel 7
7b
Output Channel 7
8a
Output Channel 8
8b
Output Channel 8
2.5.1. Pinbelegung Ausgänge
Hardware Beschreibung |Seite18
2.5.2. Pinbelegung Eingänge
Pin
Belegung
1a
Input Channel 1
1b
Input Channel 1
2a
Input Channel 2
2b
Input Channel 2
3a
Input Channel 3
3b
Input Channel 3
4a
Input Channel 4
4b
Input Channel 4
5a
Input Channel 5
5b
Input Channel 5
6a
Input Channel 6
6b
Input Channel 6
7a
Input Channel 7
7b
Input Channel 7
8a
Input Channel 8
8b
Input Channel 8
Hardware Beschreibung |Seite19
2.6. J2 - Konfiguration der Spannungsversorgung
Die Konfiguration der Spannungsversorgung erfolgt über einen Jumper. (J2)
Versorgung über den USB-Bus (J3) des Modules
Jumperstellung Pin 1 & 2
(+5V DC)
Anmerkung: Bei zuvielen Relais kann eine ausreichende Spannungsversorgung
über die USB-Schnittstelle nicht immer
gewährleistet werden.
Versorgung durch eine externe Spannungszufuhr (J1)
Jumperstellung Pin 2 & 3
(+7-24V DC)
Hardware Beschreibung |Seite20
2.7. Ausgänge
2.7.1. Relais Ausgänge
Durch den Einsatz von Relais lassen sich Spannungen von bis zu 36V schalten.
Die maximale Strombelastbarkeit beträgt 1A bei einer maximalen Schaltleistung
von 15W.
Außerdem sorgen die Relais für eine sichere galvanische Trennung des Moduls
von den angeschlossenen Anlagen.
2.7.2. Timeout-Schutz
Der Timeout-Schutz bietet die Möglichkeit die Ausgänge selbstständig
abzuschalten. Dies geschieht immer dann, wenn in einem vorher definierten
Zeitfenster keine Nachrichten mehr vom Modul empfangen werden. Gründe können
sein: Leitungsunterbrechung, PC / Serverabsturz usw. Dadurch können
Steuerungsschäden, Überlastung der angeschlossenen Anlagen und
Unfallgefahren verhindert werden.
2.7.3. Visuelle Kontrolle der Ausgänge
Über eine LED wird der Zustand jedes Ausgangs direkt angezeigt. Signale an den
Ausgängen sind somit einfacher zu erkennen und Fehler in der Verdrahtung lassen
sich dadurch schneller beheben.
Hardware Beschreibung |Seite21
2.8. Eingänge
2.8.1. Erfassen von schnellen Eingangsimpulsen
Schnelle Zustandswechsel an den Eingängen, die innerhalb von größeren
Auslesezyklen auftreten, werden durch eine zusätzliche Logik erfasst und können
separat per Software ausgelesen werden.
2.8.2. Galvanische Trennung durch Optokoppler
Wechselspannungs geeignete Eingangs-Optokoppler sorgen zum einem für eine
galvanische Trennung des Moduls zu den angeschlossenen Anlagen und zum
anderen verhindert man eine Beschädigung des Moduls bei verpoltem Anschluss
oder auftretenden Spannungspitzen o.ä. im Steuerstromkreis.
2.8.3. Visuelle Kontrolle der Eingänge
Über eine LED wird der Zustand jedes Eingangs direkt angezeigt. Signale an den
Eingängen sind somit einfacher zu erkennen und Fehler in der Verdrahtung lassen
sich dadurch schneller beheben.
Hardware Beschreibung |Seite22
Software
III
Software |Seite23
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 |Seite24
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 |Seite25
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 |Seite26
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 |Seite28
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 |Seite29
Drücken Sie auf “Install”.
Software |Seite30
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 |Seite31
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 |Seite32
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 |Seite33
Software |Seite34
DELIB API Referenz
IV
DELIB API Referenz |Seite35
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 |Seite36
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 |Seite37
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 |Seite38
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 |Seite39
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 Eingangs an, ab dem gelesen werden soll
mode=0 (Normale Zählfunktion)
mode=DAPI_CNT_MODE_READ_WITH_RESET (Zähler auslesen und direktes
Counter resetten)
mode=DAPI_CNT_MODE_READ_LATCHED (Auslesen des gespeicherten
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 |Seite50
4.4.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 |Seite52
4.4.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 |Seite54
4.4.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 |Seite55
4.4.7. DapiDOReadback64
Beschreibung
Dieser Befehl liest die 64 digitalen Ausgänge zurück.
DAPI_SPECIAL_TIMEOUT_SET_VALUE_SEC, 5, 0);
IsError();
printf("Timeout has been set to 5 seconds\n");
printf("Press any key to continue\n");
getch();
// ---------------------------------------------------------// Activate timeout and switch on output channels 0-3
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_ACTIVATE, 0, 0);
IsError();
DapiDOSet8(handle, 0, 15);
IsError();
printf("Timeout has been activated\n");
printf("Output channels 0-3 have been switched on and will be switched
off automatically after 5 seconds\n");
printf("Press any key to continue\n");
getch();