USB-RELAIS-8 / USB-OPTOIN-8 Hardware-Beschreibung 2011 November
INDEX 1. Einleitung 6 1.1. Vorwort 6 1.2. Kundenzufriedenheit 6 1.3. Kundenresonanz 6 2. Hardware Beschreibung 8 2.1. Kurzanleitung Installation 8 2.1.1. Schritt 1 - Installation der Software und Treiber 2.1.2. Schritt 2 - Anschluss des Moduls 2.1.3. Schritt 3 - Test der Verbindung und des Moduls 2.2. USB-RELAIS-8 8 8 8 9 2.2.1. Produktbilder 2.2.2. Technische Daten 2.2.3. Übersichtsbild 2.2.4. Pinbelegung 9 10 11 12 2.2.4.1. J1 - Pinbelegung 12 2.2.4.2. J2 - Pinbelegung 12 2.2.5.
INDEX 3. Software 20 3.1. Benutzung unserer Produkte 20 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 Treiberbibliothek 20 20 20 21 22 3.2.1. Übersicht 22 3.2.1.1. Programmieren unter diversen Betriebssystemen 22 3.2.1.2. Programmieren mit diversen Programmiersprachen 23 3.2.1.3. Schnittstellenunabhängiges programmieren 23 3.2.1.4.
INDEX 4.3.4. DapiDIGet32 4.3.5. DapiDIGet64 4.3.6. DapiDIGetFF32 4.3.7. DapiDIGetCounter 4.4. Digitale Ausgänge verwalten 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 4.5. Programmier-Beispiel 5. Anhang 41 42 43 44 45 45 46 47 48 49 50 51 52 57 5.1. Revisionen 57 5.2.
Einleitung I Einleitung | Seite 5
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.
Hardware Beschreibung II Hardware Beschreibung | Seite 7
2. Hardware Beschreibung 2.1. Kurzanleitung Installation 2.1.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.1.2.
2.2. USB-RELAIS-8 2.2.1.
2.2.2. Technische Daten USB-Interface (USB 1.1 / USB 2.0) Spannungsversorgung: +5V (wird über USB-Bus versorgt) 8 Relais Ausgänge (36V, 1A, 15W, Schließer-Relais) 8x Schließer Max. Schaltspannung: 36V DC Max. Schaltstrom: 1A Max. Schaltleistung: 15W Max. Transportstrom: 1,25A Isolation (Spule / Kontakt): 1500V DC Kontaktwiderstand: 150mW Schaltzeit:(inkl.
2.2.3.
2.2.4. Pinbelegung 2.2.4.1. J1 - Pinbelegung Pin 1 2 3 4 5 6 7 8 Belegung Output Channel 1 Output Channel 1 Output Channel 2 Output Channel 2 Output Channel 3 Output Channel 3 Output Channel 4 Output Channel 4 2.2.4.2.
2.2.5. Ausgänge 2.2.5.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.2.5.2. Timeout-Schutz Der Timeout-Schutz bietet die Möglichkeit die Ausgänge selbstständig abzuschalten.
2.3. USB-OPTOIN-8 2.3.1.
2.3.2. Technische Daten USB-Interface (USB 1.1 / USB 2.0) Spannungsversorgung: +5V (wird über USB-Bus versorgt) 8 Optokoppler Eingänge 24V AC Schaltspannung (optional auch für 15V, 12V, oder 5V lieferbar) 16 Bit-Zähler je Eingangskanal Erfassung von Impulsen zwischen 2 Auslesetakten Galvanisch getrennt durch Optokoppler Variabler Eingangsspannungsbereich min. 5V, max.
2.3.3.
2.3.4. Pinbelegung 2.3.4.1. J1 - Pinbelegung Pin 1 2 3 4 5 6 7 8 Belegung Input Channel 1 + Input Channel 1 Input Channel 2 + Input Channel 2 Input Channel 3 + Input Channel 3 Input Channel 4 + Input Channel 4 - 2.3.4.2.
2.3.5. Eingänge 2.3.5.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.3.5.2.
Software III Software | Seite 19
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.
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.
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: Betriebssystem unabhängig Programmiersprachen unabhängig Produkt unabhängig 3.2.1.1.
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.
3.2.2. Unterstützte Betriebssysteme Unsere Produkte unterstützen folgende Betriebssysteme: 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.
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.
Drücken Sie auf “Install”.
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).
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.
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).
DELIB API Referenz IV DELIB API Referenz | Seite 30
4. DELIB API Referenz 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.
4.1.2. DapiCloseModule Beschreibung Dieser Befehl schliesst ein geöffnetes Modul.
4.1.3. DapiGetDELIBVersion 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 version = DapiGetDELIBVersion(0, 0); //Bei installierter Version 1.
4.1.4. DapiSpecialCMDGetModuleConfig Beschreibung Diese Funktion gibt die Hardwareaustattung Ausgangskanäle) des Moduls zurück. (Anzahl der Ein- bzw.
Return-Wert Anzahl der digitalen Eingangskanäle abfragen return=Anzahl der digitalen Eingangskanäle Anzahl der digitalen Ausgangskanäle abfragen return=Anzahl der digitalen Ausgangskanäle Anzahl der digitalen Ein-/Ausgangskanäle abfragen return=Anzahl der digitalen Ein-/Ausgangskanäle Anzahl der analogen Eingangskanäle abfragen return=Anzahl der analogen Eingangskanäle Anzahl der analogen Ausgangskanäle abfragen return=Anzahl der analogen Ausgangskanäle Anzahl der Stepperkanäle abfragen return=Anzahl der St
4.2. Fehlerbehandlung 4.2.1. DapiGetLastError Beschreibung Diese Funktion liefert den letzten erfassten Fehler. Definition ULONG DapiGetLastError(); Parameter Keine Return-Wert Fehler Code 0=kein Fehler. (siehe delib.
4.2.2. DapiGetLastErrorText Beschreibung Diese Funktion liest den Text des letzten erfassten Fehlers.
4.3. Digitale Eingänge lesen 4.3.1. DapiDIGet1 Beschreibung Dieser Befehl liest einen einzelnen digitalen Eingang. Definition ULONG DapiDIGet1(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, der gelesen werden soll (0, 1, 2, 3, ..
4.3.2. DapiDIGet8 Beschreibung Dieser Befehl liest gleichzeitig 8 digitale Eingänge. Definition ULONG DapiDIGet8(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 8, 16, 24, ..
4.3.3. DapiDIGet16 Beschreibung Dieser Befehl liest gleichzeitig 16 digitale Eingänge. Definition ULONG DapiDIGet16(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 16, 32, ...
4.3.4. DapiDIGet32 Beschreibung Dieser Befehl liest gleichzeitig 32 digitale Eingänge. Definition ULONG DapiDIGet32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..
4.3.5. DapiDIGet64 Beschreibung Dieser Befehl liest gleichzeitig 64 digitale Eingänge. Definition ULONGLONG DapiDIGet64(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 64, ..
4.3.6. DapiDIGetFF32 Beschreibung Dieser Befehl liest die Flip-Flops der Eingänge aus und setzt diese zurück (Eingangszustands-Änderung). Definition ULONG DapiDIGetFF32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..
4.3.7. DapiDIGetCounter Beschreibung Dieser Befehl liest den Eingangszähler eines digitalen Eingangs.
4.4. Digitale Ausgänge verwalten 4.4.1. DapiDOSet1 Beschreibung Dieser Befehl setzt einen einzelnen Ausgang. Definition void DapiDOSet1(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des zu setzenden Ausgangs an (0 ..
4.4.2. DapiDOSet8 Beschreibung Dieser Befehl setzt gleichzeitig 8 digitale Ausgänge. Definition void DapiDOSet8(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 8, 16, 24, 32, ..
4.4.3. DapiDOSet16 Beschreibung Dieser Befehl setzt gleichzeitig 16 digitale Ausgänge. Definition void DapiDOSet16(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 16, 32, ..
4.4.4. DapiDOSet32 Beschreibung Dieser Befehl setzt gleichzeitig 32 digitale Ausgänge. Definition void DapiDOSet32(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..
4.4.5. DapiDOSet64 Beschreibung Dieser Befehl setzt gleichzeitig 64 digitale Ausgänge. Definition void DapiDOSet64(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 64, ..
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.
4.4.7. DapiDOReadback64 Beschreibung Dieser Befehl liest die 64 digitalen Ausgänge zurück. Definition ULONGLONG DapiDOReadback64(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, 64, ..) Return-Wert Zustand von 64 Ausgängen.
4.5.
DapiClearLastError(); return TRUE; } return FALSE; } //******************************************************************** //******************************************************************** //******************************************************************** //******************************************************************** //******************************************************************** void main(void) { unsigned long handle; unsigned long value; // ----------------------------------------
DapiDOSet1(handle, 0, 1); IsError(); printf("Output channel 0 has been switched on\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 0, 0); IsError(); printf("Output channel 0 has been switched off\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 1, 1); IsError(); printf("Output channel 1 has been switched on\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 1, 0); IsError(); printf("Output channel 1 has been switched off\n"); printf("Press
getch(); value = DapiDOReadback32(handle, 0); IsError(); printf("Readback output channel 0-3\n"); printf("value = %d\n", value); printf("Press any key to continue\n"); getch(); // ---------------------------------------------------------------// Set timeout of output channels to 5 seconds DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, 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(); // -----------------
Anhang V Anhang | Seite 56
5. Anhang 5.1. Revisionen Rev 2.00 Rev 2.
5.2. Urheberrechte und Marken Linux ist eine registrierte Marke von Linus Torvalds. Windows CE ist eine registrierte Marke von Microsoft Corporation. USB ist eine registrierte Marke von USB Implementers Forum Inc. LabVIEW ist eine registrierte Marke von National Instruments. Intel ist eine registrierte Marke von Intel Corporation AMD ist eine registrierte Marke von Advanced Micro Devices, Inc.