Post on 02-Nov-2021
USBOPTO/REL64/32/16/8
© QUANCOM Informationssysteme GmbH
Copyright © QUANCOM Informationssysteme GmbHAlle Angaben in diesem Handbuch sind nach sorgfältiger Prüfung zusammengestellt worden, gelten jedoch nichtals Zusicherung von Produkteigenschaften. QUANCOM haftet ausschließlich in dem Umfang, der in denVerkaufs- und Lieferbedingungen festgelegt ist. Weitergabe und Vervielfältigung dieses Handbuches und dieVerwertung seines Inhaltes sowie der zum Produkt gehörenden Software sind nur mit schriftlicher Erlaubnis vonQUANCOM gestattet. Änderungen, die dem technischen Fortschritt dienen, bleiben vorbehalten.
Wesseling, Mai 2012 Version 4.2.1
USBOPTO/REL 64/32/16/8
© QUANCOM Informationssysteme GmbH
InhaltsverzeichnisKapitel I Überblick 1
....................................................................................................................................11 Unsere Erfahrung ist ihr Gewinn
....................................................................................................................................12 Kommunikation mit unseren Kunden
....................................................................................................................................13 Änderungen zu diesem Handbuch und Softwareupdates
....................................................................................................................................14 Lieferumfang
Kapitel II Installtionsverfahren 2
....................................................................................................................................21 Systemvorraussetzungen
....................................................................................................................................22 Sicherheitsanweisungen
....................................................................................................................................33 Installation des Moduls
Kapitel III Technische Hardware Beschreibung 4
....................................................................................................................................41 Modulinformationen
...........................................................................................................................................................5Beschreibung
...........................................................................................................................................................6Funktionsweise USBOPTO64IN
...........................................................................................................................................................6Funktionsweise USBOPTO64OUT
...........................................................................................................................................................6Funktionsweise USBREL64
...........................................................................................................................................................6Funktionsweise USBREL64_3A
...........................................................................................................................................................6Funktionsweise USBOPTOREL32
...........................................................................................................................................................6Funktionsweise USBOPTOREL32_3A
...........................................................................................................................................................6Funktionsweise USBREL32
...........................................................................................................................................................6Funktionsweise USBOPTOOUT32
...........................................................................................................................................................7Funktionsweise USBOPTOIN32
...........................................................................................................................................................7Funktionsweise USBOPTO32IO
...........................................................................................................................................................7Funktionsweise USBOPTOREL16
...........................................................................................................................................................7Funktionsweise USBOPTOREL16_3A
...........................................................................................................................................................7Funktionsweise USBOPTO16IO
...........................................................................................................................................................7Funktionsweise USBOPTOREL8
...........................................................................................................................................................7Funktionsweise USBOPTOREL8_3A
....................................................................................................................................82 Kartenübersicht USBOPTO64IN
...........................................................................................................................................................8Technische Daten
....................................................................................................................................93 Kartenübersicht USBREL64 / USBOPTO64OUT
...........................................................................................................................................................10Technische Daten
...........................................................................................................................................................11Polarität der Optokopplerausgänge
....................................................................................................................................124 Kartenübersicht USBOPTOIN32
...........................................................................................................................................................12Technische Daten
....................................................................................................................................135 Kartenübersicht USBREL32 / USBOPTOOUT32
...........................................................................................................................................................14Technische Daten
....................................................................................................................................156 Kartenübersicht USBREL32_3A
...........................................................................................................................................................16Technische Daten
....................................................................................................................................177 Kartenübersicht USBOPTOREL32 / USBOPTO32IO
...........................................................................................................................................................18Polarität der Optokopplerausgänge
...........................................................................................................................................................19Technische Daten
....................................................................................................................................208 Kartenübersicht USBOPTOREL32_3A
...........................................................................................................................................................21Technische Daten
Inhalt
© QUANCOM Informationssysteme GmbH
....................................................................................................................................229 Kartenübersicht USBOPTOREL16 / USBOPTO16IO
...........................................................................................................................................................23Technische Daten
....................................................................................................................................2410 Kartenübersicht USBOPTOREL8
...........................................................................................................................................................24Technische Daten
....................................................................................................................................2511 Technische Daten der Eingangs- Optokoppler der Module
...........................................................................................................................................................25Anschlussbeispiel der Optokoppler
....................................................................................................................................2612 Technische Daten der Ausgangs- Optokoppler
...........................................................................................................................................................26Anschlussbeispiel für die Beschaltung der Ausgangs Optokoppler
....................................................................................................................................2713 Leistung der Relais
...........................................................................................................................................................27Anschlußbeispiel für die Beschaltung der Relais
....................................................................................................................................2814 Einstellung der Spannungsversorgung (JP1)
....................................................................................................................................2815 Einstellung der Moduladresse (DIP1)
...........................................................................................................................................................29Beispiele für die Wahl der Moduladresse
....................................................................................................................................2916 Leuchtdioden und Kontrollelemente der Module
....................................................................................................................................3117 Strombedarf der Module
Kapitel IV Programierung des Moduls 32
....................................................................................................................................321 Software
...........................................................................................................................................................32Welche Software brauche ich ?
....................................................................................................................................332 QLIB ( QUANCOM Driver Library )
....................................................................................................................................343 Installation und Allgemeines über die QLIB
....................................................................................................................................344 Testprogramm
Kapitel V QLIB Befehle 35
....................................................................................................................................351 Digitale Schreib- / Lesefunktionen
...........................................................................................................................................................36Verwaltungs- und sonstige Funktionen
...........................................................................................................................................................40Digitale Lesefunktionen
...........................................................................................................................................................41Digitale Schreibfunktionen
...........................................................................................................................................................46Verwaltungsfunktionen
...........................................................................................................................................................47Sonstige Funktionen
....................................................................................................................................502 Programmierung mit der QLIB ( QUANCOM Driver Library )
...........................................................................................................................................................50Programmbeispiele in C für QLIB
...........................................................................................................................................................51Programmierung der Ein-/Ausgänge, so wie diverser Spezialfunktionen.
...........................................................................................................................................................54Ansteuerung der Relais mit der QLIB in C/C++
...........................................................................................................................................................54Lesen der Optokoppler Eingänge mit der QLIB in C/C++
...........................................................................................................................................................55Borland Delphi Beispiel
...........................................................................................................................................................55Programmierung der Ein-/Ausgänge, so wie diverser Spezialfunktionen.
Kapitel VI Anhang 60
....................................................................................................................................601 Probleme mit Karten unter Windows XP/2000/NT/ME/98/95
....................................................................................................................................622 Kunden Support und Hilfe
....................................................................................................................................653 Technisches Support Formular
....................................................................................................................................664 Hardware und Software Konfigurationsformular
....................................................................................................................................675 Dokumentations Formular
....................................................................................................................................676 Warenzeichen
USBOPTO/REL 64/32/16/8
© QUANCOM Informationssysteme GmbH
© QUANCOM Informationssysteme GmbH 1
1 Überblick
Wir beglückwünschen Sie zum Kauf Ihrer QUANCOM Meß-, Steuer- und Regelkarte. Sie haben sich für ein
Produkt entschieden, dessen Eigenschaften und Funktionalität den neuesten Stand der Technik darstellen.
Zu den besonderen Eigenschafen dieser Karte gehören:
· Einfacher Anschluß über USB
· Einfach programmierbar
· Timeout-Erkennung mit Abschaltung der Ausgänge
· Zuverlässige Eingangszustandserkennung
· Diverse Beispielprogramme in verschiedenen Programmiersprachen
· Treiberunterstützung unter Windows 7, Vista, XP, 2000 und ME/98 mit der QLIB (QUANCOM Driver Library)
1.1 Unsere Erfahrung ist ihr Gewinn
Wir von QUANCOM sind auf die Entwicklung von Hardware und Software spezialisiert und gehören mittlerweile
zu einem der führenden Lieferanten für Meßtechnik und Automatisierung. In ihrem Entwicklungszentrum hat
QUANCOM eine eindrucksvolle Produktpalette entwickelt.
1.2 Kommunikation mit unseren Kunden
QUANCOM möchte gerne Ihren Kommentar zu unseren Produkten und zu unseren Handbüchern. erhalten
und ist außerdem an Ihren Anwendungen interessiert, die Sie mit unseren Produkten entwickeln. Wir möchten
gleichzeitig helfen, wenn Sie Probleme haben und um dies zu vereinfachen enthält dieses Handbuch
Kommentar- und Konfigurationsformulare, mit denen man direkt mit uns in Verbindung treten kann. Diese
Formulare befinden sich in dem Kapitel "Dokumentations Formular” am Ende dieses Handbuches.
1.3 Änderungen zu diesem Handbuch und Softwareupdates
QUANCOM - Produkte zeichnen sich u.a. durch stetige Weiterentwicklung aus. Aktuelle Informationen über
Änderungen können Sie den README - Dateien auf der Installationsdiskette oder CD entnehmen. Weitere
Informationen und kostenlose Softwareupdates können Sie jederzeit auf den QUANCOM Internet -Seiten unter
www.quancom.de erhalten.
1.4 Lieferumfang
• USB-Messtechnik-Modul Sollten eine oder mehrere Komponenten fehlen wenden Sie sich
bitte an Ihren Händler. QUANCOM behält sich das Recht vor,
Änderungen im Lieferumfang ohne Vorankündigung vorzunehmen.
• Benutzerhandbuch
• QUANCOM CD
© QUANCOM Informationssysteme GmbH 2
2 Installtionsverfahren
2.1 Systemvorraussetzungen
· Personal Computer: Die QUANCOM Karten laufen mit einem IBM-AT Computer mit 80X86 oder in einem
kompatiblen Gerät, wie z.B. Pentium.
· Bus: Ihr Computer muß über mindestens eine freie USB Schnittstelle verfügen.
Mehr Informationen hierzu finden Sie im Abschnitt “Technische Hardware Beschreibung”
2.2 Sicherheitsanweisungen
Im Interesse Ihrer eigenen Sicherheit und einer einwandfreien Funktion Ihres neuen QUANCOM-Moduls
beachten Sie bitte die folgenden Hinweise:
· Da PC-Karten/Module empfindlich gegen elektrostatische Aufladungen sind ist es wichtig, sich vorher zu
entladen bevor die Karte mit den Händen oder dem Werkzeug berührt wird. Dies geschieht am einfachsten,
wenn Sie vorher ein metallisches Gehäuseteil berühren.
· Halten Sie die Karte immer am Rand fest und vermeiden Sie ein Anfassen der IC´s.
Veränderungen, die ohne ausdrückliche Genehmigung der QUANCOM
Informationssysteme GmbH an dem Gerät vorgenommen werden, führen zum Erlöschen
der Betriebserlaubnis und der CE Zertifizierung.
© QUANCOM Informationssysteme GmbH 3
2.3 Installation des Moduls
Den PC einschalten, Windows starten und das USB-Verbindungkabel mit dem Gerät
und dem USB-Port des PCs verbinden.
Das Modul kann jederzeit während des Betriebs des PCs angeschlossen werden.
Der Ort, an dem sich der USB-Port befindet, ist in der
Bedienungsanleitung Ihres PCs beschrieben. Er ist je nach PC-Modell
verschieden.
© QUANCOM Informationssysteme GmbH 4
3 Technische Hardware Beschreibung
3.1 Modulinformationen
USBOPTO USB USBOPTO USBOPTO USB
64IN 64OUT REL64 REL32 32IO REL16 16IO REL8
Optisch getrennteEingänge
64 - - 32 32 16 16 8
Relaisausgänge - - 64 32-
16 - 8
Optisch getrennteAusgänge
- 64 - -32
- 16 -
LED zurFunktionskontrolle
64 64 64 64 64 32 32 16
· Über Widerstandsnetzwerk anpassbarer Eingangsspannungsbereich für die Optokopplereingänge
· Timeout-Funktion ( Watchdog ) schaltet alle Ausgänge nach definierbarer Zeit ab (Bsp.: Rechner Absturz)
· Erkennen von Eingangszustandsänderungen für alle Optokopplereingänge mittels Flip-Flops
· Einfache Programmierung durch die QLIB
· Anschluss über USB
· Spannungsversorgung über den USB Bus (wahlweise extern)
· Bis zu 8 Module an einem USB Anschluss
· Einfache Montage z.B. auf einer Hutschiene oder als Standgerät nutzbar
© QUANCOM Informationssysteme GmbH 5
3.1.1 Beschreibung
Schutz durch Optokoppler bis 500 Volt
Alle Eingänge sind über Optokoppler galvanisch entkoppelt, so ist Ihr PC vor Beschädigung durch
Überspannung oder verkehrter Polarität geschützt. Da die Optokoppler als Wechselstrom AC-Optokoppler
ausgelegt sind, ist die Polarität des Eingangssignales beliebig. Über ein steckbares Widerstandsnetzwerk lässt
sich der Eingangsspannungsbereich anpassen. Sie können uns Ihre speziellen Anforderungen zum
Eingangsspannungsbereich auch bei der Bestellung mitteilen.
Einfache Montage auf Hutschienen
Durch die einfache Montage, z.B. auf einer Hutschiene, ist das Modul jederzeit als Standgerät im Laborbereich
oder als mobiles Gerät am Notebook nutzbar.
Visualisierung aller Ein- und Ausgänge durch LED's
Wie bei allen USB Opto-/Relaismodulen werden Lese- bzw. Schreibzugriffe und der aktuelle Ein- bzw.
Ausgangspegel durch eine optische Funktionskontrolle (LED) für jeden Kanal einzeln angezeigt. Das Modul
besitzt einen Watchdog, der bei einem Programm- oder Systemabsturz alle Ausgänge abschaltet. Eine
intelligente Auswertelogik kann schnelle Eingangsänderungen, die z.B. zwischen zwei Lesezyklen vorkommen,
detektieren und melden. Die grünen Kabelklemmleisten lassen sich vom Modul abziehen. Damit lässt sich das
Modul für Servicezwecke ausbauen, ohne die Verkabelung zu lösen. Die Klemmleisten sind auch separat
erhältlich, was z.B. sinnvoll ist, wenn das Modul in mehreren Schaltungen (z.B. beim Prototypenbau im Labor)
eingesetzt werden soll. Die Stromversorgung kann wahlweise über den USB Bus oder ein externes Netzteil
erfolgen.
Mehrere Module des gleichen Typs sind einsetzbar
Auf dem Modul befindet sich ein DIP Schalter, mit dem die Moduladresse von 0 ... 15 einstellbar ist. Dadurch ist
auch der Betrieb von bis zu 16 Modulen gleichen Typs möglich. Jedes Modul lässt sich eindeutig über die
Moduladresse von der Software identifizieren. Durch die optimale Einbindung dieses Quancom® USB Moduls in
die QLIB (Quancom Driver Library) ist eine einfache Programmierung, ohne Kenntnis der Treiberentwicklung,
unter Windows XP / 2000 / ME / 98 / Agilent VEE / Labview möglich.
© QUANCOM Informationssysteme GmbH 6
3.1.1.1 Funktionsweise USBOPTO64IN
Dieses Modul stellt 64 optisch entkoppelte Eingänge zur Verfügung. Mit je 64 Optokoppler Eingängen eignet
sich die USBOPTO64IN speziell zur Prozeßüberwachung in der Meß- und Regeltechnik, der
Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte Eingänge benötigt werden.
3.1.1.2 Funktionsweise USBOPTO64OUT
Dieses Modul stellt 64 optisch entkoppelte Ausgänge zur Verfügung. Mit ihren 64 Optokoppler Ausgängen
eignet sich die USBOPTO64OUT speziell zur Prozeßsteuerung in der Meß- und Regeltechnik, der
Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte digitale Ausgänge benötigt
werden.
3.1.1.3 Funktionsweise USBREL64
Dieses Modul stellt 64 Relais Ausgänge zur Verfügung. Mit Ihren 64 Relais (1A/15W) eignet sich die USBREL64
speziell zur Prozeßsteuerung in der Meß- und Regeltechnik, der Automatisierungstechnik und für alle
Anwendungen, bei denen bis zu 64 mechanische Ausgänge benötigt werden.
3.1.1.4 Funktionsweise USBREL64_3A
Dieses Modul stellt 64 Relais Ausgänge zur Verfügung. Mit Ihren 64 Relais (3A/90W) eignet sich die USBREL64
speziell zur Prozeßsteuerung in der Meß- und Regeltechnik, der Automatisierungstechnik und für alle
Anwendungen, bei denen bis zu 64 mechanische Ausgänge benötigt werden.
3.1.1.5 Funktionsweise USBOPTOREL32
Dieses Modul stellt 32 Ein- und 32 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 1A/15W belastet werden können. Mit ihren 32 Optokoppler Eingängen
und den 32 Relais Ausgängen eignet sich die USBOPTOREL32 speziell zur Prozeßüberwachung in der Meß-
und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte
Eingänge und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
3.1.1.6 Funktionsweise USBOPTOREL32_3A
Dieses Modul stellt 32 Ein- und 32 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 3A/90W belastet werden können. Mit ihren 32 Optokoppler Eingängen
und den 32 Relais Ausgängen eignet sich die USBOPTOREL32_3A speziell zur Prozeßüberwachung in der
Meß- und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch
getrennte Eingänge und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
3.1.1.7 Funktionsweise USBREL32
Dieses Modul stellt 32 Relais Ausgänge zur Verfügung. Mit Ihren 32 Relais (1A/15W) eignet sich die USBREL32
speziell zur Prozeßsteuerung in der Meß- und Regeltechnik, der Automatisierungstechnik und für alle
Anwendungen, bei denen bis zu 32 mechanische Ausgänge benötigt werden.
3.1.1.8 Funktionsweise USBOPTOOUT32
Dieses Modul stellt 32 optisch entkoppelte Ausgänge zur Verfügung. Mit ihren 32 Optokoppler Ausgängen
eignet sich die USBOPTO32OUT speziell zur Prozeßsteuerung in der Meß- und Regeltechnik, der
Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte digitale Ausgänge benötigt
werden.
© QUANCOM Informationssysteme GmbH 7
3.1.1.9 Funktionsweise USBOPTOIN32
Dieses Modul stellt 32 optisch entkoppelte Eingänge zur Verfügung. Mit je 32 Optokoppler Eingängen eignet
sich die USBOPTO32IN speziell zur Prozeßüberwachung in der Meß- und Regeltechnik, der
Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte Eingänge benötigt werden.
3.1.1.10 Funktionsweise USBOPTO32IO
Dieses Modul stellt 32 Ein- und 32 Ausgänge zur Verfügung, die alle optisch entkoppelt sind. Mit je 32
Optokoppler Ein- und Ausgängen eignet sich die USBOPTO32IO speziell zur Prozeßüberwachung in der Meß-
und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte
Ausgänge und Eingänge für verschiedene Potentiale benötigt werden.
3.1.1.11 Funktionsweise USBOPTOREL16
Dieses Modul stellt 16 Ein- und 16 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 1A/15W belastet werden können. Mit ihren 16 Optokoppler Eingängen
und den 16 Relais Ausgängen eignet sich die USBOPTOREL16 speziell zur Prozeßüberwachung in der Meß-
und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte
Eingänge und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
3.1.1.12 Funktionsweise USBOPTOREL16_3A
Dieses Modul stellt 16 Ein- und 16 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 3A/90W belastet werden können. Mit ihren 16 Optokoppler Eingängen
und den 16 Relais Ausgängen eignet sich die USBOPTOREL16_3A speziell zur Prozeßüberwachung in der
Meß- und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch
getrennte Eingänge und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
3.1.1.13 Funktionsweise USBOPTO16IO
Dieses Modul stellt 16 Ein- und 16 Ausgänge zur Verfügung, die alle optisch entkoppelt sind. Mit je 16
Optokoppler Ein- und Ausgängen eignet sich die USBOPTO16IO speziell zur Prozeßüberwachung in der Meß-
und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte
Ausgänge und Eingänge für verschiedene Potentiale benötigt werden.
3.1.1.14 Funktionsweise USBOPTOREL8
Dieses Modul stellt 8 Ein- und 8 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 1A/15W belastet werden können. Mit ihren 8 Optokoppler Eingängen
und den 8 Relais Ausgängen eignet sich die USBOPTOREL8 speziell zur Prozeßüberwachung in der Meß- und
Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte Eingänge
und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
3.1.1.15 Funktionsweise USBOPTOREL8_3A
Dieses Modul stellt 8 Ein- und 8 Ausgänge zur Verfügung. Alle Eingänge sind optisch entkoppelt sind. Die
Ausgänge sind Relais, die mit maximal 3A/90W belastet werden können. Mit ihren 8 Optokoppler Eingängen
und den 8 Relais Ausgängen eignet sich die USBOPTOREL8_3A speziell zur Prozeßüberwachung in der Meß-
und Regeltechnik, der Automatisierungstechnik und für alle Anwendungen, bei denen galvanisch getrennte
Eingänge und mechanische Ausgänge für verschiedene Potentiale benötigt werden.
© QUANCOM Informationssysteme GmbH 8
3.2 Kartenübersicht USBOPTO64IN
USBOPTO64IN
3.2.1 Technische Daten
USBOPTO64IN
Eingänge64 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 V verfügbar)
Schaltspannung -
Schaltstrom -
Opto-Out -
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Nicht vorhanden
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
Die USBOPTO64IN sollte mit einer externen 12V Spannungsquelle betrieben werden.
© QUANCOM Informationssysteme GmbH 9
3.3 Kartenübersicht USBREL64 / USBOPTO64OUT
USBREL64
Die 3A Relais der USBREL64_3A befinden sich an den Ausgängen 33-64. Die Ausgänge
1-32 sind 1A Relais.
USBOPTO64OUT
© QUANCOM Informationssysteme GmbH 10
3.3.1 Technische Daten
USBREL64 OPTO64OUT
Schaltspannung Bis 30V 0...30 V
Schaltstrom 1A max. 100mA pro Kanal
Relais32 Einschalt-RelaisMaximal 1A / 15W
-
Relaisschaltzeit 1 ms -
Opto-Out - 64 Opto isoliert (24V)
· Systembus USB
· Spannunsgversorgung 12V..24V extern
· CE Ja
· Timeout-Erkennung Ja (0,35s – 44,7s in Stufen)
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
Die USBREL64, sowie die USBOPTO64OUT müssen immer mit einer externen
12V..24V Spannungsquelle betrieben werden.
© QUANCOM Informationssysteme GmbH 11
3.3.2 Polarität der Optokopplerausgänge
In den beiden unteren Abbildungen sehen sehen Sie die Polarität der Ausgangsoptokoppler für die
USBOPTO64OUT.
Optokopplerausgänge 1 - 32
Optokopplerausgänge 33 - 64
© QUANCOM Informationssysteme GmbH 12
3.4 Kartenübersicht USBOPTOIN32
3.4.1 Technische Daten
USBOPTOIN32
Eingänge32 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 V verfügbar)
Schaltspannung -
Schaltstrom -
Opto-Out -
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Nicht vorhanden
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
Die USBOPTOIN32 sollte mit einer externen 12V..24V Spannungsquelle betrieben
werden.
© QUANCOM Informationssysteme GmbH 13
3.5 Kartenübersicht USBREL32 / USBOPTOOUT32
USBREL64
Die 3A Relais der USBREL32_3A befinden sich an den Ausgängen 17-32. Die Ausgänge
1-16 sind 1A Relais.
USBOPTO64OUT
© QUANCOM Informationssysteme GmbH 14
3.5.1 Technische Daten
USBREL32 OPTOPTOOUT32
Schaltspannung Bis 30V 0...30 V
Schaltstrom 1A max. 100mA pro Kanal
Relais32 Einschalt-RelaisMaximal 1A / 15W
-
Relaisschaltzeit 1 ms -
Opto-Out - 32 Opto isoliert (24V)
· Systembus USB
· Spannunsgversorgung 12V..24V extern
· CE Ja
· Timeout-Erkennung Ja (0,35s – 44,7s in Stufen)
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
© QUANCOM Informationssysteme GmbH 15
3.6 Kartenübersicht USBREL32_3A
USBREL64
Die 3A Relais der USBREL64_3A befinden sich an den Ausgängen 33-64. Die Ausgänge
1-32 sind 1A Relais.
© QUANCOM Informationssysteme GmbH 16
3.6.1 Technische Daten
USBREL32_3A
Schaltspannung Bis 30V
Schaltstrom 3A
Relais
16 Einschalt-RelaisMaximal 3A / 90W
16 Einschalt-RelaisMaximal 1A / 15W
Relaisschaltzeit 1ms
Opto-Out -
· Systembus USB
· Spannunsgversorgung 12V..24V extern
· CE Ja
· Timeout-Erkennung Ja (0,35s – 44,7s in Stufen)
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
© QUANCOM Informationssysteme GmbH 17
3.7 Kartenübersicht USBOPTOREL32 / USBOPTO32IO
USBOPTOREL32
USBOPTO32IO
© QUANCOM Informationssysteme GmbH 18
3.7.1 Polarität der Optokopplerausgänge
In den beiden unteren Abbildungen sehen sehen Sie die Polarität der Ausgangsoptokoppler für die
USBOPTO32IO.
Optokopplerausgänge 1 - 32
© QUANCOM Informationssysteme GmbH 19
3.7.2 Technische Daten
USBOPTOREL32 USBOPTO32IO
Eingänge
32 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 Vverfügbar)
32 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 Vverfügbar)
Schaltspannung Bis 30V 0...30 V
Schaltstrom 1A Max. 100mA / Kanal
Relais32 Einschalt-RelaisMaximal 1A / 15W
-
Relaisschaltzeit 1 ms -
Opto-Out - 32 Opto isoliert (24V)
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig zu wählen.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Ja (0,35s – 44,7s in Stufen)
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
Die USBOPTO32IO, sowie die beiden USBOPTOREL32 Versionen sollten immer mit
externen 12V..24V Spannungsquelle betrieben werden.
© QUANCOM Informationssysteme GmbH 20
3.8 Kartenübersicht USBOPTOREL32_3A
USBOPTOREL32_3A
Die USBOPTOREL32_3A muss immer mit einer externen 12V..24V Spannungsquelle
betrieben werden.
© QUANCOM Informationssysteme GmbH 21
3.8.1 Technische Daten
USBOPTOREL32/3A
Eingänge
32 Opto isoliert(12V – 30 V)
(Optional 5 V - 12 Vverfügbar)
Schaltspannung Bis 30V
Schaltstrom 3A
Relais32 Einschalt-RelaisMaximal 3A / 90W
Relaisschaltzeit 1ms
Opto-Out -
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig zu wählen.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Ja (0,35s – 44,7s in Stufen)
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
Die USBOPTO32IO, sowie die beiden USBOPTOREL32 Versionen sollten immer mit
externer 12V..24V Spannungsquelle betrieben werden.
© QUANCOM Informationssysteme GmbH 22
3.9 Kartenübersicht USBOPTOREL16 / USBOPTO16IO
USBOPTOREL16
USBOPTO16IO
© QUANCOM Informationssysteme GmbH 23
3.9.1 Technische Daten
USBOPTOREL16 USBOPTOREL16IO
Eingänge
16 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 Vverfügbar)
16 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 Vverfügbar)
Schaltspannung Bis 30V 0...30 V
Schaltstrom 1A max. 100mA pro Kanal
Relais32 Einschalt-RelaisMaximal 1A / 15W
-
Relaisschaltzeit 1 ms -
Opto-Out - 32 Opto isoliert (24V)
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig zu wählen.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Ja (0,35s – 44,7s in Stufen)
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 254*105*57mm
© QUANCOM Informationssysteme GmbH 24
3.10 Kartenübersicht USBOPTOREL8
USBOPTOREL8
3.10.1 Technische Daten
USBOPTOREL8
Eingänge
8 Opto isoliert(12 V – 30 V)
(Optional 5 V - 12 Vverfügbar)
Schaltspannung Bis 30V
Schaltstrom 1A
Relais8 Einschalt-RelaisMaximal 1A / 15W
Relaisschaltzeit 1 ms
Opto-Out -
Es handelt sich bei den verwendeten Eingangs-Optokopplern um Wechselspannungsoptokoppler, daher ist die
Polarität beliebig zu wählen.
· Systembus USB
· Spannungsversorgung 5V USB oder 12V..24V extern
· Timeout-Funktion für die Ausgänge einstellbar Ja (0,35s – 44,7s in Stufen)
· CE+RoHs Ja
· Temperaturbereich 0...70°C
· Abmessungen 180*105*57mm
© QUANCOM Informationssysteme GmbH 25
3.11 Technische Daten der Eingangs- Optokoppler der Module
Maximale Eingangsspannung 5-12V, 12-30V (je nach Widerstandsbestückung)
Minimaler Eingangsstrom 10mA
3.11.1 Anschlussbeispiel der Optokoppler
Die unten abgebildete Skizze verdeutlicht eine Anschlußmöglichkeit der Optokopplereingänge an einen Schalter
mit einer externen Spannungsquelle.
© QUANCOM Informationssysteme GmbH 26
3.12 Technische Daten der Ausgangs- Optokoppler
Maximaler Strom 100 mA pro Kanal
Schaltbare Spannung 0-30V DC
3.12.1 Anschlussbeispiel für die Beschaltung der Ausgangs Optokoppler
Die unten abgebildete Skizze verdeutlicht eine Anschlußmöglichkeit der Optokopplerausgänge an einen
Signalgeber mit einer externen Spannungsquelle.
© QUANCOM Informationssysteme GmbH 27
3.13 Leistung der Relais
Maximaler Belastberkeit der 1A Relais
(USBOPTOREL8, USBOPTOREL16,
USBOPTOREL32, USBREL64)
1 Ampere / 15 Watt
Maximaler Belastberkeit der 3A Relais
(USBOPTOREL8_3A, USBOPTOREL16_3A,
USBOPTOREL32_3A, USBREL64_3A)
3 Ampere / 90 Watt
Schaltbare Spannung 30V DC
Relaisschaltzeit (mit Prellen) ~1ms
3.13.1 Anschlußbeispiel für die Beschaltung der Relais
Die unten abgebildete Skizze verdeutlicht eine Anschlußmöglichkeit der Relais an einen Signalgeber mit einer
externen Spannungsquelle.
© QUANCOM Informationssysteme GmbH 28
3.14 Einstellung der Spannungsversorgung (JP1)
Bei den Modulen der USBOPTOREL Familie können Sie zwischen der internen Versorgung über die USB
Schnittstelle und einer externen 12V..24V Spannunsgversorgung wählen.
Mit Hilfe der JP1 Steckbrücke wählen Sie aus, über welche Art der Spannungsversorgung die Module betrieben
werden sollen.
Einstellen der Spannungsversorgung bei den Module USBOPTOREL8, USBOPTOREL16 & USBOPTO16IO
Einstellen der Spannungsversorgung bei den Modulen USBOPTOREL32, USBOPTO32IO, USBREL64, USBOPTO64IN& USBOPTO64OUT
3.15 Einstellung der Moduladresse (DIP1)
Sie können maximal 8 identische Module an einem System einbinden. Damit der Computer die einzelnen
Module unterscheiden kann, müssen Sie jedem Modul eine eindeutige Adresse zuweisen. Dieses erzielen Sie
mit dem DIP Schalter “DIP1”.
SW1 SW2 SW3 SW4 Moduladresse
Off Off Off Off 0 (default)
On Off Off Off 1
Off On Off Off 2
On On Off Off 3
Off Off On Off 4
On Off On Off 5
© QUANCOM Informationssysteme GmbH 29
Off On On Off 6
On On On Off 7
Off Off Off On 8
On Off Off On 9
Off On Off On 10
On On Off On 11
Off Off On On 12
On Off On On 13
Off On On On 14
On On On On 15
Tabelle der möglichen Moduladressen
3.15.1 Beispiele für die Wahl der Moduladresse
3.16 Leuchtdioden und Kontrollelemente der Module
Jeder Optokopplereingang und Relaisanschluss besitzt eine eigene LED zur Anzeige des aktuellen
Zustandes.
Weiterhin befinden sich auf dem Modul je eine LED für :
· Lese und Schreibzugriff ( RD/WR Access )
- Die LED leuchtet kurz auf, wenn einen Lese oder Schreibzugriff auf dem Modul stattfindet. Dies kann durch
ein Zugriff auf Relais, Optokoppler oder Kontrollregister geschehen
· Eingangszustandsänderung ( Input Change )
- Leuchtet auf, wenn sich an einem oder mehreren Eingängen der Zustand ändert. Die
LED erlischt, wenn die Zustandsänderung vom Nutzer erfasst wurde.
· Timeout Funktion ( Time Out )
- Leuchtet auf, wenn ein Timeoutereignis auftritt. Der Timeout Status kann über einen
Softwarebefehl zurückgesetzt werden.
· Stromversorgung ( Power +5V )
- Leuchtet auf wenn das Modul an die Stromversorgung angeschlossen ist.
· Initialisierung ( Activated )
© QUANCOM Informationssysteme GmbH 30
- Blinkt kontinuierlich, wenn das Betriebssystem das USB Modul erkannt und initialisiert (
enumeriert ) hat.
© QUANCOM Informationssysteme GmbH 31
3.17 Strombedarf der Module
Versorgungsspannung ->
12V typisch 12 unter Vollast 24V typisch 24V unter Vollast
USBOPTOREL8 80mA 250mA 50mA 170mAUSBOPTOREL8_3A 80mA 320mA 50mA 320mAUSBOPTOREL16 200mA 640mA 200mA 640mAUSBOPTOREL16_3A 200mA 640mA 200mA 640mAUSBOPTO16IO 300mA 750mA 300mA 750mAUSBOPTOREL32 180mA 800mA 100mA 570mAUSBOPTOREL32_3AUSBOPTO32IO 270mA 880mA 150mA 620mAUSBOPTO64IN 270mA
Versorgungsspannung ->
12V typisch 12 unter Vollast 24V typisch 24V unter Vollast
ETHOPTOREL8 130mA 300mA 100mA 220mAETHOPTOREL8_3A 130mA 370mA 100mA 370mA
Versorgungsspannung ->
12V typisch 12 unter Vollast 24V typisch 24V unter Vollast
SEROPTOREL8 100mA 270mA 70mA 190mASEROPTOREL8_3A 100mA 340mA 70mA 340mA
© QUANCOM Informationssysteme GmbH 32
4 Programierung des Moduls
4.1 Software
4.1.1 Welche Software brauche ich ?
Die Software die ich brauche ist abhängig von der jeweiligen Anwendung und dem jeweiligen Betriebssystem.
Um Zugriff per Programm auf die Karte zu bekommen bestehen folgende Möglichkeiten:
· Methode 1: High-Level Programmierung (Zugriff auf die Karte über die QLIB) unter Windows 7 / Vista / XP /
2000 / NT4.x / ME / 98 / 95. Hiermit ist es möglich die Karte z.B. über Visual-C, Visual-Basic, Borland Delphi,
Lotus Notes u.a. Compilern und Interpretern anzusprechen.
· Methode 2: Installation der QLIB in Zusammenhang mit einem anderen Programm. Beispiele zu dem Einsatz
mit Labview von National Instruments finden Sie nach der Installation der QLIB im Verzeichnis
samples\usbopto des QLIB-Verzeichnisses.
Wenn Sie Methode 1 anwenden möchten, benötigen Sie den Quelltext der Anwendung. Sie sind selbst für das
Hinzufügen der Befehle in Ihre Anwendung verantwortlich. Um diese Methoden zu benutzen sind
Programmierkenntnisse erforderlich..
Methode 2 erlaubt einem das man die QUANCOM Karte mit einer bestehenden Software laufen lassen kann
z.B. LabView oder Agilent VEE . Dafür müssen Sie als erstes die QLIB von der Installations CD installieren.
Hinweise rund um die QLIB und Installation entnehmen Sie bitte dem QLIB Handbuch, welches sich ebenfalls
auf der CD befindet. Auf der CD finden Sie gleichzeitig einige Beispielprogramme für LabView und Agilent VEE.
© QUANCOM Informationssysteme GmbH 33
4.2 QLIB ( QUANCOM Driver Library )
Die QLIB (die Abkürzung für QUANCOM LIBrary) bietet die Möglichkeit, alle QUANCOM-Karten unter den
Betriebssystemen Windows XP/2000/NT und ME/98/95 und den Programmiersprachen C/C++/Delphi/Visual
Basic anzusprechen. Sie wird zu allen QUANCOM-Karten mitgeliefert und gestattet dem Anwender durch die
Einfachheit der Befehle, die QLIB in eigene Applikationen einzubinden. Die Befehle und Funktionen gelten für
alle Betriebssysteme.
Unterstützte Betriebssysteme:
· Microsoft Windows 7 / Vista / XP / 2000 / NT 4.0 / ME / 98 / 95 und Linux
· Microsoft Windows Server 2000 / 2003 /2008
Unterstützte Compiler:
C / C++
· Borland C++ 3.1, 4.x, 5.x
· Microsoft® Visual C++ 1.x, 2.x, 4.x, 5.x, 6.x
Pascal
· Borland Turbo Pascal
Delphi
· Borland Delphi
Basic
· Microsoft® Visual Basic 3.x, 4.x, 5.x; 6.x
Grafische Programmiersprache:
· Agilent VEE von Agilent
· LabView® von National Instruments
© QUANCOM Informationssysteme GmbH 34
4.3 Installation und Allgemeines über die QLIB
Wie die QLIB installiert wird und welche Funktionen sie bietet sehen Sie in der QLIB Dokumentation (QLIB
Hilfe)
Wenn die QLIB schon auf Ihrem System installiert ist finden Sie die Hilfe auch unter
Start>Programme>QLIB 32 Bit>Help
4.4 Testprogramm
Unter Start>Programme>QLIB 32 Bit>Programms>USBOPTOX finden Sie das Testprogramm mit welchen Siedas Modul testen können.
© QUANCOM Informationssysteme GmbH 35
5 QLIB Befehle
Die folgende Auflistung enthält alle von dieser Karte verwendeten QLIB-Befehle. Diese unterscheiden sich in
erweiterte (QAPIExt...) und einfache (QAPI...) Funktionen. Bei den einfachen Funktionen werden keine
Kartenhandles (Kartenparameter) übergeben. Dadurch wird nur die erste vom System erkannte Karte eines
Typs angesprochen und verwendet. Sollen mehrere Karten verwendet werden, so müssen die erweiterten
Funktionen angwendet werden.
5.1 Digitale Schreib- / Lesefunktionen
QAPIGetDI
Mit der Funktion QAPIGetDI wird der Zustand eines 32 Bit breiten Digitalkanals einer DI-Karte ausgegeben.
ULONG QAPIGetDI (ULONG cardhandle,ULONG channel);
Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
© QUANCOM Informationssysteme GmbH 36
QAPIPutDO
Mit der Funktion QAPIGetDO wird der Zustand eines 32 Bit breiten Digitalkanals einer DI-Karte ausgegeben.
ULONG QAPIPutDO (ULONG cardhandle,ULONG channel);
Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
5.1.1 Verwaltungs- und sonstige Funktionen
QAPINumOfCards
Mit der Funktion QAPIExtNumOfCards wird abgefragt, wieviele unterschiedliche Karten- bzw. Modultypen von
der QLIB unterstützt werden.
ULONG QAPINumOfCards (void);
© QUANCOM Informationssysteme GmbH 37
QAPIGetCardInfo
Mit der Funktion QAPIGetCardInfo lassen sich Informationen über eine Karte einlesen.
LPCARDDATAS QAPIGetCardInfo(ULONG cardid);
Funktionsprototypen für Delphi und VB
Parameter
cardidGibt die ID der Karte an, über welche Informationen abgefragt werden sollen.
QAPIGetCardInfoEx
Mit der Funktion QAPIGetCardInfoEx können Informationen einer Karte abgerufen werde.Diese werden in dem
vom der Anwendung übergebenem Speicher geschrieben.
ULONG QAPIGetCardInfoEx(ULONG cardid,LPCARDDATAS lpcd);
Funktionsprototypen für Delphi und VB
Parameter
cardnumGibt die ID der Karte an, über welche Informationen abgefragt werden sollen
lpcdIst ein Zeiger auf eine Struktur vom Typ CARDDATAS. Der Feld SizeOf muss mit der Grösse der Struktur
initialisiert werden, sonst schlägt die Funktion fehl.
© QUANCOM Informationssysteme GmbH 38
QAPISpecial
Mit der Funktion QAPISpecial wird das Ausführen von kartenspezifischen Funktionen ermöglicht.
ULONG QAPISpecial (ULONG cardid,ULONG jobcode,ULONG para1,ULONG para2);
Für die USBOPTO64IN/ USBOPTO64OUT/ USBREL64, USBOPTOREL32, USBOPTOREL32/3A,
USBOPTO32IO, USBOPTOREL16, USBOPTO16IO, USBOPTOREL8 stehen die folgenden Parameter der
QAPISpecial Funktion zur Verfügung:
© QUANCOM Informationssysteme GmbH 39
Jobcode Funktion para1 para2 Rückgabewert
JOB_READ_IN_FFS
USBPTO64IN/OUT /USBOPTOREL32 (3A) /USBOPTO32IO /USBOPTOREL16 /USBOPTO16IO/USBOPTOREL8
Den Wert aller 8/ 16 / 32 / 64Eingangs-FFs lesen ( Die Bits 0 –7/15/31zeigen an, ob sichzwischen zweiLesebefehlen derEingang geändert hat. )Bit 0 entspricht dabeiIN1 und Bit 15 / 31entspricht IN16 / 32 / 64
--- 0/1
8/ 16 / 32 Bit die,
die Eingangs – FF
darstellen
mit dem para2 wird
bei 64er Modulen
zwischen den ersten
und den zweiten 32
Bit unterschieden
JOB_ENABLE_TIMEOUT
Aktiviert den Timeoutder die Ausgänge nacheiner bestimmtenZeitspanne abschaltet (Schutzfunktion,Watchdog )
--- --- ---
JOB_DISABLE_TIMEOUTDeaktiviert die TimeoutÜberwachung
--- --- ---
JOB_RESET_TIMEOUT_STATUS
Timeout Status Flagzurücksetzen, das Flaggibt an, dass einTimeout stattgefundenhat, und die Ausgängeabgeschaltet wurden.
--- --- ---
JOB_READ_TIMEOUT_STATUS
Liefert das TimeoutStatus Flag
--- ---1 Timeout hatstattgefunden, 0 sonst
JOB_SET_WATCHDOG_TIME
Setzt die Timeout Zeitder Timeoutfunktion derdie Ausgänge nacheiner bestimmtenZeitspanne abschaltet (Schutzfunktion,Watchdog )
0 = 0.35s1 = 0.7s2 = 1.4s3 = 2.8s4 = 5.6s5 = 11.2s6 = 22.4s7 = 44.7s
--- ---
JOB_READ_DIP_SWITCH
Liefert die Einstellungdes DIP Schalters aufdem USB Modul.
--- ---0...15 DIP SchalterEinstellung
© QUANCOM Informationssysteme GmbH 40
5.1.2 Digitale Lesefunktionen
QAPIExtReadDI1Mit den Funktion QAPIExtReadDI1 wird der Zustand eines 1 Bit breiten Digitalkanals einer DI-Karte eingelesen.
ULONG QAPIExtReadDI1 (ULONG cardhandle,ULONG channel,ULONG mode,);Funktionsprototypen für Delphi und VB
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” der Eingänge deaktiviert werden.
QAPIExtReadDI8Mit der Funktion QAPIExtReadDI8 wird der Zustand eines 8 Bit breiten Digitalkanals einer DI-Karte eingelesen.
ULONG QAPIExtReadDI8 (ULONG cardhandle,ULONG channel,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” derEingänge deaktiviert werden.
© QUANCOM Informationssysteme GmbH 41
QAPIExtReadDI16Mit der Funktion QAPIExtReadDI16 wird der Zustand eines 16 Bit breiten Digitalkanals einerDI-Karte eingelesen.
ULONG QAPIExtReadDI16 (ULONG cardhandle,ULONG channel,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegebenwerden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” derEingänge deaktiviert werden.
QAPIExtReadDI32Mit der Funktion QAPIExtReadDI32 wird der Zustand eines 32 Bit breiten Digitalkanals einerDI-Karte eingelesen.
ULONG QAPIExtReadDI32 (ULONG cardhandle,ULONG channel,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, von dem der Digitalwert eingelesen werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegebenwerden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” derEingänge deaktiviert werden.
5.1.3 Digitale Schreibfunktionen
QAPIExtWriteDO1Mit der Funktion QAPIExtWriteDO1 wird ein 1 Bit breiter Digitalwert auf den Kanal einer DO-Karte ausgegeben.
void QAPIExtWriteDO1 (ULONG cardhandle,ULONG channel,ULONG value,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, auf dem der Digitalwert ausgegeben werden soll.
value
© QUANCOM Informationssysteme GmbH 42
Gibt den Digitalwert an, welcher ausgegeben werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” der Ausgänge deaktiviert werden.
© QUANCOM Informationssysteme GmbH 43
QAPIExtWriteDO8Mit der Funktion QAPIExtWriteDO8 wird ein 8 Bit breiter Digitalwert auf den Kanal einer DO-Karte ausgegeben.
void QAPIExtWriteDO8 (ULONG cardhandle,ULONG channel,ULONG value,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, auf dem der Digitalwert ausgegeben werden soll.
valueGibt den Digitalwert an, welcher ausgegeben werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” der Ausgänge deaktiviert werden.
© QUANCOM Informationssysteme GmbH 44
QAPIExtWriteDO16Mit der Funktion QAPIExtWriteDO16 wird ein 16 Bit breiter Digitalwert auf den Kanal einer DO-Karte ausgegeben.
void QAPIExtWriteDO16 (ULONG cardhandle,ULONG channel,ULONG value,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, auf dem der Digitalwert ausgegeben werden soll.
valueGibt den Digitalwert an, welcher ausgegeben werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” der Ausgänge deaktiviert werden.
© QUANCOM Informationssysteme GmbH 45
QAPIExtWriteDO32Mit der Funktion QAPIExtWriteDO32 wird ein 32 Bit breiter Digitalwert auf den Kanal einer DO-Karte ausgegeben.
void QAPIExtWriteDO32 (ULONG cardhandle,ULONG channel,ULONG value,ULONG mode);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
channelGibt den Kanal an, auf dem der Digitalwert ausgegeben werden soll.
valueGibt den Digitalwert an, welcher ausgegeben werden soll.
modeDieser Wert ist für zukünftige Erweiterungen reserviert. Es muß daher mit Wert 0 angegeben werden. Ausnahme: Beim PAR48IO Modul kann mit einer “1” das automatische “Latchen” der Ausgänge deaktiviert werden.
© QUANCOM Informationssysteme GmbH 46
5.1.4 Verwaltungsfunktionen
QAPIExtOpenCardMit der Funktion QAPIExtOpenCard wird eine Karte geöffnet.
ULONG QAPIExtOpenCard (ULONG cardid,ULONG devnum);Funktionsprototypen für Delphi und VB
Parameter
cardidGibt die ID der Karte an, welche geöffnet werden soll.
devnumGibt die Device-Nummer der Karte an, die geöffnet werden soll.
QAPIExtCloseCardMit der Funktion QAPIExtCloseCard wird eine Karte geschlossen.
void QAPIExtCloseCard(ULONG cardhandle);Funktionsprototypen für Delphi und VB
Parameter
cardhandleGibt das Handle einer geöffneten Karte an.
QAPIExtNumOfCardsMit der Funktion QAPIExtNumOfCards wird abgefragt, wieviele unterschiedliche Karten- bzw. Modultypen von der QLIB unterstützt werden.
ULONG QAPIExtNumOfCards (void);Funktionsprototypen für Delphi und VB
ParameterDiese Funktion benötigt keine Parameter.
© QUANCOM Informationssysteme GmbH 47
QAPIExtSpecialMit der Funktion QAPISpecial wird das Ausführen von kartenspezifischen Funktionen ermöglicht.
ULONG QAPISpecial (ULONG cardhandle,ULONG jobcode,ULONG para1,ULONG para2);Funktionsprototypen für Delphi und Vb
Parameter
cardhandleGibt das Handle der Karte an, die angesprochen werden soll.
jobcodeGibt die Aktion an, die auf der mit cardid angegebenen Karte ausgelöst werden soll.
para1Parameter sind abhängig vom jobcode (siehe hierzu auch das Feld Anmerkungen)
para2Parameter sind abhängig vom jobcode (siehe hierzu auch das Feld Anmerkungen)
Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird ein von jobcode anhängiger Rückgabewert geliefert.
Anmerkung:Für die Erklärung der Parameter schauen Sie bitte auf Seite 43 unter QAPISPECIAL nach.
5.1.5 Sonstige Funktionen
QAPIExtGetCardInfoMit der Funktion QAPIExtGetCardInfo lassen sich Informationen über eine Karte einlesen.
LPCARDDATAS QAPIExtGetCardInfo(ULONG cardid);Funktionsprototypen für Delphi und VB
Parameter
cardid
Gibt die ID der Karte an, über welche Informationen abgefragt werden sollen. Der Feld SizeOf muss mit der Grösse der Struktur initialisiert werden, sonst schlägt die Funktion fehl.
© QUANCOM Informationssysteme GmbH 48
QAPIExtGetCardInfoMit der Funktion QAPIExtGetCardInfo lassen sich Informationen über eine Karte einlesen.
LPCARDDATAS QAPIExtGetCardInfo(ULONG cardid);Funktionsprototypen für Delphi und VB
Parameter
cardidGibt die ID der Karte an, über welche Informationen abgefragt werden sollen. Der Feld SizeOf muss mit der Grösse der Struktur initialisiert werden, sonst schlägt die Funktion fehl.
QAPIExtGetCardInfoExMit der Funktion QAPIExtGetCardInfoEx können Informationen einer Karte abgerufen werde.Diese werden in dem vom der Anwendung übergebenem Speicher geschrieben.
ULONG QAPIExtGetCardInfoEx(ULONG cardid,LPCARDDATAS lpcd);Funktionsprototypen für Delphi und VB
Parameter
cardnumGibt die ID der Karte an, über welche Informationen abgefragt werden sollen
lpcdIst ein Zeiger auf eine Struktur vom Typ CARDDATAS
QAPIExtReleaseCardInfoMit der Funktion QAPIExtReleaseCardInfo werden die mit QAPIExtGetCardInfo abgefragten Karteninformationen freigegeben.
void QAPIExtReleaseCardInfo(LPCARDDATAS lpcarddatas);Funktionsprototypen für Delphi und VB
Parameter
lpcarddatasZeigt auf eine Struktur vom Typ CARDDATAS.
© QUANCOM Informationssysteme GmbH 49
QAPIExtGetCardInfoExMit der Funktion QAPIExtGetCardInfoEx können Informationen einer Karte abgerufen werde.Diese werden in dem vom der Anwendung übergebenem Speicher geschrieben.
ULONG QAPIExtGetCardInfoEx(ULONG cardid,LPCARDDATAS lpcd);Funktionsprototypen für Delphi und VB
Parameter
cardnumGibt die ID der Karte an, über welche Informationen abgefragt werden sollen
lpcdIst ein Zeiger auf eine Struktur vom Typ CARDDATAS
QAPIExtReleaseCardInfoMit der Funktion QAPIExtReleaseCardInfo werden die mit QAPIExtGetCardInfo abgefragten Karteninformationen freigegeben.
void QAPIExtReleaseCardInfo(LPCARDDATAS lpcarddatas);Funktionsprototypen für Delphi und VB
Parameter
lpcarddatasZeigt auf eine Struktur vom Typ CARDDATAS.
© QUANCOM Informationssysteme GmbH 50
5.2 Programmierung mit der QLIB ( QUANCOM Driver Library )
Stellen Sie sicher, dass die QLIB (QUANCOM Library ) installiert ist.
Weitere Informationen über die Installation und wie man die entsprechenden Dateien in die Anwendung
einbindet entnehmen Sie bitte der “32-Bit QLIB API Help” Dokumentation. Das folgende Kapitel erläutert
spezielle Befehle die benötigt werden, um die Karte mit der QLIB benutzen zu können.
5.2.1 Programmbeispiele in C für QLIB
Die folgenden Programmbeispiele zeigen, wie einfach Programme für die QUANCOM-Karten mit Hilfe der QLIB,
geschrieben werden können.
© QUANCOM Informationssysteme GmbH 51
5.2.1.1 Programmierung der Ein-/Ausgänge, so wie diverser Spezialfunktionen.
Der fettgedruckte Text beschreibt, wie man die QLIB in ein MFC / C++ / C Projekt einbindet. Nach der
Installation der QLIB befindet sich das sofort kompilierbare Beispielprojekt im Ordner d:\program
files\quancom\qlib32\samples\usbopto\vc (Gilt nur bei einer Installation in das Standardverzeichnis).
Beispiel zu den Funktionen USBOPTOREL16 od. USBOPTO16IO
// usbmodul.cpp : Sample project for the USBOPTOREL16 and USBOPTOIO Modules//// Author: Michael Reimer, QUANCOM Informationssysteme GmbH, Germany//// Website: http://www.quancom.de// Product: // USB OPTO I/O Module http://www.quancom.de/qprod01/eng/pb/usbopto16io.htm// USB OPTO Relay Module http://www.quancom.de/qprod01/deu/pb/usboptorel16.htm// Information: // // To use the QLIB Commands in your source, do the following://// (1) Add statement #include "qlib.h" to your source file.// (2) Add in the Dialog Menu->Project->Settings->C/C++->Preprocessor // "$(QLIB_INC)" to the additional include directories entry.// (3) Add in the Dialog Menu->Project->Settings->Linker->General// "$(QLIB_LIB)\qlib32.lib" to the additional library and object // modules directories entry.
#include "stdafx.h"#include "windows.h"#include "qlib.h"#include <conio.h>#include <stdio.h>
#define OUT1 0x1#define OUT2 0x2#define OUT3 0x4#define OUT4 0x8#define OUT5 0x10#define OUT6 0x20#define OUT7 0x40#define OUT8 0x80#define OUT9 0x100#define OUT10 0x200#define OUT11 0x400#define OUT12 0x800#define OUT13 0x1000#define OUT14 0x2000#define OUT15 0x4000#define OUT16 0x8000
int main(int argc, char* argv[]){ ULONG handle; char ch;
// // Open the USB Module (USBOPTOREL16 or USBOPTO16IO ) // handle = QAPIExtOpenCard(USBOPTOREL16,0); if ( handle == 0 ) { handle = QAPIExtOpenCard(USBOPTO16IO,0); }
// // If there are no usb modules terminate application // if ( handle == 0 ) { MessageBox(NULL, "No USB Modules found!","Error", MB_OK); return FALSE; }
// Ok, we found a QUANCOM USB Module // ----------------------------------------------------------------------
© QUANCOM Informationssysteme GmbH 52
// PART 1: Setting the outputs // // The following constants can be used to program the outputs: // ---------------------------------------------------------------------- ULONG lines = 0;
// // Reset all lines to "Low" // printf("Reset all lines to 'Low' ( Press return to continue ):\n"); QAPIExtWriteDO16(handle, 0, lines, 0); ch = getchar(); // // Set the outputs OUT4,OUT10 and OUT15 to "High" ( 16-Bit ) // printf("Set OUT4,OUT10 and OUT15 to 'High' ( Press return to continue ):\n"); lines = OUT4 + OUT10 + OUT15; QAPIExtWriteDO16(handle, 0, lines, 0); ch = getchar(); // // Set the output OUT1, OUT4,OUT10 and OUT15 to "High" ( 16-Bit ) // printf("Set OUT1, OUT4,OUT10 and OUT15 to 'High' ( Press return to continue ):\n");
lines = OUT1 + OUT4 + OUT10 + OUT15; QAPIExtWriteDO16(handle, 0, lines, 0); ch = getchar();
// // Reset line OUT10 to "Low" // printf("Reset line OUT10 to 'Low' ( Press return to continue ):\n"); QAPIExtWriteDO1(handle, 10 - 1, FALSE, 0); ch = getchar();
// // Set line OUT5 to "High" // printf("Set line OUT5 to 'High' ( Press return to continue ):\n"); QAPIExtWriteDO1(handle, 5 - 1, TRUE, 0); ch = getchar();
// // Reset all lines to "Low" // printf("Reset all to 'Low' ( Press return to continue ):\n"); lines = 0; QAPIExtWriteDO16(handle, 0, lines, 0); ch = getchar();
// ---------------------------------------------------------------------- // PART 2: Reading the inputs ( and detect changed inputs ) // // This part reads the state of the input lines. // // The following constants can be used to program the inputs: // ---------------------------------------------------------------------- int i; while (!kbhit()) { // read the current state from the inputs lines = QAPIExtReadDI16(handle, 0, 0); printf("\n--------------------------------------------------------------------------\n"); printf("Current input states\n"); printf("IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14 IN15\n"); for (i=0;i<15;i++) { if ( lines & 1<<i) { printf(" 1 "); } else { printf(" 0 "); } }
// read the state change ff from the input lines lines = QAPIExtSpecial(handle, JOB_READ_IN_FFS, 0, 0); printf("\n--------------------------------------------------------------------------"); printf("\nInput change detection 1 = Input has changed its state since last reading\n"); printf("IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14 IN15\n"); for (i=0;i<15;i++) { if ( lines & 1<<i) { printf(" 1 "); } else {
© QUANCOM Informationssysteme GmbH 53
printf(" 0 "); } }
printf("\n--------------------------------------------------------------------------\n"); printf("Press return to stop reading the inputs every 5 seconds ...\n"); for (int j=0;(j<10) && !kbhit();j++) { Sleep(500); } } ch = getchar();
// ------------------------------------------------------------------- // PART 3: Enabling and disabling the timeout control // // The timeout control is a security feature. If the application // crashes or fails to set the outputs in a predefined time // the module resets the outputs to 'low'. This is to prevent that // connected devices ( i.e. motors, heaters, lamps, ... ) // continue to run when the software has lost control. // ------------------------------------------------------------------- printf("Testing timeout function ...\n"); printf("Set OUT1,OUT2,OUT5,OUT10 and OUT15 to 'high'\n");
// writing to OUTx pins QAPIExtWriteDO16(handle, 0, OUT1+OUT2+OUT5+OUT10+OUT15, 0); printf("Setting timout time to 22.4s\n");
// first disable timeout QAPIExtSpecial(handle, JOB_DISABLE_TIMEOUT, 0, 0);
// now, set timeout time ( 6 = 22.4s ) lines = QAPIExtSpecial(handle, JOB_SET_WATCHDOG_TIME, 6, 0); printf("Enabling the timout control.\n");
// reset timeout status bit, this may be set by previous testing QAPIExtSpecial(handle, JOB_RESET_TIMEOUT_STATUS, 0, 0);
// enable timeout control QAPIExtSpecial(handle, JOB_ENABLE_TIMEOUT, 0, 0);
// this part waits for 40s without any write to the usb module // after 22.4 seconds the hardware watchdog on the board // sets all outputs to 'low' printf("Now we wait for 40 seconds. This simulates a crash !\n"); for (int j=0;j<40;j++) { Sleep(1000); printf("."); } printf("\nAll OUT Pins should be reset now ! Press a key to continue !"); ch = getchar();
ULONG status = QAPIExtSpecial(handle, JOB_READ_TIMEOUT_STATUS, 0, 0); if ( status ) printf("Timeout flag was set\n"); else printf("No timeout flag set\n");
// first disable timeout QAPIExtSpecial(handle, JOB_DISABLE_TIMEOUT, 0, 0); // reset timeout status bit QAPIExtSpecial(handle, JOB_RESET_TIMEOUT_STATUS, 0, 0); printf("\nReady ! Press a key to continue !"); ch = getchar();
QAPIExtCloseCard(handle);
return 0;}
© QUANCOM Informationssysteme GmbH 54
5.2.1.2 Ansteuerung der Relais mit der QLIB in C/C++
Beispiel zur Ansteuerung der Relais
#include <windows.h>#include <stdio.h>#include <conio.h>
#include "qlib.h"
/*=====================Main program======================*/
void main () { ULONG handle; /*Handle of the USBOPTOREL16
if ((handle=QAPIExtOpenCard(USBOPTOREL16,0L)) == 0L) { printf("Couldn´t open USBOPTOREL16 \n"); return; }
for (;;) { if (kbhit() != 0 && getch() == 27) break;
QAPIExtWriteDO8(handle,0L,0x00L,0L); Sleep(500); QAPIExtWriteDO8(handle,0L,0xFFL,0L); Sleep(500); QAPIExtWriteDO8(handle,0L,0x55L,0L); Sleep(500); QAPIExtWriteDO8(handle,0L,0xAAL,0L); Sleep(500); }
QAPIExtCloseCard(handle);
}
5.2.1.3 Lesen der Optokoppler Eingänge mit der QLIB in C/C++
Beispiel zum Lesen der Optokoppler
#include <windows.h>#include <stdio.h>#include <conio.h>
#include ”qlib.h"
/*=====================Main program======================*/
void main () { ULONG handle; /* Handle of the USBOPTOREL16 */
if ((handle = QAPIExtOpenCard(USBOPTOREL16,0L)) == 0L) { printf("Couldn’t open USBOPTOREL16 \n"); return; }
for (;;) { if (kbhit() != 0 && getch() == 27) break;
printf("%04lx\n",QAPIExtReadDI16(handle,0L,0L)); Sleep(500); printf("%04lx\n",QAPIExtReadDI16(handle,0L,0L)); Sleep(500); printf("%04lx\n",QAPIExtReadDI16(handle,0L,0L)); Sleep(500); printf("%04lx\n",QAPIExtReadDI16(handle,0L,0L)); Sleep(500); }
QAPIExtCloseCard(handle);}
© QUANCOM Informationssysteme GmbH 55
5.2.2 Borland Delphi Beispiel
Der fettgedruckte Text beschreibt, wie man die QLIB in ein Delphi Projekt einbindet. Nach der Installation der
QLIB befindet sich das sofort kompilierbare Beispielprojekt usbmodul.pas im Ordner d:\program
files\quancom\qlib32\samples\usbopto\delphi (Gilt nur bei einer Installation in das Standartverzeichnis).
5.2.2.1 Programmierung der Ein-/Ausgänge, so wie diverser Spezialfunktionen.
Welche Schritte nötig sind, um die QLIB zu eigenen Projekten hinzuzufügen, entnehmen Sie bitte dem Header
im Quelltext.
program USBOPTO_CONSOLE_APP;
uses WinProcs;{*// usbopto.pas : Sample project for the USBOPTOREL16 and USBOPTOIO Modules//// Author: Michael Reimer, QUANCOM Informationssysteme GmbH, Germany//// Website: http://www.quancom.de// Product:// USB OPTO I/O Module http://www.quancom.de/qprod01/eng/pb/usbopto16io.htm// USB OPTO Relay Module http://www.quancom.de/qprod01/deu/pb/usboptorel16.htm// Information://// To use the QLIB Commands in your source, do the following://// (1) Add statement #include "qlib.pas" to your source file.// (2) Copy QLIB.PAS from QLIB Installation Directory// d:\program files\quancom\qlib32\include to your// working directory*}function KeyPressed: Boolean;var Buffer: TInputRecord; Data: DWORD; hIn: DWORD;
begin hIn := GetStdHandle( STD_INPUT_HANDLE ); Result := False; PeekConsoleInput(hIn, Buffer, 1, Data); if Data <> 0 then if Buffer.EventType = Key_Event then begin Result := True; end;
FlushConsoleInputBuffer(hIn)
end;
{$APPTYPE CONSOLE}
{$INCLUDE QLIB.pas}
{$X+}
const OUT1 = $1; OUT2 = $2; OUT3 = $4; OUT4 = $8; OUT5 = $10; OUT6 = $20; OUT7 = $40; OUT8 = $80; OUT9 = $100; OUT10 = $200; OUT11 = $400; OUT12 = $800; OUT13 = $1000; OUT14 = $2000; OUT15 = $4000; OUT16 = $8000;
© QUANCOM Informationssysteme GmbH 56
var handle: longint; status: longint; lines: longint; s: string; i: integer; j: integer;
Label lab1, lab2;
begin
{*//// Open the USB Module//*}
handle := QAPIExtOpenCard(USBOPTOREL16,0);if ( handle = 0 ) then begin handle := QAPIExtOpenCard(USBOPTO16IO,0); end;
{*// The handle is <> NULL if there is a USB Module installed*}
if ( handle = 0 ) then begin s := 'No QUANCOM USB Module found!'; writeln(s); halt(0); end;
{*// Ok, we found a QUANCOM USB Module
// ------------------------------------------------------------------------// PART 1: Setting the outputs//// The following constants can be used to program the outputs:// ------------------------------------------------------------------------*}
{*//// Reset all lines to "Low"//*}
lines := 0;
writeln('Reset all lines to Low ( Press return to continue ):');
QAPIExtWriteDO16(handle, 0, lines, 0);
Readln;
{*//// Set the outputs OUT4,OUT10 and OUT15 to "High" ( 16-Bit )//*}
writeln('Set OUT4,OUT10 and OUT15 to High ( Press return to continue ):');
lines := OUT4 + OUT10 + OUT15;
QAPIExtWriteDO16(handle, 0, lines, 0);
Readln;
{*//// Set the output OUT1, OUT4,OUT10 and OUT15 to "High" ( 16-Bit )//*}
© QUANCOM Informationssysteme GmbH 57
writeln('Set OUT1, OUT4,OUT10 and OUT15 to High ( Press return to continue ):');
lines := OUT1 + OUT4 + OUT10 + OUT15;
QAPIExtWriteDO16(handle, 0, lines, 0);
Readln;
{*//// Reset line OUT10 to "Low"//*}
writeln('Reset line OUT10 to Low ( Press return to continue ):');
QAPIExtWriteDO1(handle, 10 - 1, 0, 0);
Readln;
{*//// Set line OUT5 to "High"//*}
writeln('Set line OUT5 to High ( Press return to continue ):');
QAPIExtWriteDO1(handle, 5 - 1, 1, 0);
Readln;
{*//// Reset all lines to "Low"//*}
writeln('Reset all to Low ( Press return to continue ):');
lines := 0;
QAPIExtWriteDO16(handle, 0, lines, 0);
Readln;
{*// ------------------------------------------------------------------------// PART 2: Reading the inputs ( and detect changed inputs )//// This part reads the state of the input lines.//// The following constants can be used to program the inputs:// ------------------------------------------------------------------------*}
while Not KeyPressed do begin {* // read the current state from the inputs *}
lines := QAPIExtReadDI16(handle, 0, 0);
write(#13#10'--------------------------------------------------------------------------'#13#10); write('Current input states'#13#10); write('IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14 IN15 IN16'#13#10);
for i:=0 to 15 do begin if lines AND ( 1 shl i) <> 0 then begin write(' 1 '); end else begin write(' 0 '); end end;
© QUANCOM Informationssysteme GmbH 58
{* // read the state change ff from the input lines *}
lines := QAPIExtSpecial(handle, JOB_READ_IN_FFS, 0, 0);
write(#13#10'--------------------------------------------------------------------------'); write(#13#10'Input change detection 1 = Input has changed its state since last reading'#13#10); write('IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14 IN15 IN16'#13#10);
for i:=0 to 15 do begin if lines AND ( 1 shl i) <> 0 then begin write(' 1 '); end else begin write(' 0 '); end end;
write(#13#10'--------------------------------------------------------------------------'#13#10); write('Press return to stop reading the inputs every 5 seconds ...'#13#10);
for j:=0 to 10 do begin Sleep(500); If KeyPressed then goto lab1; end; end;
lab1:
{*// ------------------------------------------------------------------------// PART 3: Enabling and disabling the timeout control//// The timeout control is a security feature. If the application// crashes or fails to set the outputs in a predefined time// the module resets the outputs to 'low'. This is to prevent that// connected devices ( i.e. motors, heaters, lamps, ... )// continue to run when the software has lost control.// ------------------------------------------------------------------------*}
writeln('Testing timeout function ...'#13#10);
writeln('Set OUT1,OUT2,OUT5,OUT10 and OUT15 to High'#13#10);
{*// writing to OUTx pins*}
QAPIExtWriteDO16(handle, 0, OUT1+OUT2+OUT5+OUT10+OUT15, 0);
writeln('Setting timout time to 22.4s'#13#10);
{*// first disable timeout*}
QAPIExtSpecial(handle, JOB_DISABLE_TIMEOUT, 0, 0);
{*// now, set timeout time ( 6 = 22.4s )*}
QAPIExtSpecial(handle, JOB_SET_WATCHDOG_TIME, 6, 0);
writeln('Enabling the timout control.'#13#10);
{*// reset timeout status bit, this may be set by previous testing*}
QAPIExtSpecial(handle, JOB_RESET_TIMEOUT_STATUS, 0, 0);
© QUANCOM Informationssysteme GmbH 59
{*// enable timeout control*}
QAPIExtSpecial(handle, JOB_ENABLE_TIMEOUT, 0, 0);
{*// this part waits for 40s without any write to the usb module// after 22.4 seconds the hardware watchdog on the board// sets all outputs to 'low'*}
writeln('Now we wait for 40 seconds. This simulates a crash !'#13#10);
for j := 0 to 40 do begin Sleep(1000); write('.'); If KeyPressed then goto lab2 end;
lab2:
writeln(#13#10'All OUT Pins should be reset now ! Press a key to continue !');
ReadLn;
status := QAPIExtSpecial(handle, JOB_READ_TIMEOUT_STATUS, 0, 0);
if status <> 0 then begin writeln('Timeout flag was set'#13#10); endelse begin writeln('No timeout flag set'#13#10); end;
{*// first disable timeout*}
QAPIExtSpecial(handle, JOB_DISABLE_TIMEOUT, 0, 0);
{*// reset timeout status bit*}
QAPIExtSpecial(handle, JOB_RESET_TIMEOUT_STATUS, 0, 0);
writeln(#13#10'Ready ! Press a key to continue !');
ReadLn;
QAPIExtCloseCard(handle);
end.
© QUANCOM Informationssysteme GmbH 60
6 Anhang
6.1 Probleme mit Karten unter Windows XP/2000/NT/ME/98/95
Warum ist in der Systemsteuerung der Karten Dialog QLIB leer?
· Es ist keine QUANCOM PCI Karte im System.
Nach der Installation kommt die Meldung ”QLIBNDRV.SYS nicht gefunden” oder ”QLIBNDRV.VXD
nicht gefunden”- Was kann ich machen?
· Überprüfen Sie, dass die QLIB korrekt installiert ist. Für weitere Informationen rund um die Installation der
QLIB sehen Sie im QLIB-Handbuch nach, das auf der CD enthalten ist.
Nach der Installation kommt die Meldung ”Direct-IO interface cannot be initialized qmulti32.dll could
not be initialized” - Was kann ich machen?
· Überprüfen Sie, ob die QLIB korrekt installiert ist. Für weitere Informationen rund um die Installation der
QLIB sehen Sie im QLIB-Handbuch nach, das auf der CD enthalten ist.
Warum gibt QAPIExtOpenCard ( ... ) den Wert 0 zurück, obwohl die Karte installiert ist?
· Überprüfen Sie, ob die QLIB korrekt installiert ist. Für weitere Informationen rund um die Installation der
QLIB sehen Sie im QLIB-Handbuch nach, das auf der CD enthalten ist.
· Die Karte ist nicht richtig konfiguriert. (”Systemsteuerung” => QLIB, Kapitel ”QLIB” Handbuch auf der
Installations CD)
Warum bekomme ich die Meldung "Driver QLIBNDRV.SYS oder ”Driver QLIBNDRV.VXD konnte
nicht geladen werden?”
· Überprüfen Sie, ob die QLIB korrekt installiert ist. Für weitere Informationen rund um die Installation der
QLIB sehen Sie im QLIB-Handbuch nach, welches auf der CD enthalten ist.
· Die Treiber für die QUANCOM-Karte ist nicht geladen. (Systemsteuerung => System )
Windows 2000/NT: Kann die QLIB nur mit Administratorenrechten installiert werden?
· Ja, installieren Sie die QLIB nur mit Administratorenrechten.
Windows 2000/NT: Warum bekomme ich die Meldung ”Treiber konnte nicht geladen werden”
während der Installation?
· Die Installation wurde ohne Administratorenrechte ausgeführt.
· Die QLIB-Software ist auf einem Netzlaufwerk installiert worden. Installieren Sie die QLIB immer auf derlokalen Festplatte.
Windows 2000/NT: Wie kann ich den QLIBNDRV.SYS Treiber manuell installieren?
Wenn die QLIB-Installation fehlschlägt, kann es nötig sein, dass Sie den Treiber manuell installieren.
· Suchen Sie auf der CD in dem Verzeichnis ”Tools” die Datei instdrv.exe. Mit diesem Tool können Sie
den Treiber manuell installieren.
· Führen Sie das Programm folgendermaßen aus:
© QUANCOM Informationssysteme GmbH 61
instdrv qlibndrv d:\directory\qlibndrv.sys
Wechseln Sie dazu in das Verzeichnis, in der sich die Datei ”qlibndrv.sys” befindet.
· Wechseln Sie unter Systemsteuerung -> Dienste die Startart auf ”Automatisch” (für den Dienst
QLIBNDRV). Starten Sie jetzt Ihren Computer neu.
Warum muß ich den Treiber nach jedem Neustart wieder starten?
Die Startart des Treibers steht auf ”Manuell”. Wenn Sie die Einstellungen ändern möchten, wählen Sie die
Startart ”Automatisch” und starten Sie Ihr System neu.
© QUANCOM Informationssysteme GmbH 62
6.2 Kunden Support und Hilfe
Sie benötigen Hilfe? Wenn Sie nicht wissen was Sie während einer Installation tun
müssen, oder wie die Karte in Betrieb genommen wird, lesen
Sie bitte dieses Handbuch.
! Tip ! Im Kapitel ”Frequently asked questions” (Häufig gestellte
Fragen) sind einige Antworten auf häufig gestellte Fragen. Sie
können Ihnen bei der Problemlösung behilflich sein. Auf der
QUANCOM Installations CD finden Sie in Textform die Datei
README.TXT, welche alle wichtigen Änderungen beinhaltet.
! Wichtig ! Wenn Sie weitere Fragen haben, kontaktieren Sie unser
Support-Team. Für diesen Fall halten Sie bitte folgende
Informationen bereit:
· Genauer Karten-Typ
· Version der Treiber
· Version der QLIB
· Betriebssystem, Hardware-Ausstattung und Bussystem
· Name und Version von dem Programm, welches den Fehler
ausgibt
· Eine genaue Fehlerbeschreibung (versuchen Sie den Fehler zu
wiederholen, um diesen besser beschreiben zu können)
© QUANCOM Informationssysteme GmbH 63
Wen kann ich erreichten?
Die QUANCOM Internet Webseite
www.quancom.de
Per Fax
+49 22 36 / 89 92 - 49
Per E-Mail:
support@quancom.de
Adresse:
QUANCOM INFORMATIONSSYSTEME GmbH
In der Flecht 14
50389 Wesseling
Wenn Sie Hilfe brauchen, erreichen Sie uns unter:
QUANCOM Hotline Deutschland
0 22 36 / 89 92 - 20
Montags - Donnerstag
von 9:00 bis 18:00
Freitags
von 9:00 bis 17:00
© QUANCOM Informationssysteme GmbH 64
Aktuelle Treiber
Auf unserer Internetseite http://www.quancom.de können sie
immer die neusten Treiber Versionen und Updates finden.
Zudem finden Sie ebenfalls viele andere Informationen und die
”Frequently asked questions (FAQ’s)”. Bevor Sie uns
kontaktieren, überprüfen Sie ob die neueste Version der
QUANCOM Software installiert ist.
Reparatur
Wenn Sie nicht genau wissen, ob die QUANCOM Karte defekt
ist, rufen Sie unsere QUANCOM Hotline an:
Tel.: +49 22 36 / 89 92 – 20
Bevor Sie uns die Karte zur Reparatur schicken, rufen Sie
unsere Hotline an:
Tel.: +49 22 36 / 89 92 – 20
Wenn Sie uns die Karte zurückschicken, legen Sie diese bitte in
die Originalverpackung oder eine adäquate Verpackung, um
einen Transportschaden zu verhindern. Zusätzlich bitten wir Sie,
uns eine Kopie der Originalrechnung mitzuschicken.
© QUANCOM Informationssysteme GmbH 65
6.3 Technisches Support Formular
Wenn Sie einen Internetzugang haben, öffnen Sie folgende URL in Ihrem Browser:
http://www.quancom.de/quancom/qshop.nsf/techniksupport?OpenForm&deu
Füllen Sie das Formular komplett aus bevor Sie sich an QUANCOM Informationssysteme GmbH wenden. Wenn
Sie andere QUANCOM Hardware oder Software nutzen, fügen Sie das bitte dem Formular hinzu.
Name:
Firma:
Adresse:
Telefon:
Fax:
Computer / Prozessor:
Betriebssystem:
Grafikkarte:
Maus:
QUANCOM Karte
Andere installierte Karten:
Festplatte (Kapazität, frei):
Das Problem ist:
Auflistung der Fehlermeldung:
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
Folgende Schritte führen zur Wiederholung des Problems:
______________________________
______________________________
______________________________
______________________________
______________________________
© QUANCOM Informationssysteme GmbH 66
6.4 Hardware und Software Konfigurationsformular
Dieses Formular hilft Ihnen die Einstellungen der Hardware und Software aufzulisten. Füllen Sie das Formular
komplett aus bevor Sie sich an QUANCOM Informationssysteme GmbH wenden und nutzen Sie das Formular
ebenfalls um die aktuelle Konfiguration nachzuschlagen.
· QUANCOM Produkt:
Name / Name der Karte
Interrupt Level
DMA Kanal
Basis I/O Adresse
Betriebssystem
· Andere Informationen
Computer Model
Prozessor
Taktfrequenz
Grafikkarte
Betriebssystem
Programmiersprache
Programmiersprachen-Version
· Andere Karten im System
Basis I/O-Adresse anderer Karten
DMA Kanäle anderer Karten
Interrupt Level anderer Karten
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
© QUANCOM Informationssysteme GmbH 67
6.5 Dokumentations Formular
QUANCOM Informationssysteme GmbH möchte Ihren Kommentar zum Produkt und zu der über diese
Dokumentation oder eines Produktes. Diese Informationen helfen uns unsere Qualität zu verbessern.
Titel: USBOPTO/REL 64/32/16/8
Erstellungsdatum: 29.05.2012
Nehmen Sie Stellung zur Kompetenz, Übersichtlichkeit und Inhalt dieses Handbuches. Wenn Sie Fehler im
Handbuch entdecken notieren Sie sich bitte die Seitenzahl.
Vielen Dank für Ihre Hilfe.
Name:
Firma:
Adresse:
Telefon:
Fax:
Kommentar:
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
Email an: support@quancom.de
Fax an: +49 2236 89 92 49
Adresse: QUANCOM Informationssysteme GmbHIn der Flecht 1450389 Wesseling
6.6 Warenzeichen
Linux ist ein eingetragenes Warenzeichen von Linus Torvalds.
MS, MS-DOS, Microsoft, Visual Basic, Windows, Windows Vista/XP/2000/NT/ME/98/95 sind eingetragene
Warenzeichen von Microsoft Corporation.
XT und PS/2 sind Warenzeichen und IBM, OS/2 und AT sind eingetragene Warenzeichen der International
Business Machines Corporation.
Intel, Pentium ist ein eingetragenes Warenzeichen von Intel Corporation.
© QUANCOM Informationssysteme GmbH 68
USB ist ein eingetragenes Warenzeichen von USB Implementers Forum Inc.
JAVA ist ein eingetragenes Warenzeichen von Sun Microsystems.
DELPHI und Pascal sind ein eingetragene Warenzeichen von Borland Corporation.
PCI ist ein eingetragenes Warenzeichen von PCI Special Interest Group.
PCI Express ist ein eingetragenes Warenzeichen der PCI-SIG.
Nationalinstruments, LABVIEW ist ein eingetragenes Warenzeichen von Nationalinstruments Corporation.
Agilent VEE ist ein eingetragenes Warenzeichen von Agilent Technologies.
Ethernet ist ein eingetragenes Warenzeichen der Xerox Corporation.
Bei anderen Produkt- und Firmennamen, die in dieser Anleitung erwähnt werden, könnte es sich um Marken
ihrer jeweiligen Eigentümer handeln.