73
USBOPTO/REL 64/32/16/8 © QUANCOM Informationssysteme GmbH

USBOPTO/REL 64/32/16/8 - quancom.de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: USBOPTO/REL 64/32/16/8 - quancom.de

USBOPTO/REL64/32/16/8

© QUANCOM Informationssysteme GmbH

Page 2: USBOPTO/REL 64/32/16/8 - quancom.de

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

Page 3: USBOPTO/REL 64/32/16/8 - quancom.de

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

Page 4: USBOPTO/REL 64/32/16/8 - quancom.de

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

Page 5: USBOPTO/REL 64/32/16/8 - quancom.de

USBOPTO/REL 64/32/16/8

© QUANCOM Informationssysteme GmbH

Page 6: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 7: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 8: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 9: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 10: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 11: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 12: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 13: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 14: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 15: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 16: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 17: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 18: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 19: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 20: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 21: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 22: USBOPTO/REL 64/32/16/8 - quancom.de

© QUANCOM Informationssysteme GmbH 17

3.7 Kartenübersicht USBOPTOREL32 / USBOPTO32IO

USBOPTOREL32

USBOPTO32IO

Page 23: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 24: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 25: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 26: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 27: USBOPTO/REL 64/32/16/8 - quancom.de

© QUANCOM Informationssysteme GmbH 22

3.9 Kartenübersicht USBOPTOREL16 / USBOPTO16IO

USBOPTOREL16

USBOPTO16IO

Page 28: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 29: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 30: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 31: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 32: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 33: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 34: USBOPTO/REL 64/32/16/8 - quancom.de

© 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 )

Page 35: USBOPTO/REL 64/32/16/8 - quancom.de

© QUANCOM Informationssysteme GmbH 30

- Blinkt kontinuierlich, wenn das Betriebssystem das USB Modul erkannt und initialisiert (

enumeriert ) hat.

Page 36: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 37: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 38: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 39: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 40: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 41: USBOPTO/REL 64/32/16/8 - quancom.de

© 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);

Page 42: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 43: USBOPTO/REL 64/32/16/8 - quancom.de

© 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:

Page 44: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 45: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 46: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

Page 47: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 48: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 49: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 50: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 51: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 52: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 53: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 54: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 55: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 56: USBOPTO/REL 64/32/16/8 - quancom.de

© 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 // ----------------------------------------------------------------------

Page 57: USBOPTO/REL 64/32/16/8 - quancom.de

© 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 {

Page 58: USBOPTO/REL 64/32/16/8 - quancom.de

© 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;}

Page 59: USBOPTO/REL 64/32/16/8 - quancom.de

© 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);}

Page 60: USBOPTO/REL 64/32/16/8 - quancom.de

© 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;

Page 61: USBOPTO/REL 64/32/16/8 - quancom.de

© 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 )//*}

Page 62: USBOPTO/REL 64/32/16/8 - quancom.de

© 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;

Page 63: USBOPTO/REL 64/32/16/8 - quancom.de

© 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);

Page 64: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 65: USBOPTO/REL 64/32/16/8 - quancom.de

© 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:

Page 66: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 67: USBOPTO/REL 64/32/16/8 - quancom.de

© 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)

Page 68: USBOPTO/REL 64/32/16/8 - quancom.de

© 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:

[email protected]

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

Page 69: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.

Page 70: USBOPTO/REL 64/32/16/8 - quancom.de

© 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:

______________________________

______________________________

______________________________

______________________________

______________________________

Page 71: USBOPTO/REL 64/32/16/8 - quancom.de

© 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

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

Page 72: USBOPTO/REL 64/32/16/8 - quancom.de

© 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: [email protected]

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.

Page 73: USBOPTO/REL 64/32/16/8 - quancom.de

© 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.