View
5
Download
0
Category
Preview:
Citation preview
Meilhaus Electronic Handbuch
ME-81, ME-8100 1.3DISA, PCI- und CompactPCI-Varianten
Opto I/O-Karte mit Bitmuster-Vergleicherund optionalem Zähler
Fis
cher
stra
ße
2 •
8217
8 P
uchh
eim
• h
ttp://
ww
w.m
eilh
aus.
de
ME-8100
ME-8100
ImpressumHandbuch ME-81, ME-8100
Revision 1.3DAusgabedatum: 22. Mai 2000
Meilhaus Electronic GmbHFischerstraße 2 D-82178 Puchheim bei MünchenGermanyhttp://www.meilhaus.de
© Copyright 2000 Meilhaus Electronic GmbH
Alle Rechte vorbehalten. Kein Teil dieses Handbuches darf in irgendeiner Form (Fotokopie, Druck, Mikrofilm oder in einem anderen Verfahren) ohne ausdrück-liche schriftliche Genehmigung der Meilhaus Electronic GmbH reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbrei-tet werden.
Wichtiger Hinweis:Alle in diesem Handbuch enthaltenen Informationen wurden mit größter Sorgfalt und nach bestem Wissen zusammengestellt. Dennoch sind Fehler nicht ganz aus-zuschließen.
Aus diesem Grund sieht sich die Firma Meilhaus Electronic GmbH dazu veranlaßt, darauf hinzuweisen, daß sie weder eine Garantie (abgesehen von den im Garan-tieschein vereinbarten Garantieansprüchen) noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen kann.
Für die Mitteilung eventueller Fehler sind wir jederzeit dankbar.
IBM und IBM PC/XT/AT sind Warenzeichen der International Business Machine Corporation.Delphi/Pascal ist ein Warenzeichen von Borland International, INC.Visual C++ und VisualBASIC sind Warenzeichen von Microsoft.VEE Pro und VEE OneLab sind Warenzeichen von Agilent Technologies.ME-VEC ist Warenzeichen von Meilhaus Electronic.Weitere der im Text erwähnten Firmen- und Produktnamen sind eingetragene Warenzeichen der jeweiligen Firmen.
Handbuch ME-81, ME-8100 Rev. 1.3D
Inhalt1 Einführung........................................................................................... 7
1.1 Lieferumfang .............................................................................. 7
1.2 Leistungsmerkmale .................................................................... 8
1.3 Systemanforderungen................................................................ 9
1.4 Wichtiger Hinweis für die ISA-Versionen................................. 9
1.5 Verfügbare Software................................................................. 10
2 Installation......................................................................................... 11
2.1 Hardware-Installation.............................................................. 112.1.1 Installation der PCI-Modelle ................................................. 112.1.2 Installation der CompactPCI-Modelle .................................. 122.1.3 Installation der ISA-Modelle ................................................. 13
2.1.3.1 Position der Jumper ............................................... 132.1.3.2 Einstellungen der Jumper ...................................... 14
2.1.3.2.1 Basisadresse......................................... 142.1.3.2.2 Interrupts ............................................. 152.1.3.2.3 Standardeinstellungen ......................... 15
2.2 Treiberinstallation ................................................................... 162.2.1 Installation einer PCI/cPCI-Karte unter Windows 95/98..... 16
2.2.1.1 Erstinstallation ........................................................ 162.2.1.2 Neuinstallation ....................................................... 172.2.1.3 Überprüfen der Installation ................................... 17
2.2.2 Installation einer PCI/cPCI-Karte unter Windows NT 4.0... 182.2.3 Installation einer ISA-Karte unter Windows 95/98/NT ....... 192.2.4 Aktualisierung der Systemtreiber.......................................... 212.2.5 Karteneinstellungen ändern (ISA-Modelle).......................... 22
2.3 Deinstallation ........................................................................... 232.3.1 Deinstallation einer einzelnen Karte (ISA-Modelle) ............ 232.3.2 Deinstallation des Treibersystems ........................................ 23
Meilhaus Electronic Seite 3 Inhalt
Rev. 1.3D Handbuch ME-81, ME-8100
3 Hardware............................................................................................ 25
3.1 Blockschaltbild ......................................................................... 25
3.2 Generelle Hinweise .................................................................. 26
3.3 Betriebsarten ............................................................................ 263.3.1 Digitale Ein-/Ausgabe ........................................................... 263.3.2 Bitmuster-Vergleich............................................................... 273.3.3 Bitmuster-Änderung .............................................................. 273.3.4 Zähler/Zeitgeber (8254)........................................................ 27
3.4 Beschaltung............................................................................... 283.4.1 Eingangsbeschaltung ME-81 ................................................. 283.4.2 Ausgangsbeschaltung ME-81 ................................................ 293.4.3 Eingangsbeschaltung ME-8100 ............................................. 303.4.4 Ausgangsbeschaltung ME-8100 ......................................... 313.4.5 Zähler Ein-/Ausgänge ........................................................... 33
3.4.5.1 Beschaltung Zähler-Eingänge................................ 333.4.5.2 Beschaltung Zähler-Ausgänge............................... 343.4.5.3 Zählertakt ............................................................... 343.4.5.4 Kaskadierung der Zähler ....................................... 34
3.5 Registerbeschreibung............................................................... 363.5.1 Register der ME-81 ISA ......................................................... 363.5.2 Register des 82C54 ................................................................ 38
3.5.2.1 Modus 0: Zustandsänderung bei Nulldurchgang . 413.5.2.2 Modus 1: Retriggerbarer „One-Shot“..................... 413.5.2.3 Modus 2: Asymmetrischer Teiler........................... 413.5.2.4 Modus 3: Symmetrischer Teiler............................. 423.5.2.5 Modus 4: Zählerstart durch Softwaretrigger ......... 423.5.2.6 Modus 5: Zählerstart durch Hardwaretrigger ....... 43
3.6 Testprogramm .......................................................................... 43
4 Programmierung ............................................................................... 45
4.1 Hochsprachenprogrammierung ............................................. 454.1.1 Vorgehensweise .................................................................... 46
4.1.1.1 Interrupt bei Bitmuster-Gleichheit ........................ 464.1.1.2 Interrupt bei Bitmuster-Änderung......................... 46
4.1.2 Beispielprogramme ............................................................... 47
Inhalt Seite 4 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
4.2 Agilent VEE-Programmierung ................................................ 484.2.1 User Objects .......................................................................... 484.2.2 Demoprogramme .................................................................. 484.2.3 Das "ME Board"-Menü .......................................................... 49
4.3 LabVIEW™-Programmierung................................................... 494.3.1 Virtual Instruments ................................................................ 494.3.2 Demoprogramme .................................................................. 50
4.4 Registerprogrammierung (ISA-Versionen) ............................ 504.4.1 Initialisierung......................................................................... 514.4.2 Einfaches Einlesen ............................................................... 514.4.3 Einfaches Ausgeben .............................................................. 514.4.4 Interrupt durch Bitmuster-Vergleich .................................... 514.4.5 Interrupt durch Bitmuster-Änderung.................................... 52
5 Funktionsreferenz............................................................................. 53
5.1 Funktionsweise des 32 Bit-Treibers ........................................ 53
5.2 Nomenklatur............................................................................. 54
5.3 Beschreibung der API-Funktionen.......................................... 565.3.1 Allgemeine Funktionen......................................................... 585.3.2 Digitale Ein-/Ausgabe ........................................................... 655.3.3 Zählerfunktionen................................................................... 755.3.4 Interrupt-Handling ................................................................ 775.3.5 Fehler-Behandlung................................................................ 81
Anhang ..................................................................................................... 83
A Spezifikationen......................................................................... 83
B Anschlußbelegungen ............................................................... 86B1 ME-8100A/B PCI und cPCI .................................................... 86B2 ME-81 ISA ............................................................................... 87
C Zubehör..................................................................................... 88
D Technische Fragen ................................................................... 89D1 Fax-Hotline ............................................................................. 89D2 Serviceadresse ........................................................................ 89D3 Treiber-Update ....................................................................... 89
E Index ......................................................................................... 91
Meilhaus Electronic Seite 5 Inhalt
Rev. 1.3D Handbuch ME-81, ME-8100
Inhalt Seite 6 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
1 EinführungSehr geehrte Kundin, sehr geehrter Kunde,
Mit dem Kauf einer PC-Einsteckkarte von Meilhaus Electronic ha-ben Sie sich für ein technologisch hochwertiges Produkt ent-schieden, das unser Haus in einwandfreiem Zustand verlassenhat.
Überprüfen Sie trotzdem die Vollständigkeit und den Zustand Ih-rer Lieferung. Sollten irgendwelche Mängel auftreten, bitten wirSie, uns sofort in Kenntnis zu setzen.
Bevor Sie die Karte in Ihren Rechner einbauen, lesen Sie bitteaufmerksam diese Bedienungsanleitung, insbesondere Kapitel 2zur Installation durch.
Beachten Sie bei den ISA-Versionen vor allem den Abschnitt zurEinstellung der Jumper. Dies erspart Ihnen das spätere, nochma-lige Öffnen Ihres Rechners.
1.1 Lieferumfang
Wir sind selbstverständlich bemüht, Ihnen ein vollständiges Pro-duktpaket auszuliefern. Um aber in jedem Fall sicherzustellen,daß Ihre Lieferung komplett ist, können Sie anhand nachfolgen-der Liste die Vollständigkeit Ihres Paketes überprüfen.
Ihr Paket sollte folgende Teile enthalten:
• Optoisolierte Digital-I/O-Karte der ME-81/8100 Familie für ISA-, PCI- oder CompactPCI-Bus
• Handbuch im PDF-Format auf CDROM (optional in gedruck-ter Form)
• ME-81 ISA-Modelle: ME-8x Treibersystem für Windows 95/98/NT auf CD-ROM oder Diskette
• ME-8100 PCI- und cPCI-Modelle: ME-8100 Treibersystem für Windows 95/98/NT auf CD-ROM oder Diskette
• ME-81 ISA: 37poliger Sub-D Gegenstecker, ME-8100 PCI/cPCI: 78poliger Sub-D Gegenstecker
Meilhaus Electronic Seite 7 Einführung
Rev. 1.3D Handbuch ME-81, ME-8100
1.2 Leistungsmerkmale
Modell-Übersicht
Die Karten der ME-81/8100 Familie sind mit digitalen Ein-/Aus-gabe-Ports und die 8100er-Modelle zusätzlich mit drei 16 Bit Zäh-lern ausgestattet. Sowohl die Digital-Ports als auch dieZählersignale sind optoisoliert und für den in der Steuerungs-technik üblichen 24 V-Pegel ausgelegt.
Die ME-81 und ME-8100A besitzen 16 Ein- und 16 Ausgänge undeinen 16 Bit breiten Bitmuster-Vergleicher. Die ME-8100B bietet32 Ein- und 32 Ausgänge und zwei 16 Bit breite Bitmuster-Ver-gleicher. Die ME-8100 Modelle stellen zusätzlich drei 16 Bit Zäh-ler zur Verfügung.
Auf den ME-8100 Modellen ist eine Umschaltung von „Source“-auf „Sink“-Treiber per Software möglich. Dies ermöglicht eine in-dividuelle Anpassung an Ihre Anforderungen. Die Ausgänge allerModelle sind sowohl im ausgeschalteten Zustand als auch nachdem Einschalten des Rechners zunächst hochohmig. D. h. derSpannungspegel, der sich am Ausgangs-Pin einstellt hängt vonIhrer externen Beschaltung ab. Erst nach Schreiben einer „1“wird der Ausgang leitend.
Modell BusOptoisolierte
Ein-/AusgängeZähler
ME-81 ISA ISA-16 Bit 16 Ein- und16 Ausgänge(24 V)
---
ME-8100A PCIME-8100A cPCI
Standard-PCICompactPCI
16 Eingänge und16 Ausgänge(24 V)
3 x 16 Bit(24 V)
ME-8100B PCIME-8100B cPCI
Standard-PCICompactPCI
32 Eingänge und32 Ausgänge(24 V)
3 x 16 Bit(24 V)
Tabelle 1: Modell-Übersicht ME-81/8100 Familie
Einführung Seite 8 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Als Besonderheit bietet die ME-81/8100 die Betriebsarten „Bitmu-stervergleich“ und „Bitmusteränderung“. Bei Gleichheit eines16 Bit breiten Bitmusters oder bei Bitmusteränderung eines über-wachten Bits wird ein Interrupt ausgelöst. Außerdem kann dieKarte zur Überwachung von Pegelzustandsänderungen einge-setzt werden.
Die Basisadresse wird bei den ISA-Modellen über einen DIP-Schalter eingestellt. Sie kann in einem weiten Bereich variiertwerden. Bei den PCI-/cPCI-Modellen wird die Ressourcen-Verga-be vom BIOS bzw. Betriebssystem automatisch vergenommen(Plug&Play).
Die mitgelieferte Software ermöglicht das rasche Einbinden derKarten in eigene Applikationen der Meß- und Steuerungstechnikunter Windows95/98/NT. Es sind Treiber für Agilent VEE (früherHP VEE) und LabVIEW™ (National Instruments), beide unterWindows95/98/NT, verfügbar. Für die ISA-Versionen sind aufAnfrage Treiber für DOS und Windows 3.1 erhältlich.
1.3 Systemanforderungen
Die Karten können, je nach Version, in IBM PC/XT/AT/Pentiumund Kompatiblen eingesetzt werden, die über einen freien ISA-8 Bit bzw. Standard-PCI oder CompactPCI Steckplatz (je nachVersion) verfügen.
1.4 Wichtiger Hinweis für die ISA-Versionen
Falls Sie einen PC mit PCI-Bus und einem BIOS mit Plug&Play-Funktionalität benutzen, müssen Sie für alle ISA-Einsteckkartenmit Interruptfunktion im BIOS Ihres Rechners den Interruptkanaldieser Karte für den ISA-Bus reservieren. Das entsprechendeBIOS-Menü kann je nach BIOS-Hersteller etwas variieren (sieheHandbuch Ihres Motherboards). Ansonsten ist die Interrupt-funktion nicht gewährleistet!!!
Meilhaus Electronic Seite 9 Einführung
Rev. 1.3D Handbuch ME-81, ME-8100
Beachten Sie, daß bei neueren Rechnern der ISA-Bus - abwei-chend von seiner Spezifikation - teilweise mit mehr als 8 MHz be-trieben werden kann (siehe Einstellung im Setup Ihres PCs). Indiesem Fall können wir jedoch eine einwandfreie Funktion derISA-Karte nicht gewährleisten.
1.5 Verfügbare Software
Windows 95/98/NT 4.0 ME-8x Systemtreiber für ME-81 ISA-Modelle (im Lieferumfang);ME-8100 Systemtreiber für ME-8100 PCI/cPCI-Modelle (im Lieferumfang)
Windows 3.x Treiber für ME-81 ISA-Modelle (auf Wunsch)
MS-DOS Treiber für ME-81 ISA-Modelle (auf Wunsch)
Hochsprachen-Unterstützung 32 Bit (im Lieferumfang)Visual C++ ab Version 4.0Delphi ab Version 2.0Visual Basic ab Version 4.0
Graphische Programmierumgebungen (optional)Meilhaus VEE-Treibersystem für HP VEE ab Version 4.0, HP VEE Lab, Agilent VEE Pro und Agilent VEE OneLab
ME-81/8100 Treibersystem für LabView™ ab Version 4.0
Test- und Demosoftware (im Lieferumfang)
Den aktuellen Stand des Software-Lieferumfangs ersehen Sie je-weils aus der README-Datei auf der (den) Diskette(n).
Einführung Seite 10 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
2 InstallationBitte halten Sie unbedingt die Installationsreihenfolge ein. BeiEinbau mehrer Karten gehen Sie bitte sukzessive vor. Führen Sienach Installation einer jeden Karte zuerst einen Funktionstest mitdem mitgelieferten Testprogramm durch (siehe „Testprogramm”auf Seite 43). Fahren Sie nach erfolgreichem Test mit der Instal-lation der nächsten Karte in analoger Weise fort.
2.1 Hardware-Installation
Bitte lesen Sie zuerst das Handbuch Ihres Rechners bzgl. derInstallation von zusätzlichen Hardwarekomponenten.
Grundsätzlich gilt für die Installation der Karte folgende Vorge-hensweise:
☛ Schalten Sie Ihren Rechner aus.
➽ Achtung: Gefahr der Zerstörung hochempfindlicher Bauteiledurch elektrostatische Entladung!
Deshalb: (Gehäuse ist noch geschlossen! – das Netzkabel steckt noch). Entladen Sie Ihre Person vor Einbau der Karte indem Sie z. B. ein blankes Gehäuseteil Ihres Rechners berüh-ren.
☛ Ziehen Sie das Netzkabel Ihres Rechners.
☛ Öffnen Sie das Gehäuse.
2.1.1 Installation der PCI-Modelle
Die Karte wird vom Betriebssystem automatisch erkannt und perSoftware konfiguriert. Vor dem Einbau der Karte müssen keineEinstellungen vorgenommen werden. Schalten Sie vor dem Ein-bau der Karte unbedingt Ihren Rechner aus.
➽ Fassen Sie Ihre Karte vorsichtig mit beiden Händen. Achten Siedarauf, daß Sie die Karte nicht verkanten, weil sonst ein Kurz-schluß erzeugt werden kann. Üben Sie keine Gewalt aus – dieKarte sollte durch leichten Druck in den Steckplatz einzuschie-ben sein.
Meilhaus Electronic Seite 11 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
☛ Schließen Sie das Gehäuse.
☛ Stellen Sie die Verbindung zur Netzspannung wieder her.
☛ Schalten Sie Ihren Rechner ein und fahren Sie mit Kap. „Trei-ber-Installation“ fort.
Abb. 1: Schematische Darstellung der ME-8100 PCI
2.1.2 Installation der CompactPCI-Modelle
Die Karte wird vom Betriebssystem automatisch erkannt und perSoftware konfiguriert. Vor dem Einbau der Karte müssen keineEinstellungen vorgenommen werden. Schalten Sie vor dem Ein-bau der Karte unbedingt das CompactPCI-System aus.
➽ Fassen Sie Ihre Karte vorsichtig mit beiden Händen. Üben Sie kei-ne Gewalt aus – die Karte sollte durch leichten Druck in denSteckplatz einzuschieben sein.
☛ Schließen Sie das Gehäuse.
☛ Stellen Sie die Verbindung zur Netzspannung wieder her.
☛ Schalten Sie Ihren Rechner ein und fahren Sie mit Kap. „Trei-ber-Installation“ fort.
ME-8100
Installation Seite 12 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Abb. 2: Schematische Darstellung der ME-8100 cPCI
2.1.3 Installation der ISA-Modelle
Fahren Sie nach dem Einbau der Karte mit Kap. 2.2 „Treiberin-stallation“ auf Seite 16 fort.
2.1.3.1 Position der Jumper
Bei der ME-81 ISA müssen vor dem Einbau Jumper-Einstellungenvorgenommen bzw. dahingehend überprüft werden, ob diewerkseitigen Einstellungen für Ihren Rechner geeignet sind.Schalten Sie vor dem Einbau der Karte unbedingt Ihren Rechneraus.
Die Lage der Jumper auf der ME-81 können Sie der schemati-schen Darstellung der Karte entnehmen. Erläuterungen zu den Einstellungen finden Sie in den nachfolgenden Kapiteln.
Fis
cher
stra
ße
2 •
8217
8 P
uchh
eim
• h
ttp://
ww
w.m
eilh
aus.
de
ME-8100
Meilhaus Electronic Seite 13 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
Abb. 3: Schematische Darstellung der ME-81 ISA
2.1.3.2 Einstellungen der Jumper
2.1.3.2.1 Basisadresse
Über die Jumperreihe W2 läßt sich die Basisadresse (BA) derME-81 im Bereich von 0Hex bis 3F0Hex in Schritten von 10Hexeinstellen. Mit der Basisadresse beginnend, belegt die ME-8112 Bytes des I/O-Adreßraumes. Vermeiden Sie bei der Einstel-lung Adreßkonflikte mit anderen Karten!
Ein gesteckter Jumper entspricht dem logischen Zustand „0“, einabgezogener Jumper dem Zustand „1“ womit die entsprechendeAdreßleitung ausgewählt wird. Die Basisadresse errechnet sichdann durch Aufsummierung der Wertigkeit der Steckplätze dernicht gesteckten Jumper. Das Beispiel erläutert die werksseitigeGrundeinstellung der Karte (300Hex).
W1
15 12 11 10 7 5 3 2 INTR
4 5 6 7 8 9I/O-Adr.
W2
37polige Sub-D Buchse
Installation Seite 14 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Abb. 4: Adreß-Jumper, hier Grundeinstellung: 300Hex
2.1.3.2.2 Interrupts
Für die Interruptsteuerung müssen Sie mittels Jumperreihe W1eine Interrupt-Request-Leitung (IRQ) von 2, 3, 5, 7, 10, 11, 12oder 15 auswählen. Es ist jedoch zu beachten, daß der gewählteInterrupt von keiner anderen Interrupt-Quelle belegt wird.
Abb. 5: Anordnung der Jumper
2.1.3.2.3 Standardeinstellungen
Funktion Jumper/Schalter Einstellung
Basisadresse Jumperreihe W2 300Hex
Interruptkanal Jumperreihe W1 IRQ 12
Tabelle 2: Standardeinstellungen der ME-81 ISA
A0 A15
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
W2Basisadresse
A4 A9
15 12 11 10 7 3 25
W1Interrupt
Meilhaus Electronic Seite 15 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
2.2 Treiberinstallation
Falls Sie mehrere Karten aus der Kartenfamilie ME-81/8100 instal-lieren möchten, gehen Sie bitte sukzessive vor. Führen Sie nachInstallation einer jeden Karte zuerst einen Funktionstest mit demmitgelieferten Testprogramm durch. Falls Sie Einstellungen, wieBasisadresse oder Interruptkanal für ISA-Modelle ändern wollen,müssen Sie das Installationsprogramm mit der zutreffenden In-stallationsoption entsprechend oft ausführen.
Hinweis: Falls Sie PCI/cPCI-Modelle zusammen mit bereits vor-handener Applikationssoftware benutzen wollen, beachten Siebitte die Hinweise in den entsprechenden README-Dateien aufder Installationsdiskette.
2.2.1 Installation einer PCI/cPCI-Karte unter Windows 95/98
Nach dem Einschalten des Rechners wird die neue Karte automa-tisch erkannt. Es erscheint die Meldung „Neue Hardwarekompo-nente gefunden“. Je nach Auslieferungsstand Ihrer WindowsVersion können die Meldungen leicht variieren.
2.2.1.1 Erstinstallation
☛ Falls Sie einen Kartentyp zum erstenmal in Ihrem Rechner in-stallieren - ansonsten können Sie diesen Punkt überspringen:
☛ Legen Sie den Datenträger mit der Treibersoftware ein, klik-ken Sie auf „Treiber auf Diskette des Hardware-Herstellers“ und bestätigen Sie mit OK. Klicken Sie auf Durchsuchen… und geben Sie den Pfad zur Installationssoftware für die ME-81/8100 ein. Bestätigen Sie mit OK.
⇒ Die Geräteklasse „Meilhaus DAQ-Boards“ wird im Geräte-manager angelegt.
⇒ Die neu installierte Karte wird in der Geräteklasse „Meilhaus DAQ-Boards“ eingetragen.
⇒ Die Ressourceneinstellungen werden automatisch vorge-nommen.
Installation Seite 16 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
2.2.1.2 Neuinstallation
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Systemtreiber, DLLs sowie Hochsprachenbibliotheken, Demo- und Testprogramme werden installiert.
☛ Führen Sie einen Neustart Ihres Rechners durch.
⇒ Der Systemtreiber wird automatisch geladen
2.2.1.3 Überprüfen der Installation
Im Geräte-Manager können Sie überprüfen, ob die neue Kartekorrekt eingetragen wurde. Sie finden den Geräte-Manager imStartmenü von Windows 95/98 unter Einstellungen ➜ System-steuerung ➜ System. Dort sollten sich folgende Eintragungenbefinden:
⇒ Für alle Meilhaus PCI-Karten lautet die Geräteklasse „Meilhaus DAQ-Boards“. Dort wiederum:
☛ Klicken Sie auf das zugehörige Pluszeichen ⇒ für jede in-stallierte Karte muß ein Eintrag vorhanden sein. Der Ein-trag darf mit keinem weiteren Symbol wie „Ausrufezeichen auf gelbem Kreis“ markiert sein. Dies ist ein Hinweis auf eine fehlerhafte Installation.
☛ Öffnen Sie durch Doppelklick das Fenster „Eigenschaften für…“. ⇒ Sobald Sie auf die Karteikarte Ressourcen klik-ken, startet die automatische Ressourcen-Ermittlung. Dies kann systembedingt mehrere Minuten dauern.
Dort sehen Sie die folgenden Ressourceneinstellungen: In-terrupt, Speicherbereich und E/A-Bereich. Unter „Geräte-konflikte“ muß „Keine Konflikte“ stehen.
Sollte einer der oben genannten Eintragungen nicht zutreffen,überprüfen Sie folgende Punkte:
Meilhaus Electronic Seite 17 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
? Wurde Ihre Karte unter der Geräteklasse „? Andere Kompo-nenten“ eingetragen? Dies kann z. B. bei der Neuinstallation von Windows bei eingesteckter Karte vorkommen (systembe-dingt).
⇒ Ist dies der Fall, löschen Sie bitte diesen Eintrag, starten Sie Ihren Rechner neu und führen Sie Kap. 2.2.1.1 „Erstinstal-lation“ auf Seite 16 erneut durch.
? Liegt ein Adressen- oder Interrupt-Konflikt vor? Bestimmte Einstellungen im BIOS-Setup des Rechners verhindern, daß für den PCI-Steckplatz, in dem die neue Karte steckt, ein In-terrupt verfügbar ist. Dies ist der Fall wenn alle Interrupts be-reits von anderen Geräten benutzt werden.
⇒ Nehmen Sie entsprechende Änderungen im BIOS Ihres Rechners oder in der Interrupt-Zuweisung anderer Karten vor. Ziehen Sie die Handbücher der betreffenden Geräte hinzu.
⇒ Auf der Karteikarte Allgemein muß unter Gerätestatus „Dieses Gerät ist betriebsbereit“ stehen und auf der Kartei-karte Ressourcen muß unter Gerätekonflikte der Eintrag „Keine Konflikte“ stehen.
⇒ Starten Sie Ihren Rechner neu, falls Sie Einstellungen ver-ändert haben.
2.2.2 Installation einer PCI/cPCI-Karte unter Windows NT 4.0
☛ Legen Sie den Datenträger mit der Installationssoftware ein.
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Systemtreiber, DLLs sowie Hochsprachenbibliotheken, Demo- und Testprogramme werden installiert.
Installation Seite 18 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
☛ Führen Sie einen Neustart Ihres Rechners durch.
⇒ Der Systemtreiber wird automatisch geladen
⇒ In der Windows NT-Diagnose werden unter Ressourcen entsprechende Eintragungen für I/O-Adresse und Inter-ruptkanal vorgenommen.
2.2.3 Installation einer ISA-Karte unter Windows 95/98/NT
Für die Neuinstallation einer ISA-Karte gilt unter Windows 95/98und Windows NT 4.0 die gleiche Vorgehensweise:
Wichtige Hinweise:
• Falls Sie einen PC mit PCI-Bus und einem BIOS mit Plug&Play Funktionalität benutzen, müssen Sie für alle ISA-Karten mit In-terruptfunktion, die nicht Plug&Play-fähig sind (dies gilt auch für Meilhaus ISA-Karten) im BIOS Ihres Rechners den Inter-ruptkanal dieser Karte für den ISA-Bus reservieren. Anson-sten ist die Interruptfunktion nicht gewährleistet!
☛ Ermitteln Sie zweckmäßigerweise vor dem Einbau der neuen Karte eine freie Basisadresse und einen freien Interruptkanal und notieren Sie diese für die Installation. Die Werte, die Sie während der Treiberinstallation eingeben, müssen unbedingt mit den Hardwareinstellungen (DIP-Schalter und Jumper) auf der Karte übereinstimmen.
Für ISA-Karten, die nicht Plug&Play-fähig sind, müssen Sie die Ein-stellungen von Jumpern und/oder DIP-Schaltern für Ba-sisadresse und Interrupt selbst ermitteln (dies gilt auch für Meilhaus ISA-Karten). Sofern Sie bereits Plug&Play-fähige Ein-steckkarten installiert haben, können Sie die automatische Ressourcen-Ermittlung unter Windows 95/98 nutzen:
Meilhaus Electronic Seite 19 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
• Unter Windows 95/98:
☛ Starten Sie hierzu den Geräte-Manager im Startmenü von Windows unter Einstellungen ➜ Systemsteuerung ➜ System. Dort finden Sie unter anderem für jede installier-te Plug&Play-fähige Karte einen Eintrag. Der Eintrag darf mit keinem weiteren Symbol wie „Ausrufezeichen auf gel-bem Kreis“ markiert sein. Dies wäre ein Hinweis auf eine fehlerhafte Installation.
☛ Öffnen Sie durch Doppelklick das Fenster „Eigenschaften für…“. ⇒ Sobald Sie auf die Karteikarte Ressourcen klik-ken, startet die automatische Ressourcen-Ermittlung. Dies kann systembedingt mehrere Minuten dauern.
Dort sehen Sie die folgenden Ressourceneinstellungen: In-terrupt, Speicherbereich und E/A-Bereich. Unter „Geräte-konflikte“ muß „Keine Konflikte“ stehen.
• Unter Windows NT:
☛ Analog zum Gerätemanager unter Windows 95/98 können Sie in der „Windows NT-Diagnose“ unter Ressourcen die Einträge unter „IRQ“ und „I/O-Port“ kontrollieren.
Das Installationsprogramm (im Lieferumfang der Karte) ist weit-gehend selbsterklärend – mit seiner Benutzerführung weist esIhnen den Weg durch die Installation. Fahren Sie nun mit derTreiberinstallation fort und bauen Sie die Karte erst danach inIhren Rechner ein.
☛ Legen Sie den Datenträger mit der Installationssoftware ein.
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Das Installationsprogramm wird gestartet.
☛ Im Fenster „Install Options“ wählen Sie „Install a new board“ und klicken auf OK
Installation Seite 20 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
☛ Beachten Sie die Dialoge und halten Sie die Werte für Basis-adresse und Interruptkanal zur Eingabe bereit. Achten Sie auf Übereinstimmung der Werte mit den Jumper-Stel-lungen auf Ihrer Karte!
⇒ Die folgenden Treiberdateien werden installiert:❑ Nur Windows 95/98: Kernel-Treiber ME8x_32.VXD im
Pfad <Windows-Verzeichnis>\SYSTEM❑ Nur Windows NT: Kernel-Treiber ME8x_32.SYS im
Pfad <Windows-Verzeichnis>\SYSTEM32\DRIVERS❑ API-DLL ME8x_32.DLL unter Windows 95/98 im Pfad
<Windows-Verzeichnis>\SYSTEM; unter Windows NT im Pfad <Windows-Verzeichnis>\SYSTEM32
❑ Nur für Kartenfamilien, die ISA-Karten umfassen: Dia-log-DLL MEDLG32.DLL unter Windows 95/98 im Pfad <Windows-Verzeichnis>\SYSTEM; unter Windows NT im Pfad <Windows-Verzeichnis>\SYSTEM32
⇒ Diverse Dateien für die Programmierung unter Hochspra-chen sowie Beispiel- und Testprogramme im Verzeichnis <Meilhaus-Arbeitsverzeichnis>\ME-8x (siehe auch READ-ME-Datei auf Treiberdiskette)
⇒ Registry-Einträge werden vorgenommen.
☛ Fahren Sie Ihren Rechner herunter und bauen Sie die Karte ein.
☛ Führen Sie einen Neustart Ihres Rechners durch.
⇒ Der Systemtreiber wird automatisch geladen
2.2.4 Aktualisierung der Systemtreiber
Zur Aktualisierung der Systemtreiber gilt unter Windows 95/98und Windows NT 4.0 für alle Karten der ME-81/8100 Familie diegleiche Vorgehensweise.
☛ Legen Sie den Datenträger mit der Installationssoftware ein.
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der
Meilhaus Electronic Seite 21 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Systemtreiber, API-DLL sowie Hochsprachenbibliotheken, Demo- und Testprogramme werden aktualisiert.
☛ Führen Sie einen Neustart Ihres Rechners durch.
2.2.5 Karteneinstellungen ändern (ISA-Modelle)
Verwenden Sie die hier beschriebene Vorgehensweise, um beiISA-Karten die Einstellungen für Basisadresse und Interruptkanalzu ändern. Beachten Sie, daß diese Werte mit den Jumper-Stel-lungen auf Ihrer Karte übereinstimmen müssen.
Es gilt unter Windows 95/98 und Windows NT 4.0 die gleicheVorgehensweise.
☛ Legen Sie den Datenträger mit der Installationssoftware ein.
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Das Installationsprogramm wird gestartet.
☛ Im Fenster „Install Options“ wählen Sie „Update settings of an installed board“ und klicken auf OK.
☛ Beachten Sie die Dialoge und halten Sie die Werte für Basis-adresse und Interruptkanal zur Eingabe bereit (nur ISA-Kar-ten). Achten Sie auf Übereinstimmung der Werte mit den Jumper-Stellungen auf Ihrer ISA-Karte!
☛ Führen Sie einen Neustart Ihres Rechners durch.
Unter Windows NT können Sie alternativ im Start-Menü unter: Einstellungen ➜ Systemsteuerung ➜ Geräte den Treiber beenden und anschließend neu starten.
Installation Seite 22 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
2.3 Deinstallation
2.3.1 Deinstallation einer einzelnen Karte (ISA-Modelle)
Mit Hilfe des Installations- und Deinstallationsprogramms auf Ih-rer „ME-8x Driver System“-Diskette können Sie einzelne Kartender Kartenfamilie ME-81 aus der Windows-Registry entfernen.Die einzelnen Komponenten wie Systemtreiber, API-DLL undHochsprachenbibliotheken werden auf diesem Wege nicht dein-stalliert. Es gilt unter Windows 95/98 und Windows NT 4.0 diegleiche Vorgehensweise.
☛ Legen Sie den Datenträger mit der Installationssoftware ein.
☛ Wählen Sie im Start-Menü von Windows den Menüpunkt Ausführen… und klicken Sie auf Durchsuchen…. Geben Sie Pfad und Dateinamen für die Datei SETUP.EXE der ME-81/8100 Installation ein. Bestätigen Sie die Auswahl und achten Sie auf die Dialoge des Installationsprogrammes.
⇒ Das Installationsprogramm wird gestartet.
☛ Im Fenster „Install Options“ wählen Sie „Uninstall a single board“ und bestätigen mit OK.
☛ Wählen Sie die Karte aus, die Sie aus der Windows-Registry entfernen möchten.
☛ Führen Sie einen Neustart Ihres Rechners durch.
⇒ Die gewählte Karte wird aus der Windows-Registry ent-fernt!
2.3.2 Deinstallation des Treibersystems
Beachten Sie, daß auf diesem Weg das ME-8x bzw. ME-8100Treibersystem als ganzes deinstalliert werden kann. Dazugehören neben dem Systemtreiber und der API-DLL (für alle in-stallierten Karten der jeweiligen Kartenfamilie) auch die Hoch-sprachenbibliotheken, Demos und Testprogramme, die sichstandardmäßig im Unterverzeichnis „ME-8x“ bzw. „ME-8100“ desVerzeichnisses „C:\MEILHAUS“ befinden.
Meilhaus Electronic Seite 23 Installation
Rev. 1.3D Handbuch ME-81, ME-8100
Für die Deinstallation des Treibersystems gilt unter Windows 95/98 und Windows NT 4.0 die gleiche Vorgehensweise.
☛ Wählen Sie dazu im START-Menü von Windows unterEinstellungen ➜ Systemsteuerung ➜ Software im Regi-ster Installieren/Deinstallieren den entsprechenden Eintrag: „ME-8x Driver Uninstall“ bzw. „ME-8100 Driver Uninstall“ und bestätigen Sie mit „OK“.
⇒ Das gesamte ME-8x bzw. ME-8100 Treibersystem wird deinstalliert!
Installation Seite 24 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3 Hardware
3.1 Blockschaltbild
Abb. 6: Blockschaltbild der ME-81/8100
* Je nach Modell sind nicht alle der in obigem Blockschaltbilddargestellten Funktionsgruppen vorhanden:
ME-81: 16 Ein- und 16 Ausgängen, 1 x 16 Bit Bitmuster-Verglei-cher (ohne Zähler und Source/Sink-Umschaltung).
ME-8100A: 16 Ein- und 16 Ausgänge, 1 x 16 Bit Bitmuster-Ver-gleicher, 3 x 16 Bit Zähler.
ME-8100B: 32 Ein- und 32 Ausgänge, 2 x 16 Bit Bitmuster-Ver-gleicher, 3 x 16 Bit Zähler.
ISA-Modelle: 37poliger Sub-D Buchse;PCI-/cPCI-Modelle: 78poliger Sub-D Buchse
Ablauf-Steuerung;
Bus-Interface-
Logik ISA-,PCI-odercPCI-Interface
37-
bzw
. 78p
olig
e S
ub-D
Buc
hse
ME-81/ME-8100*
16 (32)
Clk 0…2
Gate 0…2
Out 0…2
Opto-koppler-
Eingänge
3 x 16 BitZähler(8254)
Opto-koppler-
Ausgänge
1(2) x 16 BitBitmuster-Vergleicher
16 (32)
Source/Sink-Umschaltung
Opto-koppler
Interrupt
Meilhaus Electronic Seite 25 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
3.2 Generelle Hinweise
Achtung: Sämtliche Steckverbindungen der Karte sollten grund-sätzlich nur im spannungslosen Zustand hergestellt bzw. gelöstwerden.
Die Belegung der 37poligen (ME-81 ISA) bzw. 78poligen(ME-8100 PCI/cPCI) Sub-D Buchsen finden Sie im Anhang (siehe„Anschlußbelegungen” auf Seite 86).
3.3 Betriebsarten
Die Konfiguration der Karten erfolgt durch entsprechende Pro-grammierung durch den Anwender. Verwenden Sie hierzu diemitgelieferte Treibersoftware unter Windows 95/98/NT sieheKap. 5.3 „Beschreibung der API-Funktionen“ auf Seite 56 (wirdauch für ISA-Modelle empfohlen).
Die Karten der ME-81/ME-8100 Familie können für folgende3 Betriebsarten konfiguriert werden:
3.3.1 Digitale Ein-/Ausgabe
ME-81/8100A: Ein 16 Bit breiter Eingangsport und ein 16 Bitbreiter Ausgangsport.
8100B: Zwei 16 Bit breite Eingangsports und zwei 16 Bit breiteAusgangsports.
Die Ausgänge aller Modelle können per Software portweisehochohmig geschaltet werden. Zusätzlich können bei denME-8100 Modellen, die Ausgänge von „Sink“- (low-aktiv) auf„Source“- (high-aktiv) Treiber umgeschaltet werden. Dies ermög-licht eine individuelle Anpassung an Ihre Anforderungen. DieAusgänge aller Modelle sind sowohl im ausgeschalteten Zustandals auch nach dem Einschalten des Rechners zunächst hochoh-mig. D. h. der Spannungspegel, der sich am Ausgangs-Pin ein-stellt hängt von Ihrer externen Beschaltung ab. Erst nachSchreiben einer „1“ wird der Ausgang leitend.
Hardware Seite 26 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3.3.2 Bitmuster-Vergleich
In der Betriebsart „Bitmuster-Vergleich“ wird ein ins Vergleichs-register geschriebenes Bitmuster mit dem am korrespondieren-den Eingangsport anliegenden Bitmuster verglichen. BeiBitmuster-Gleichheit kann (falls freigegeben) ein Interrupt ausge-löst werden.
3.3.3 Bitmuster-Änderung
In der Betriebsart „Bitmuster-Änderung“ können ein oder mehre-re ausgewählte Eingangsbits auf Zustandsänderung überwachtwerden. Als Referenz dienen dabei die entsprechenden Bits deskorrespondierenden Maskenregisters. Bei Zustandsänderung(0 → 1 oder 1 → 0) von mindestens einem mit einer „1“ maskier-ten Bit kann (falls freigegeben) ein Interrupt ausgelöst werden.
3.3.4 Zähler/Zeitgeber (8254)
Dieser Abschnitt gilt für die Modelle ME-8100 A und B, nicht je-doch für die ME-81 ISA!
Als Zählerbaustein kommt der Standardtyp 82C54 (kompatibel zum 8253) zum Einsatz. Dies ist ein sehr vielseitig einsetzbarer Baustein, der über 3 unabhängige 16 Bit (Abwärts-) Zähler ver-fügt. Der Zählertakt von max. 1 MHz muß für jeden Zähler ext. zugeführt werden. Nach geeigneter Beschaltung des Gate-Ein-gangs (Freigabe durch 0 V-Signal) zählt der entsprechende Zäh-ler negativ flankengesteuert abwärts, wobei im BCD- oder Binärcode gezählt werden kann. Jeder Zähler kann unabhängig per Software für folgende 6 Betriebsarten konfiguriert werden:
• Modus 0: Zustandsänderung bei Nulldurchgang
• Modus 1: Retriggerbarer „One Shot“
• Modus 2: Asymmetrischer Teiler
• Modus 3: Symmetrischer Teiler
• Modus 4: Zählerstart durch Softwaretrigger
• Modus 5: Zählerstart durch Hardwaretrigger
Meilhaus Electronic Seite 27 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Die Konfigurierung des 82C54 erfolgt per Software durch den Anwender. Benutzen Sie zur Programmierung die mitgelieferte Treibersoftware unter Windows 95/98/NT siehe Kap. 5.3.3 „Zäh-lerfunktionen“ auf Seite 75. Die folgende Abbildung zeigt den Aufbau des Bausteins:
Abb. 7: Blockschaltbild des 82C54
3.4 Beschaltung
Beachten Sie, …daß sowohl die digitalen Ein-/Ausgangs-Ports als auch die Zäh-lersignale optoisoliert und für die in der Steuerungstechnik übli-chen 24 V ausgelegt sind.
3.4.1 Eingangsbeschaltung ME-81
Die 16 optoisolierten Eingangskanäle (DI 0…15) der ME-81 sindüber die Vorwiderstände Rv auf Optokoppler geführt. Die Vor-widerstände sind für einen Spannungs-High-Pegel von typ. 24 Vdimensioniert. Bei Bedarf, ist ein Betrieb mit TTL-Pegel durch An-passung der Vorwiderstände Rv möglich. Ein Bezug zur Massedes digitalen Eingangsteils (ext. GND DI-Teil) muß stets herge-stellt werden.
Kontroll-wort-
Register
Daten-bus-
puffer
Read-/Write-Logik
Zähler 0
InternerDatenbus
(8 Bit)
Datenbus
Steuerleitungen(/RD, /WR, /CS, A0, A1)
Clk 0
Zähler 1
Zähler 2
Gate 0Out 0
Clk 1Gate 1Out 1
Clk 2Gate 2Out 2
Hardware Seite 28 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Abb. 8: Eingangsbeschaltung der ME-81
3.4.2 Ausgangsbeschaltung ME-81
Die 16 optoisolierten Ausgangskanäle (DO 0…15) der ME-81sind mit zwei Treiberbausteinen vom Typ ULN2803 mit low akti-ven Open-Collector Ausgängen (Sink-Treiber) realisiert. Ein Be-zug zur Masse des digitalen Ausgangsteils (ext. GND DO-Teil)muß stets hergestellt werden.
Abb. 9: Ausgangsbeschaltung der ME-81
Der maximale Strom pro Ausgang hängt dabei von der Anzahlder benutzten Ausgänge pro Baustein (DO 0…7 = Baustein 1,DO 8…15 = Baustein 2) und vom Tastverhältnis der Signale ab.,siehe Abb. 10: "Ausgangsstrom ULN2803".
ext. GND (DI-Teil)
DigitaleEingänge
..
.
ext. V+ (typ. 24 V)
Rv
Optogalvanische Trennung
ILED = 10 mA DI 0
DI 15
2 x ULN2803
DO 0
ext. V+ (DO-Teil)
RUp
ext. GND (DO-Teil)Digitale
Ausgänge
..
.
DO 15
..
.
Meilhaus Electronic Seite 29 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Abb. 10: Ausgangsstrom ULN2803
3.4.3 Eingangsbeschaltung ME-8100
Die 16 bzw. 32 optoisolierten Eingangskanäle (DI 0…15/DI 16…31) der ME-8100A/B sind über die Vorwiderstände Rv aufOptokoppler geführt. Die Vorwiderstände sind für einen Span-nungs-High-Pegel von typ. 24 V dimensioniert. Zum Schutz derOptokoppler wurde eine Schutzdiode zur Spannungsbegrenzungauf 26 V vorgesehen. Bei Bedarf, ist ein Betrieb mit TTL-Pegeldurch Anpassung der Vorwiderstände Rv sowie der Schutzdiodenmöglich. Ein Bezug zur externen Masse (ext. GND) muß stetshergestellt werden.
Abb. 11: Eingangsbeschaltung der ME-8100
Anzahl der gleichzeitig treibenden Ausgänge:8 7 6 5 4 3 2
Max
. Kol
lekt
orst
rom
bei
70°
C [m
A]
00
600
500
400
300
200
100
100908070605040302010Tastverhältnis [%]
Empfohlener max. Strom
ext. V+ (typ. 24 V)
Rv
Optogalvanische Trennung
ILED = 10 mA DI 0
ext. GNDDigitale
Eingänge
..
.
DI 15
Hardware Seite 30 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3.4.4 Ausgangsbeschaltung ME-8100
Die 16 bzw. 32 optoisolierten Ausgangskanäle (DO 0…15/DO 16…31) der ME-8100A/B sind mit 2 bzw. 4 Treiberbaustei-nen realisiert. Je nach Anwendungsfall hat der Anwender dieMöglichkeit per Software zwischen low-aktiven Ausgängen(Sink-Treiber vom Typ ULN2803; Standard-Einstellung) und high-aktiven Ausgängen (Source-Treiber vom Typ UDN2982) zu wäh-len. Ein Bezug zur Masse des digitalen Ausgangsteils (ext. GND)muß stets hergestellt werden.
Sink-Treiber:
Abb. 12: Ausgänge der ME-8100 mit Sink-Treibern
Der maximale Strom pro Ausgang hängt dabei von der Anzahlder benutzten Ausgänge pro Baustein (DO 0…7, DO 8…15,DO 16…23 und DO 24…31 jeweils ein Baustein) und vom Tast-verhältnis der Signale ab, siehe Abb. 10: "AusgangsstromULN2803".
Daten vom PC
Ausgangsleitung
ULN2803ext. V+ (typ. 24 V)
Last
ext. GND
ISink
Meilhaus Electronic Seite 31 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Source-Treiber:
Abb. 13: Ausgänge der ME-8100 mit Source-Treibern
Der maximale Strom pro Ausgang hängt dabei von der Anzahlder benutzten Ausgänge pro Baustein (DO 0…7, DO 8…15,DO 16…23 und DO 24…31 jeweils ein Baustein) und vom Tast-verhältnis der Signale ab, siehe Abb. 14: "AusgangsstromUDN2982".
Abb. 14: Ausgangsstrom UDN2982
Daten vom PC Ausgangsleitung
ext. GND
UDN2982
ext. V+ (typ. 24 V)
Last
ISource
Anzahl der gleichzeitig treibenden Ausgänge:
87
6
5
4
3
Max
. Kol
lekt
orst
rom
bei
70°
C [m
A]
00
300
250
200
150
100
50
100908070605040302010Tastverhältnis [%]
Empfohlener max. Strom350
400
Hardware Seite 32 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3.4.5 Zähler Ein-/Ausgänge
Die „Clk“-, „Gate“- und „Out“-Leitungen sind auf der ME-8100 bis1000 V opto-galvanisch isoliert. Die Zählerausgänge sind mitPull-Up Widerständen bestückt. Sämtliche Zählersignale sind fürdie in der Steuerungstechnik üblichen 24 V ausgelegt.
Zur Freigabe des Zählers muß am Gate-Eingang 0 V-Pegel ange-legt werden. Je nach Konfiguration wird der Gate-Eingang alsEnable- oder Triggersignal verwendet.
3.4.5.1 Beschaltung Zähler-Eingänge
Abb. 15: Beschaltung der Zähler-Eingänge ME-8100A/B
ext. V+ (typ. 24 V)
Rv
Optogalvanische Trennung
ext. GND
ILED = 10 mA
RvILED = 10 mA
Clk0
Gate0
Clk1
Gate1
Clk1
Gate1
Zähler 1
Zähler 0
Zähler 2
Meilhaus Electronic Seite 33 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
3.4.5.2 Beschaltung Zähler-Ausgänge
Abb. 16: Beschaltung der Zähler-Ausgänge ME-8100A/B
3.4.5.3 Zählertakt
Über die Eingangsleitungen Clk 0…2 muß ein externer Takt zur Speisung der einzelnen Zähler zugeführt werden. Die max. Zähl-frequenz beträgt 1 MHz.
3.4.5.4 Kaskadierung der Zähler
Zur Kaskadierung der Zähler können die Ausgänge des/der Zäh-lerbausteine(s) durch externe Verdrahtung „in Reihe“ geschaltet werden.
Sollen zum Beispiel die Zähler 0…2 kaskadiert werden, so sinddurch geeignete Beschaltung folgende Verbindungen vorzuneh-men:
• Den Takt-Eingang des Zählers 0 (Clk 0) mit dem Ausgangstakt verbinden
• Den Ausgang von Zähler 0 (Out 0) mit dem Takt-Eingang des Zählers 1 (Clk 1) verbinden
• Den Ausgang von Zähler 1 (Out 1) mit dem Takt-Eingang des Zählers 2 (Clk 2) verbinden
Optogalvanische Trennung
Out0
ext. V+ (typ. 24 V)
RUp
ext. GND
Zähler 1
Zähler 0
Zähler 2
Out1
Out2
Hardware Seite 34 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
• Außerdem müssen die Gate-Eingänge (Gate 0…2) zur Freiga-be der Zähler mit 0 V beschaltet werden werden.
• Am Ausgang des Zählers 2 (Out 2) steht das kaskadierte Zäh-lersignal zur Verfügung.
Meilhaus Electronic Seite 35 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
3.5 Registerbeschreibung
3.5.1 Register der ME-81 ISA
Der Registersatz der ME-81 umfaßt 12 aufeinanderfolgende Bytesim I/O-Adreßraum des PCs. Sämtliche Register sind 16 Bit breitund in den folgenden Tabellen kurz beschrieben (R = Lesen,W = Schreiben):!
Offset 16 BitRegister
BA+00H R Function ID + INTR-BITenthält Informationen/ID zur Karte:b15…b9
reserviertb8 (INTR)
Wird gesetzt, falls Ereignis für Interrupt ein-getreten ist (in den Betriebsarten Bitmuster-Vergleich und Bitmuster-Änderung, INTB0 = 1); aber auch falls Interupt deaktiviert (z. B. für Polling-Betrieb, INTB0 = 0)
b7 (FID7)reserviert
b6 (FID6)Funktionsgruppe Vergleichspattern
b5 (FID5)Funktionsgruppe AI (A/D-Teil)
b4 (FID4)Funktionsgruppe AO (D/A-Teil)
b3 (FID3)Funktionsgruppe DIO (Digital I/O-Teil)
b2…b0 (FID2…FID0)PROM-Version
Daraus ergibt sich folgende Function-ID für PROM-Version 1:
01001001: 49Hex
Tabelle 3: Adreßraum der ME-81
Hardware Seite 36 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
BA+00H W Kontroll-Registerb15…b8
reserviertSteuerung der digitalen Ports:b7 . . . . . . .ENIO1 Digitale Ports aktiv0 Digitale Ports hochohmigAuswahl der Interruptquelle:b6, b5 . . . .INTB1, INTB0 0 0 Interrupt deaktiviert 0 1 Interrupt bei Bitmuster-Gleichheit 1 0 Interrupt deaktiviert 1 1 Interrupt bei Bitmuster-Änderungb4, b0
reserviert
BA+02H R Reset INTR-BitDurch Lesen dieser Adresse wird das INTR-Bit rückgesetzt. Solange INTR-Bit gesetzt ist, kann kein neuer Interrupt erzeugt werden
BA+04H R EingangsregisterDie Eingänge stehen nach ca. 100 ns zur Verfü-gung (Entprellung)
BA+06H W AusgangsregisterVorraussetznung: ENIO = „1“ Register bereits vorher beschreibbar
BA+08H W Vergleichs-RegisterEin am Eingang anliegendes Bitmuster wird mit dem in diesem Register abgelegten Vergleichs-bitmuster verglichen. Zur Interrupt-Behand-lung müssen die Interrupt-Bits INTB1 und INTB0 im Kontroll-Register entsprechend ge-setzt sein.
Offset 16 BitRegister
Tabelle 3: Adreßraum der ME-81
Meilhaus Electronic Seite 37 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
3.5.2 Register des 82C54
Die Beschreibungen zum Zählerbaustein 82C54 in den folgenden Abschnitten gelten für die Modelle ME-8100A/B. Zur Program-mierung verwenden Sie bitte die mitgelieferte Funktionsbiblio-thek für Windows 95/98 und NT 4.0.
Das Kontrollwort legt den Betriebsmodus und das Zählsystem (binär oder BCD-Code) des Zählerbausteins fest und kontrolliert das Laden der Zähler-Register.
BA+0AH W MaskenregisterDurch Setzen der entsprechenden Bits im Mas-kenregister werden die Eingänge ausgewählt, die im Bitänderungsmodus berücksichtigt wer-den sollen. Als Bezug für eine Bitmuster-Ände-rung dient dabei der aktuelle Wert im Eingangsregister. Ein Interrupt wird ausgelöst, wenn sich der Zustand von mindestens einem Eingang ändert. Zur Interrupt-Behandlung müssen die Interrupt-Bits INTB1 und INTB0 im Kontroll-Register entsprechend gesetzt wer-den.
R Nach einem Interrupt wird der zum Interrupt-Zeitpunkt am Eingang anliegende digitale Wert gespeichert und kann unter dieser Adresse ein-gelesen werden.
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
Tabelle 4: Format des Kontrollwortes
Offset 16 BitRegister
Tabelle 3: Adreßraum der ME-81
Hardware Seite 38 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Mit den Bits SC1/0 wird der Zähler ausgewählt:
Mit den Bits RL1/0 wird der Read-/Write-Modus ausgewählt:
SC1 SC0 Funktion
0 0 Zähler 0
0 1 Zähler 1
1 0 Zähler 2
1 1 nicht erlaubt
Tabelle 5: Auswahl des Zählers
RL1 RL0 Funktion
0 0 Zähler Latching Operation
1 0 nur MSB
0 1 nur LSB
1 1 erst LSB, dann MSB (2 x 8 Bit)
Tabelle 6: Auswahl des Read-/Write-Modus
Meilhaus Electronic Seite 39 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Mit den Bits M0…M2 wird der Betriebsmodus für die einzelnen Zähler bestimmt:
Mit dem Bit BCD wird das Zählsystem jedes einzelnen Zählers festgelegt:
Zunächst wird der Zähler initialisiert, indem man das Kontroll-wort mit Zählernummer, Read/Write Modus, Zählsystem und der Modusnummer schreibt. Danach lädt man den Startwert des Zäh-lers ins entsprechende Zählregister. Der Zählerstand wird mit je-der negativen Flanke des Clk-Signals um 1 dekrementiert. Im folgenden sind die 6 zur Verfügung stehenden Modi kurz erklärt.
M2 M1 M0 Funktion
0 0 0 Modus 0
0 0 1 Modus 1
X 1 0 Modus 2
X 1 1 Modus 3
1 0 0 Modus 4
1 0 1 Modus 5
Tabelle 7: Auswahl des Betriebs-Modus
BCD Funktion
0 16 Bit Binär-Zähler
1 BCD-Zähler (4 Dekaden)
Tabelle 8: Auswahl des Zählsystems
Hardware Seite 40 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3.5.2.1 Modus 0: Zustandsänderung bei Nulldurchgang
Diese Betriebsart ist z. B. zur Signalisierung eines Interrupts ge-eignet. Der Zähler-Ausgang (Out 0…2) geht in den Low-Zustand sobald der Zähler initialisiert wird oder ein neuer Startwert in den Zähler geladen wird. Zur Freigabe des Zählers muß am Gate-Ein-gang High-Pegel liegen. Sobald der Zähler geladen und freigege-ben wurde beginnt er abwärts zu zählen, während der Ausgang im Low-Zustand bleibt.
Bei Erreichen des Nulldurchganges geht der Ausgang in den High-Zustand und bleibt dort bis der Zähler neu initialisiert wird oder ein neuer Startwert geladen wird. Auch nach Erreichen des Nulldurchganges wird weiter abwärts gezählt. Sollte während des Zählvorganges ein Zählerregisters erneut geladen werden, hat dies zur Folge, daß
1. beim Schreiben des ersten Bytes der momentane Zählvorgang gestoppt wird
2. beim Schreiben des zweiten Bytes der neue Zählvorgang ge-startet wird.
3.5.2.2 Modus 1: Retriggerbarer „One-Shot“
Der Zähler-Ausgang (Out 0…2) geht in den High-Zustand sobald der Zähler initialisiert wird. Nachdem ein Startwert in den Zähler geladen wurde geht der Ausgang mit dem auf den ersten Trigger-impuls (positive Flanke des Gate-Signals) folgenden Takt in den Low-Zustand. Nach Ablauf des Zählers geht der Ausgang wieder in den High-Zustand.
Mit einer positiven Flanke am Gate-Eingang kann der Zähler je-derzeit auf den Startwert zurückgesetzt („retriggered“) werden. Der Ausgang bleibt solange im Low-Zustand bis der Zähler den Nulldurchgang erreicht.
Der Zählerstand kann jederzeit ohne Auswirkung auf den mo-mentanen Zählvorgang, ausgelesen werden.
3.5.2.3 Modus 2: Asymmetrischer Teiler
In diesem Modus arbeitet der Zähler als Frequenzteiler. Der Zäh-ler-Ausgang (Out 0…2) geht nach der Initialisierung in den High-
Meilhaus Electronic Seite 41 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Zustand. Nach Freigabe des Zählers durch einen High-Pegel am Gate-Eingang wird abwärts gezählt, während der Ausgang noch im High-Zustand verbleibt. Sobald der Zähler den Wert 0001Hex erreicht hat, geht der Ausgang für die Dauer einer Taktperiode in den Low-Zustand. Dieser Ablauf wiederholt sich periodisch so-lange das Gate-Signal im High-Zustand ist, ansonsten geht der Ausgang sofort in den High-Zustand.
Wird das Zählerregister zwischen zwei Ausgangs-Pulsen erneut geladen, so beeinflußt dies den momentanen Zählvorgang nicht, die folgende Periode arbeitet jedoch mit den neuen Werten.
3.5.2.4 Modus 3: Symmetrischer Teiler
Dieser Modus arbeitet ähnlich wie Modus 2 mit dem Unterschied, daß der geteilte Takt ein symmetrisches Tastverhältnis besitzt (nur für geradzahlige Zählerwerte geeignet). Der Zähler-Ausgang (Out 0…2) geht nach der Initialisierung in den High-Zustand. Nach Freigabe des Zählers durch einen High-Pegel am Gate-Ein-gang wird in 2er-Schritten abwärts gezählt. Nun wechselt der Ausgang, beginnend mit High-Pegel alle Startwert/2 Perioden des Eingangstaktes seinen Zustand. Solange am Gate-Eingang ein High-Pegel anliegt, wiederholt sich dieser Ablauf periodisch, an-sonsten geht der Ausgang sofort in den High-Zustand.
Wird das Zählerregister zwischen zwei Ausgangs-Pulsen erneut geladen, so beeinflußt dies den momentanen Zählvorgang nicht, die folgende Periode arbeitet jedoch mit den neuen Werten.
3.5.2.5 Modus 4: Zählerstart durch Softwaretrigger
Der Zähler-Ausgang (Out 0…2) geht in den High-Zustand sobald der Zähler initialisiert wird. Zur Freigabe des Zählers muß am Gate-Eingang High-Pegel liegen. Sobald der Zähler geladen (Soft-wartrigger) und freigegeben wurde, beginnt er abwärts zu zäh-len, während der Ausgang noch im High-Zustand bleibt.
Bei Erreichen des Nulldurchganges geht der Ausgang für die Dauer einer Takt-Periode in den Low-Zustand. Danach geht der Ausgang wieder in den High-Zustand und bleibt dort bis der Zähler neu initialisiert wird und ein neuer Startwert geladen wird.
Hardware Seite 42 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Wird das Zählerregister während eines Zählvorganges erneut ge-laden, so wird der neue Startwert mit dem nächsten Takt geladen.
3.5.2.6 Modus 5: Zählerstart durch Hardwaretrigger
Der Zähler-Ausgang (Out 0…2) geht in den High-Zustand sobald der Zähler initialisiert wird. Nachdem ein Startwert in den Zähler geladen wurde beginnt der Zählvorgang mit dem auf den ersten Triggerimpuls (positive Flanke des Gate-Signals) folgenden Takt. Bei Erreichen des Nulldurchganges geht der Ausgang für die Dauer einer Takt-Periode in den Low-Zustand. Danach geht der Ausgang wieder in den High-Zustand und bleibt dort bis ein er-neuter Triggerimpuls ausgelöst wird.
Wird das Zählerregister zwischen zwei Triggerimpulsen erneut geladen, so wird der neue Startwert erst nach dem nächsten Trig-gerimpuls berücksichtigt.
Mit einer positiven Flanke am Gate-Eingang kann der Zähler je-derzeit auf den Startwert zurückgesetzt („retriggered“) werden. Der Ausgang bleibt solange im High-Zustand bis der Zähler den Nulldurchgang erreicht.
3.6 Testprogramm
Zum Test der Einsteckkarte wird ein einfaches Testprogrammmitgeliefert. Sie finden das jeweilige Testprogramm in einem ent-sprechenden Unterverzeichnis von C:\Meilhaus (Default).Das Testprogramm kann durch Doppelklick gestartet werden.(Vorraussetzung: Systemtreiber korrekt installiert).
Meilhaus Electronic Seite 43 Hardware
Rev. 1.3D Handbuch ME-81, ME-8100
Hardware Seite 44 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
4 ProgrammierungDas Treiberkonzept für die ME-81 bzw. ME-8100 Familie unterWindows 95/98/NT bietet Ihnen die Möglichkeit, ohne Änderungbereits vorhandener Applikationssoftware anstatt einer „alten“ME-81 ISA-Karte eine äquivalente PCI-Karte zu verwenden. DaFunktionsumfang und Syntax identisch sind, ist dies im Idealfallohne Neucompilierung möglich. (Voraussetzung: „alte“ ISA-Karteund neue PCI-Karte verwenden den gleichen Wert im Parameter<iBoardNumber>). Zur genauen Vorgehensweise beachten Siebitte die entsprechenden README-Dateien auf der Installations-diskette des ME-8100 Treibersystems.
Die Austauschbarkeit von ISA- gegen PCI-Karten gilt nur,wenn Sie zur Programmierung Ihrer ISA-Karte die Funk-tionsbibliothek des ME-81 Treibersystems unter Windows95/98/NT verwendet haben!
4.1 Hochsprachenprogrammierung
Folgende Hochsprachen werden standardmäßig unterstützt:
• Visual C++ ab Version 4.0. Bitte beachten Sie die Hinweise in den entsprechenden README-Dateien.
• Delphi ab Version 2.0. Bitte beachten Sie die Hinweise in den entsprechenden README-Dateien.
• VisualBASIC ab Version 4.0. Bitte beachten Sie die Hinweise in den entsprechenden README-Dateien.
• für weitere Hochsprachen beachten Sie bitte die entsprechen-den README-Dateien auf Ihrer Treiber-Diskette(n).
Es ist darauf zu achten, daß für den Compiler und Linker diePfade auf diese Dateien richtig gesetzt sind.
Durch Einbinden der hochsprachenspezifischen Definitionsdateiin Ihr Projekt können Sie viele Parameter in Form vordefinierterKonstanten und Makros übergeben. Alternativ ist die direkteÜbergabe des entsprechenden Hex-Wertes jederzeit möglich.
Meilhaus Electronic Seite 45 Programmierung
Rev. 1.3D Handbuch ME-81, ME-8100
4.1.1 Vorgehensweise
Zur Implementierung des Interrupt-Betriebs für die ME-8100 be-achten Sie bitte folgende Vorgehensweise:
Hinweis: Interrupt-Service-Funktionen werden unter Visual-BASIC nicht unterstützt.
4.1.1.1 Interrupt bei Bitmuster-Gleichheit
1. Rufen Sie die Funktion _me8100DIOSetPattern auf. Der Para-meter <Pattern> definiert das gewünschte Bitmuster. So-bald das gleiche Bitmuster am Eingang anliegt wird ein Interrupt ausgelöst.
2. Rufen Sie die Funktion _me8xxxDIOSetTristateOFF auf.
3. Rufen Sie die Funktion _me8100SetSinkSourceMode auf und schalten Sie z. B. die Source-Treiber aktiv (nicht nötig für ME-81).
4. Rufen Sie die Funktion _me8xxxSetIntMode auf. Der Inter-rupt-Modus muß auf INTERRUPT_ON_PATTERN_COMPARE gesetzt werden.
5. Rufen Sie die Funktion _me8xxxEnableInt um den Interrupt-Betrieb freizuschalten. Sobald das gewünschte Bitmuster am Eingang anliegt wird ein Interrupt ausgelöst und die Interrupt Service Routine ausgeführt.
6. Durch Aufruf der Funktion _me8100GetIrqCnt, kann die An-zahl der aufgetretenen Interrupts ermittelt werden. (Funktion steht für ME-81 nicht zur Verfügung).
7. Rufen Sie die Funktion _me8xxxDisableInt auf.
4.1.1.2 Interrupt bei Bitmuster-Änderung
1. Rufen Sie die Funktion _me8xxxDIOSetTristateOFF auf.
2. Rufen Sie die Funktion _me8100SetSinkSourceMode auf und schalten Sie z. B. die Source-Treiber aktiv (nicht nötig für ME-81).
Programmierung Seite 46 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
3. Rufen Sie die Funktion _me8xxxSetIntMode auf. Der Inter-rupt-Modus muß auf INTERRUPT_ON_BIT_CHANGE gesetzt werden.
4. Rufen Sie die Funktion _me8xxxDIOSetMask. Der Wert im Pa-rameter <Mask> definiert welche Bits überwacht werden sol-len. Sobald eines dieser Bits seinen Zustand ändert, wird ein Interrupt ausgelöst. Verwenden Sie z. B. die Bitmaske 0xFFFF um alle Bits zu überwachen.
5. Rufen Sie die Funktion _me8xxxEnableInt um den Interrupt-Betrieb freizuschalten.
6. Durch Aufruf der Funktion _me8100GetIrqCnt, kann die An-zahl der aufgetretenen Interrupts ermittelt werden. (Funktion steht für ME-81 nicht zur Verfügung).
7. Durch Aufruf der Funktion _me8xxxDIGetIntStatus, kann das Bitmuster, das den Interrupt ausgelöst hat über den Parameter <BitValue> eingelesen werden.
8. Rufen Sie die Funktion _me8xxxDisableInt auf.
Hinweis: An den Eingangs-Pins sollte ein bekanntes Bitmusteranliegen. Dieses Bitmuster definiert den neutralen Zustand. So-bald sich der Zustand eines oder mehrerer Bits ändert wird einInterrupt ausgelöst. Durch Übergabe des Wertes 0xFFFF im Para-meter <Mask> der Funktion _me8xxxDIOSetMask werden alleBits überwacht. Falls nur einzelne Bits überwacht werden sollen(z. B. <Mask> = 0x000F für die 4 niederwertigen Bits) so löst dieZustandsänderung eines anderen Bits keinen Interrupt aus. Nurdie Zustandsänderung eines Bits, das im Parameter <Mask> auf„1“ gesetzt wurde, wird einen Interrupt auslösen.
4.1.2 Beispielprogramme
Zum leichteren Verständnis der Programmierung werden einfa-che Beispiele und kleine Projekte im Source-Code mitgeliefert.Die Beispielprogramme werden automatisch in entsprechendeUnterverzeichnisse von C:\Meilhaus\ (Default) installiert.Bitte beachten Sie die Hinweise in den entsprechendenREADME-Dateien.
Meilhaus Electronic Seite 47 Programmierung
Rev. 1.3D Handbuch ME-81, ME-8100
4.2 Agilent VEE-Programmierung
Die Agilent VEE-Komponenten für die ME-81/8100 finden Sie aufder „ME-Support-CD“ oder auf unserem FTP-Server.
Das Meilhaus VEE Treibersystem unterstützt die HP VEE Vollver-sionen 4.x und 5.x, HP VEE Lab, Agilent VEE Pro und AgilentVEE OneLab. Zur Installation der VEE-Komponenten und fürweitere Infos beachten Sie bitte die Dokumentation (PDF-Datei),die Sie mit dem VEE Treibersystem erhalten. Zu den Grundlagender VEE-Programmierung benutzen Sie bitte Ihre VEE Dokumen-tation und die VEE Online-Hilfe.
4.2.1 User Objects
Zur komfortableren Handhabung des Treibers wurden vordefi-nierte User Objects erstellt, welche intern API-Funktionen aufru-fen. Diese sind über den zusätzlichen Menüpunkt „ME Board“ inder VEE-Entwicklungsumgebung aufrufbar und können – wie an-dere Standard-Funktionen von VEE auch – in der Entwicklungs-umgebung plaziert und in einer Applikation „verdrahtet“ werden.
Die User Objects sind weitgehend selbsterklärend und basierenauf den im Kap. „Funktionsreferenz“ dokumentierten API-Funk-tionen. Zusätzlich gibt es noch sog. „Expanded User Objects“, umIhnen das Programmieren so bequem wie möglich zu machen.Eine Kurzbeschreibung zum jeweiligen User Object finden Sieauch unter „Description“ indem Sie den Mauszeiger über das ent-sprechende UO bewegen und die rechte Maustaste drücken.
Die User Objects können für eigene Bedürfnisse jederzeit geän-dert, angepaßt und bei Bedarf als kundenspezifisches Objekt ab-gespeichert werden.
4.2.2 Demoprogramme
Zur Demonstration und zum leichteren Verständnis wurden klei-ne Demoprogramme erstellt, die alle wichtigen User Objects ent-halten. Die Demoprogramme sind über den Menüpunkt„ME Board – Demos“ aufrufbar.
Programmierung Seite 48 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Die VEE-Demoprogramme enthalten teilweise auch Ergänzungender „normalen“ User Objects und tragen zur leichteren Unter-scheidung von diesen das Präfix "x…" im Dateinamen.
4.2.3 Das "ME Board"-Menü
Das Installationsprogramm erweitert die Menüleiste von VEE au-tomatisch um den Eintrag „ME Board“. Dadurch ist eine komfor-table Nutzung aller unter VEE zur Verfügung stehendenTreiberfunktionen möglich. Über das „ME Board“-Menü könnenSie nach Kartenfamilien geordnet, die ent-sprechenden Treiber-und Demo-User Objects aufrufen.
Hinweis:Der Installationsumfang der User Objects (UOs) richtet sich nachder von Ihnen gewählten Kartenfamilie(n) zu Beginn der VEETreiber-Installation. Sollten Sie UOs im „ME Board“-Menü aufru-fen, die jedoch nicht installiert wurden, so führt dies zur Fehler-meldung:
File ´filename´ was not found. Error number: 700
Bei Bedarf können Sie die benötigten VEE Komponenten jeder-zeit nachinstallieren (siehe „ME-Support-CD“ oder FTP-Server).
4.3 LabVIEW™-Programmierung
Die LabVIEW™-Komponenten für die ME-81/8100 erhalten Sieoptional auf separater(n) Diskette(n) bei Meilhaus Electronic. DieMeilhaus LabVIEW™-Treiber unterstützen die LabVIEW™ Voll-versionen 4.x oder höher. Zur Installation der LabVIEW™-Kom-ponenten und für weitere Infos beachten Sie bitte dieDokumentation auf den mit dem LabVIEW™-Treiber geliefertenDisketten. Zu den Grundlagen der LabVIEW™-Programmierungbenutzen Sie bitte Ihre LabVIEW™ Dokumentation und die Lab-VIEW™ Online-Hilfe.
4.3.1 Virtual Instruments
Zur komfortableren Handhabung des Treibers wurden vordefi-nierte Virtual Instruments (VIs) erstellt. Diese sind über das Menü
Meilhaus Electronic Seite 49 Programmierung
Rev. 1.3D Handbuch ME-81, ME-8100
„Datei - Öffnen“ in LabVIEW™ aufrufbar und können – wie an-dere Standard-VIs von LabVIEW™ auch – in der Entwicklungs-umgebung plaziert und in einer Applikation „verdrahtet“ werden.
Die „Source VIs“ sind weitgehend selbsterklärend und basierenauf den im Kap. „Funktionsreferenz“ dokumentierten API-Funk-tionen. Zusätzlich gibt es noch sog. „Expanded Virtual Instru-ments“, um Ihnen das Programmieren so bequem wie möglich zumachen.
Eine Kurzbeschreibung zum jeweiligen VI finden Sie auch im VI„ME-XXXX Function Tree“. Dieses VI dient nur der Dokumenta-tion und kann über das Menü „Datei - Öffnen“ aufgerufen wer-den. Unter „Description“ finden Sie eine Kurzbeschreibung zumjeweiligen VI.
Die VIs können für eigene Bedürfnisse jederzeit geändert, ange-paßt und bei Bedarf als kundenspezifisches VI abgespeichertwerden.
4.3.2 Demoprogramme
Zur Demonstration und zum leichteren Verständnis wurden klei-ne Demoprogramme erstellt, die alle wichtigen „Virtual Instru-ments“ (VIs) enthalten. Die Demoprogramme sind über dasMenü „Datei – Öffnen“ aufrufbar.
4.4 Registerprogrammierung (ISA-Versionen)
Hinweis: Die ME-81 ISA kann, z. B. unter DOS, auch auf Regi-sterebene programmiert werden. Dies ist von Computer-Hoch-sprachen aus durch Port-Ein-/Ausgabe-Anweisungen möglich(siehe Kap. 3.5 „Registerbeschreibung“ auf Seite 36). InformierenSie sich bitte gegebenenfalls über die passende Befehlssyntax zurPortprogrammierung im Handbuch der Hochsprache Ihrer Wahl.Wir empfehlen jedoch die Verwendung der mitgelieferten Trei-bersoftware unter Windows 95/98 oder NT, ansonsten ist dieSoftwarekompatibilität zwischen ISA- und PCI/cPCI-Kartennicht gegeben!
Beachten Sie bitte folgende Vorgehensweise:
Programmierung Seite 50 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
4.4.1 Initialisierung
• Function ID Register (M81_FIDREG) auslesen. Dabei müssen die Bits b7…b3 stets den Wert '01001' (binär) haben, während die Bits b2…b0 von der jeweiligen PROM-Version abhängen. So gilt z. B. für die PROM-Versions-nummer 1 (001) folgender Eintrag (siehe Kap. 3.5 „Registerbeschreibung“ auf Seite 36):
01001001Binär 49Hex.
Wenn dies nicht der Fall ist, ist entweder die Basisadresse falsch oder die Karte defekt.
• Alle Aktionen auf der Karte stoppen: Kontrollregister (BA+00Hex) auf 00Hex setzen.
• INTR-Bit rücksetzen, durch „Dummylesen“ des Registers BA+02Hex.
4.4.2 Einfaches Einlesen
• Initialisierung (siehe 4.4.1)
• Festlegen der Konfiguration im Kontroll-Register (BA+00Hex)
• Interrupt deaktivieren INTB0 = 0
• Einlesen des Eingaberegisters (BA+04Hex)
4.4.3 Einfaches Ausgeben
• Initialisierung (siehe 4.4.1)
• Digitale Ausgänge leitend schalten ENIO = 1
• Beschreiben des Ausgangsregisters (BA+06Hex)
4.4.4 Interrupt durch Bitmuster-Vergleich
• Initialisierung (siehe 4.4.1)
• Wert in Vergleichsregister (BA+08Hex) schreiben.
• Festlegen der Konfiguration im Kontroll-Register (BA+00Hex)
- Auswahl der InterruptquelleBitmuster-Vergleich: INTB1, INTB0 = 0, 1
Meilhaus Electronic Seite 51 Programmierung
Rev. 1.3D Handbuch ME-81, ME-8100
• Interrupt-Auslösung erfolgt bei Übereinstimmung von Ver-gleichsregister und Bitmuster am Eingang. Der Wert, der den Interrupt ausgelöst hat wird im Register BA+0AH abgelegt und kann unter dieser Adresse eingelesen werden.
• INTR-Bit rücksetzen, durch „Dummylesen“ des Registers BA+02Hex.
4.4.5 Interrupt durch Bitmuster-Änderung
• Initialisierung (siehe 4.4.1)
• Es wird empfohlen, den Neutral-Wert vom Eingangsregister einzulesen
• Festlegen der Konfiguration im Kontroll-Register (BA+00Hex)
- Auswahl der Interruptquelle Bitmuster-Änderung: INTB1, INTB0 = 1, 1
• Bitmaske in Maskenregister BA+0AHex schreiben.
• Interrupt-Auslösung erfolgt bei Zustands-Änderung (0 → 1 oder 1 → 0) von mindestens einem Eingang der Karte bzgl. Neutral-Wert im Eingangsregister. (Vorraussetzung: Bit wurde im Maskenregister freigegeben, d. h. auf ˝1˝ gesetzt). Der Wert zum Interrupt-Zeitpunkt wird im Register BA+0AH abge-legt und kann unter dieser Adresse eingelesen werden.
• INTR-Bit rücksetzen, durch „Dummylesen“ des Registers BA+02Hex.
Nach jedem Interrupt muß das INTR-Bit durch „Dummylesen“des Registers (BA+02Hex) zurückgesetzt werden, da sonst keinInterrupt mehr ausgelöst wird.
Programmierung Seite 52 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
5 Funktionsreferenz
5.1 Funktionsweise des 32 Bit-Treibers
Das Treiberkonzept für die ME-81/8100 Familie sieht jeweils eineigenständiges Treibersystem für ISA- und PCI/cPCI-Karten vor.Beide Treiber sind echte 32 Bit-Treiber für Windows 95/98 undWindows NT 4.0. Aufgrund des Treiberkonzepts können ISA-Karten grundsätzlich nur mit dem ME-8x Treibersystem ange-sprochen werden und PCI-Karten nur mit dem ME-8100 Treiber-system. Um bei Bedarf eine Kompatibilität von PCI-Karten zubereits vorhandener Applikationssoftware zu erreichen sind imPCI-Treiber zusätzlich alle Funktionen des ISA-Treibers dekla-riert, die dann auf analog aufgebaute Funktionen des PCI-Trei-bers zugreifen. Wenn Sie von dieser Möglichkeit Gebrauchmachen möchten, beachten Sie bitte die genaue Vorgehensweisein den entsprechenden README-Dateien.
• Der ISA-Kartentreiber besteht aus folgenden Teilen:
- VxD-Treiber (ME8x_32.VXD) für Windows 95/98, wird dynamisch geladen.
- Kernel-Treiber (ME8x_32.SYS) für Windows NT wird au-tomatisch beim Systemstart geladen.
- API-DLL (ME8x_32.DLL) mit den Treiber-Funktionen für die ME-81.
- Dialog-DLL (MEDLG32.DLL) mit Dialogfunktionen.
• Der PCI-Kartentreiber besteht aus folgenden Teilen:
- VxD-Treiber (ME8100.VXD) für Windows 95/98, wird dynamisch geladen.
- Kernel-Treiber (ME8100.SYS) für Windows NT wird au-tomatisch beim Systemstart geladen.
- API-DLL (ME8100.DLL) mit den Treiber-Funktionen für die ME-8100 Familie.
Meilhaus Electronic Seite 53 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
Nachdem der Treiber erfolgreich geladen wurde, ermöglichendie API-Funktionen einen komfortablen Zugriff auf die Hard-ware. Jede Funktion, die auf eine Karte der ME-81/8100 Familiezugreifen soll, benötigt zur Identifizierung der Karte einen Inte-gerwert. In der nun folgenden Beschreibung der Funktionen istdieser Parameter mit <BoardNumber> bezeichnet. Er spezifi-ziert die anzusprechende Karte, wobei folgendes gilt:
- Wertebereich ISA-Modelle: 0…3
- Wertebereich PCI/cPCI-Modelle: 0…31
- Wert für die erste Karte: 0
- Wert für die zweite Karte: 1
- Wert für die x-te Karte: x-1
5.2 Nomenklatur
Die API-Funktionen sind kartenspezifisch gehalten. Jede API-Funktion beginnt für Visual C und Delphi (Pascal) mit einem Un-terstrich „_“; nicht jedoch in Borland C und Basic. Das Präfix je-der Funktion bezeichnet unmittelbar die Karte(n), für die dieFunktion zutrifft. Für die Funktionsnamen wurden weitgehend„selbstredende“ Bezeichner verwendet. Jeder Funktionsname be-steht aus aus einem kartentypspezifischen Präfix und mehrerenBestandteilen für die entsprechende Funktionsgruppe (z. B.“DI“für digitale Eingabe).
_me81… Funktion nur gültig für die Karte ME-81
_me8x… Funktion nur gültig für die Karten ME-80 und ME-81
_me8100… Funktion nur gültig für die Karten ME-8100A/B
Für die Funktionsbeschreibung gelten folgende Vereinbarungen:
Funktionsnamen werden im Fließtext kursiv geschrieben z. B._me8100GetBoardVersion
<Parameter> werden in spitzen Klammern in der Schriftart Courier geschrieben
Funktionsreferenz Seite 54 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
<Variablen> als Platzhalter für vordefinierte Konstanten werden kursiv geschrieben und in spitze Klammern gesetzt
[eckige Klammern] Variablen in eckigen Klammern sind fallwei-se bzw. alternativ zu verwenden (siehe Para-meterbeschreibung der jeweiligen Funktion)
DATEINAMEN oder PFADE werden in Großbuchstaben in der Schriftart Courier geschrieben
me8100…() Programmausschnitte sind in der Schriftart Courier geschrieben
Zur Kennzeichnung des Datentyps werden folgende Kennbuch-staben verwendet:
i… oder dw… 32-Bit Integer-Wert
s… oder w… 16-Bit Short-Wert
c… oder b… 8-Bit Character-Wert
p… Zeiger auf Datentyp (i, s oder c)
Meilhaus Electronic Seite 55 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
5.3 Beschreibung der API-Funktionen
Die Funktionsbeschreibung ist nach den folgenden Funktions-gruppen geordnet; innerhalb einer Funktionsgruppe gilt alphabe-tische Reihenfolge:
„5.3.1 Allgemeine Funktionen“ auf Seite 58
„5.3.2 Digitale Ein-/Ausgabe“ auf Seite 65
„5.3.3 Zählerfunktionen“ auf Seite 75
„5.3.4 Interrupt-Handling“ auf Seite 77
„5.3.5 Fehler-Behandlung“ auf Seite 81
Funktion Kurzbeschreibung Seite
Allgemeine Funktionen
_me8100GetBoardVersion Kartenversion ermitteln 58
_me8100GetDevInfo Detail-Infos der Karte ermitteln 58
_me8xGetDLLVersion_me8100GetDLLVersion
DLL-Versionsnummer ermitteln 60
_me8xPROMVersion_me8100PROMVersion
PROM-ID der Karte ermitteln 61
_me8100ReadUserString String zur Identifizierung der Karte auslesen
62
_me8100SetSinkSourceMode Umschaltung Sink/Source-Treiber 63
_me8100WriteUserString String zur Identifizierung der Karte in Registry schreiben
64
Digitale Ein-/Ausgabe
_me8xDIGetBit_me8100DIGetBit
Bit einlesen 65
_me81DIGetIntStatus_me8100DIGetIntStatus
Bitmuster, das Interrupt ausgelöst hat einlesen
66
_me8xDIGetWord_me8100DIGetWord
Word (16 Bit) einlesen 67
_me8xDIOSetIntMode_me8100DIOSetIntMode
Interrupt-Ereignis auswählen 68
_me81DIOSetMask_me8100DIOSetMask
Bitmaske schreiben 69
Tabelle 9: Übersicht der Bibliotheksfunktionen
Funktionsreferenz Seite 56 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Hinweis: Stellvertretend für die Präfixe _me81 und _me8x (fürME-81) und _me8100 (für ME-8100) wird in der folgendenFunktionsbeschreibung das Präfix _me8xxx verwendet. Entneh-men Sie die jeweils gültigen Präfixe der Überschrift einer jedenFunktion (umrandeter Kasten). Die meisten Funktionen für dieME-8100 wurden um den Parameter <iRegisterSet> erweitert,um auf einfache Weise den identisch aufgebauten B-Teil derME-8100B ansprechen zu können (dieser Parameter muß für dieISA-Variante ersatzlos gestrichen werden).
_me8xDIOSetPattern_me8100DIOSetPattern
Vergleichsbitmuster schreiben 70
_me8xDIOSetTristateOFF_me8100DIOSetTristateOFF
Ausgangsport leitend schalten 71
_me8xDIOSetTristateON_me8100DIOSetTristateON
Ausgangsport hochohmig schalten 72
_me8xDOSetBit_me8100DOSetBit
Bit ausgeben 73
_me8xDOSetWord_me8100DOSetWord
Word (16 Bit) ausgeben 74
Zählerfunktionen
_me8100CntRead Aktuellen Zählerstand einlesen 75
_me8100CntWrite Zähler konfigurieren und Startwert laden
76
Interrupt-Handling
_me8xDisableInt_me8100DisableInt
Interruptsteuerung deaktivieren 77
_me8xEnableInt_me8100EnableInt
Interruptsteuerung aktivieren 78
_me8100GetIrqCnt Anzahl der Interrupts ermitteln 80
Fehler-Behandlung
_me8xGetDrvErrMess_me8100GetDrvErrMess
Fehlerstring gemäß Fehlercode 81
Funktion Kurzbeschreibung Seite
Tabelle 9: Übersicht der Bibliotheksfunktionen
Meilhaus Electronic Seite 57 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
5.3.1 Allgemeine Funktionen
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Es wird die Kartenversion für eine installierte Karte der Kartenfamilie ME-8100 ermittelt.
● Definitionen
C: int _me8100GetBoardVersion (int iBoardNumber, int *piDevices)
Delphi: Function _me8100GetBoardVersion (iBoardNumber: integer; Var iDevices: integer): integer;
Basic: Declare Function me8100GetBoardVersion Lib "me8100" Alias "_VBme8100GetBoardVersion@8" (ByVal iBoardNumber As Long, iDevices As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<Version> Zeiger auf Integer-Variable, in der die Device-ID zurückgegeben wird. Mögliche Werte sind:
810AHex: ME-8100A810BHex: ME-8100B
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege--ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.)
✎ Beschreibung
Funktion gilt für die Modelle: ME-81 und ME-8100A/B.
Mit Hilfe dieser Funktion kann der erfahrene Programmierer tiefer-gehende Informationen über die spezifizierte Karte ermitteln.
_me8100GetBoardVersion
_me8100GetDevInfo
Funktionsreferenz Seite 58 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
● Definitionen
C: int _me8100GetDevInfo (int iBoardNumber, DEVICEINFOSTRUCT *pDevInfo)
Delphi: Function _me8100GetDevInfo (iBoardNumber: integer; Var DevInfo: DEVICEINFOSTRUCT): integer;
Basic: Declare Function me8100GetDevInfo Lib "me8100" Alias "_VBme8100GetDevInfo@8" (ByVal iBoardNumber As Long, ByVal DevInfo As DEVICEINFOSTRUCT) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<pDevInfo> Struktur die verschiedene Informationen zur Karte zurückgibt:
<dwBoardNumber>Kartennummer der angesprochenen Karte
<dwVendorID>PCI-Hersteller-ID (1402Hex für ME-Karten)
<dwDeviceID>PCI-Geräte-ID
<dwSystemSlotNumber>PCI-Slot-Nr. in dem die angesprochene Karte steckt
<dwPortBase>Basisadresse des ME-Registersatzes
<dwPortCount>Anzahl der durch den ME-Registersatz be-legten Adressen
<dwIntChannel>Interruptkanal
<dwPortBasePLX>Port-Adresse des PCI-Controllers
<dwPortCountPLX>Anzahl der Port-Adressen des PCI-Control-lers
<dwSerialNumber>Seriennummer der Karte
<dwBusNumber>Bus-Nummer des PCI-Buses (meist 0)
<dwHWRevision>Hardware-Version der Karte
Meilhaus Electronic Seite 59 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
<dwIrqCnt>Anzahl der aufgelaufenen Interrupts
<dwVersion>Kartentyp
☞ Beispiel
Das folgende Beispiel gibt einige Elemente der oben beschriebenen Struktur aus:
iErrorCode = _me8100GetDeviceInfo(iBoardNumber, &DevInfo);if (iErrorCode{
printf(“\nTechnical Values:\n“);printf(“Vendor ID: 0x%04x\n, DevInfo.dwVendorID);printf(“Device ID: 0x%04x\n, DevInfo.dwDeviceID);printf(“IOPortBase: 0x%04x\n, DevInfo.dwPortBase);printf(“IOPortPLX: 0x%04x\n, DevInfo.dwPortBasePLX);printf(“IrqLine: 0x%04x\n, DevInfo.dwIntChannel);printf(“SerialNo: 0x%04x\n, DevInfo.dwSerialNumber);
};
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B.
Ermittelt die Versionsnummer der Treiber-DLL.
● Definitionen
C: int _me8xxxGetDLLVersion();
Delphi: Function _me8xxxGetDLLVersion: integer;
Basic: Declare Function me8xxxGetDLLVersion Lib "me8xxx_32" Alias "_VBme8xxxGetDLLVersion@0" () As Long
➔ Parameter keine
_me8xGetDLLVersion _me8100GetDLLVersion
Funktionsreferenz Seite 60 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
❮ Rückgabewert
Versionsnummer. Der 32-Bit-Wert enthält in den höherwertigen 16 Bit die Hauptversion und in den niederwertigen 16 Bit die Unter-version. Beispiel: 0x00020001 ergibt die Version 2.01
✎ Beschreibung
Funktion gilt für die Modelle: ME-81
Ermittelt die Kartenkennung und die karteninterne PROM-ID.
● Definitionen
C: int _me8xxxPROMVersion (int iBoardNumber, int *piVersion;)
Delphi: Function _me8xxxPROMVersion (iBoardNumber: integer; Var iVersion: integer): integer;
Basic: Declare Function me8xxxPROMVersion Lib "me8xxx_32" Alias "_VBme8xxxPROMVersion@8" (ByVal iBoardNumber As Long, ByRef iVersion As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<Version> Zeiger auf Integer-Variable, in der die PROM-ID bzw. Kartenversion zurückgegeben wird. Der Wert wird hexadezimal interpretiert:
<Version> Karte
00810049Hex ME-81
00008100Hex ME-8100A/B
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8xPROMVersion _me8100PROMVersion
Meilhaus Electronic Seite 61 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Diese Funktion gibt Ihnen die Möglichkeit für jede ME-8100 in der Windows-Registry einen mit der Funktion _me8100WriteUserString abgelegten String auszulesen, der den Steckplatz der Karte be-schreibt. Dies ist bei mehreren Karten des gleichen Typs sehr nütz-lich, da aufgrund der dynamischen Ressourcen-Vergabe unter Windows 95/98/NT die Zuordnung von Kartennummer zu installier-ter Karte nicht fest definiert ist.
● Definitionen
C: int _me8100ReadUserString (int iBoardNumber, char* pcUserText, int iMaxLength)
Delphi: Function _me8100ReadUserString (iBoardNumber: integer; Var UserText: string; iMaxLength: integer): integer;
Basic: Declare Function me8100ReadUserString Lib "me8100" Alias "_VBme8100ReadUserString@12" (ByVal iBoardNumber As Long, ByVal UserText As String, ByVal iMaxLength As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<UserText> Textstring der den Einsteckplatz der Karte in Ihrem Rechner beschreibt
<MaxLength> Puffergröße in Anzahl der Zeichen für <Usertext> wird reserviert (empfohlen: max. 128 Zeichen).
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8100ReadUserString
Funktionsreferenz Seite 62 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Diese Funktion schaltet portweise entweder die Sink- oder Source-treiber an den Ausgängen ein (siehe „Ausgangsbeschaltung ME-8100” auf Seite 31). Nach Treiberstart ist der Sink-Treiber ausge-wählt. Außerdem muß nach Treiberstart die Funktion _me8100DIOSetTristateOFF pro Port einmal aufgerufen werden.
● Definitionen
C: int _me8100SetSinkSourceMode (int iBoardNumber, int iRegisterSet, int iMode)
Delphi: Function _me8100SetSinkSourceMode (iBoardNumber: integer; iRegisterSet: integer; iMode: integer): integer;
Basic: Declare Function me8100SetSinkSourceMode Lib "me8100" Alias "_VBme8100SetSinkSourceMode@12" (ByVal iBoardNumber As Long, ByVal iRegisterSet As Long, ByVal iMode As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<RegisterSet>Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<Mode> Auswahl der Ausgangstreiber-Bausteine:
<Sink/Source> Beschreibung
SINK_MODE (00Hex) Sink-Treiber aktiv
SOURCE_MODE (01Hex) Source-Treiber aktiv
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8100SetSinkSourceMode
Meilhaus Electronic Seite 63 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Diese Funktion gibt Ihnen die Möglichkeit für jede ME-8100 in der Windows-Registry einen String abzulegen, der den Steckplatz der Karte beschreibt, z. B.: „Zweite Karte von unten“. Dies ist bei meh-reren Karten des gleichen Typs sehr nützlich, da aufgrund der dyna-mischen Ressourcen-Vergabe unter Windows 95/98/NT die Zuordnung von Kartennummer zu installierter Karte nicht fest definiert ist.
● Definitionen
C: int _me8100WriteUserString (int iBoardNumber, char* pcUserText)
Delphi: Function _me8100WriteUserString (iBoardNumber: integer; Var UserText: string): integer;
Basic: Declare Function me8100WriteUserString Lib "me8100" Alias "_VBme8100WriteUserString@12" (ByVal iBoardNumber As Long, ByVal UserText As String) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<UserText> Textstring der den Einsteckplatz der Karte in Ihrem Rechner beschreibt, z. B.: „Zweite Karte von unten“.
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8100WriteUserString
Funktionsreferenz Seite 64 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
5.3.2 Digitale Ein-/Ausgabe
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Liefert den Zustand einer einzelnen Eingangsleitung zurück.
● Definitionen
C: int _me8xxxDIGetBit (int iBoardNumber, [int iRegisterSet,] int iBitNo, int *piBitValue);
Delphi: Function _me8xxxDIGetBit (iBoardNumber, [iRegisterSet: integer;] iBitNo: integer; Var iBitValue: integer): integer;
Basic: Declare Function me8xxxDIGetBit Lib "me8xxx_32" Alias "_VBme8xxxDIGetBit@12" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] ByVal iBitNo As Long, iBitValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDIGetBit)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<BitNo> Nummer der Eingangsleitung, die abgefragt wer-den soll; möglich sind:
0…15: 16-Bit-Eingangsport der ME-81 bzw. ME-8100
<BitValue> Zeiger auf einen Integerwert, der dann dem Lei-tungszustand ent-sprechend gelesen wird:
0: Leitung auf logisch '0' gesetzt
1: Leitung auf logisch '1' gesetzt
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8xDIGetBit _me8100DIGetBit
Meilhaus Electronic Seite 65 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Mit dieser Funkiton kann das Eingangs-Bitmuster (16 Bit) eingelesen werden, das zum Auslösen eines Interrupts bei „Bitmustergleichheit“ bzw. „Bitmusteränderung“ geführt hat.
Diese Funktion wird nicht von Agilent VEE unterstützt!
● Definitionen
C: int _me8xxxDIGetIntStatus (int iBoardNumber, [int iRegisterSet,] int *iValue);
Delphi: Function _me8xxxDIGetIntStatus (iBoardNumber: integer; [iRegisterSet: integer;] Var iValue: integer): integer;
Basic: Declare Function me8xxxDIGetIntStatus Lib "me8xxx_32" Alias "_VBme8xxxDIGetIntStatus@8" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] iValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me81DIGetIntStatus)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<Value> Zeiger auf gelesenen Integerwert; nur die nieder-wertigen 16 Bits signifikant.
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me81DIGetIntStatus _me8100DIGetIntStatus
Funktionsreferenz Seite 66 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B.
Liest ein Wort von einem 16-Bit Eingangsport der Karte.
● Definitionen
C: int _me8xxxDIGetWord (int iBoardNumber, [int iRegisterSet,] int iPortNo, int *iValue);
Delphi: Function _me8xxxDIGetWord (iBoardNumber: integer; [iRegisterSet: integer;] [iPortNo: integer;] Var iValue: integer): integer;
Basic: Declare Function me8xxxDIGetWord Lib "me8xxx_32" Alias "_VBme8xxxDIGetWord@12" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] [ByVal iPortNo As Long,] iValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDIGetWord)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
[PortNo] (Parameter nicht in _me8100DIGetWord)
hier muß PORTA (00Hex) für den 16 Bit-Ein-gangsport der ME-81 übergeben werden
<Value> Zeiger auf einen Integerwert mit gelesenem Wert; nur die niederwertigen 16 Bits signifikant.
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
_me8xDIGetWord _me8100DIGetWord
Meilhaus Electronic Seite 67 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Mit dieser Funktion kann die Interruptereignis ausgewählt werden. Diese Funktion wird nicht von Agilent VEE unterstützt!
● Definitionen
C: int _me8xxxDIOSetIntMode (int iBoardNumber, [int iRegisterSet,] int iMode);
Delphi: Function _me8xxxDIOSetIntMode (iBoardNumber: integer; [iRegisterSet: integer;] iMode: integer): integer;
Basic: Declare Function me8xxxDIOSetIntMode Lib "me8xxx_32" Alias "_VBme8xxxDIOSetIntMode@8" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] ByVal iMode As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDIOSetIntMode)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<Mode> Interrupt-Modi; mögliche Werte für die ME-81 sind
<Modi ME-81> Beschreibung
NO_INTERRUPT (00Hex) kein Interruptbetrieb
INT_IF_PATTERN (20Hex) Interrupt bei Bitmustergleichheit
INT_IF_MASK (60Hex) Interrupt bei Bit-Änderung
_me8xDIOSetIntMode _me8100DIOSetIntMode
Funktionsreferenz Seite 68 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
mögliche Werte für die ME-8100 sind
<Modi ME-8100> Beschreibung
INTERRUPT_ON_PATTERN_COMPARE (00Hex) Interrupt bei Bitmustergleichheit
INTERRUPT_ON_BIT_CHANGE (01Hex) Interrupt bei Bitmusteränderung
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B.
Funktion schreibt ein 16-Bit-Wort zur Karte, das als Maske mit dem korrespondierenden Eingangsport verknüpft wird. Ändert ein mit ‘1’ maskiertes Bit seinen Zustand, kann ein Interrupt ausgelöst werden (falls freigegeben). Beachten Sie zur Vorgehensweise Kap. 4.1.1.2 „Interrupt bei Bitmuster-Änderung“ auf Seite 46.
● Definitionen
C: int _me8xxxDIOSetMask (int iBoardNumber, [int iRegisterSet,] int iMask);
Delphi: Function _me8xxxDIOSetMask (iBoardNumber: integer; [iRegisterSet: integer;] iMask: integer): integer;
Basic: Declare Function me8xxxDIOSetMask Lib "me8xxx_32" Alias "_VBme8xxxDIOSetMask@8" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] ByVal iMask As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
_me81DIOSetMask _me8100DIOSetMask
Meilhaus Electronic Seite 69 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
[RegisterSet](Parameter nicht in _me8xDIOSetMask)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<Mask> Maskenwert; die Zuordnung zu den Eingängen er-folgt bitweise; mögliche Werte: 0…65535 (0000Hex…FFFFHex)
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Funktion schreibt ein 16-Bit-Wort als Vergleichs-Bitmuster zur Karte. Bei Bitmuster-Gleichheit mit dem korrespondierenden Eingangsport kann ein Interrupt ausgelöst werden (falls freigegeben). Beachten Sie zur Vorgehensweise Kap. 4.1.1.1 „Interrupt bei Bitmuster-Gleichheit“ auf Seite 46.
● Definitionen
C: int _me8xxxDIOSetPattern (int iBoardNumber, [int iRegisterSet,] int iPattern);
Delphi: Function _me8xxxDIOSetPattern (iBoardNumber: integer; [iRegisterSet: integer;] iPattern: integer): integer;
Basic: Declare Function me8xxxDIOSetPattern Lib "me8xxx_32" Alias "_VBme8xxxDIOSetPattern@8" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] ByVal iPattern As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
_me8xDIOSetPattern _me8100DIOSetPattern
Funktionsreferenz Seite 70 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
[RegisterSet](Parameter nicht in _me8xDIOSetPattern)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<Pattern> Vergleichsmuster (16 Bit breit);
Eingänge DI0…15 entsprechen den Bits 0…15 des Vergleichsregisters, mögliche Werte: 0…65535 (0000Hex…FFFFHex)
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B.
Aktiviert die digitalen Ausgangsports der Karte. Vorher in die Regi-ster geschriebene Daten werden an die Ausgänge durchgeschaltet.
☞ Wichtiger Hinweis:
Nach einem Treiberstart muß diese Funktion vor allen Ausgabefunk-tionen einmalig aufgerufen werden.
● Definitionen
C: int _me8xxxDIOSetTristateOFF (int iBoardNumber, [int iRegisterSet]);
Delphi: Function _me8xxxDIOSetTristateOFF (iBoardNumber: integer[; iRegisterSet: integer]): integer;
Basic: Declare Function me8xxxDIOSetTristateOFF Lib "me8xxx_32" Alias "_VBme8xxxDIOSetTristateOFF@4" (ByVal iBoardNumber As Long[, ByVal iRegisterSet As Long]) As Long
_me8xDIOSetTristateOFF _me8100DIOSetTristateOFF
Meilhaus Electronic Seite 71 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDIOSetTristateOFF)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-80, ME-81, ME-8100A/B.
Schaltet die Ausgangsports der Karte in den hochohmigen Zustand. Nach einem Treiberstart befinden sich die Ausgänge ebenfalls im hochohmigen Zustand.
● Definitionen
C: int _me8xxxDIOSetTristateON(int iBoardNumber, [int iRegisterSet]);
Delphi: Function _me8xxxDIOSetTristateON(iBoardNumber: integer[; iRegisterSet: integer]): integer;
Basic: Declare Function me8xxxDIOSetTristateON Lib "me8xxx_32" Alias "_VBme8xxxDIOSetTristateON@4" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long]) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
_me8xDIOSetTristateON _me8100DIOSetTristateON
Funktionsreferenz Seite 72 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
[RegisterSet](Parameter nicht in _me8xDIOSetTristateON)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Setzt eine einzelne digitale Ausgangsleitung in den gewünschten Zu-stand.
☞ Wichtiger Hinweis:
Zur Aktivierung der Ausgänge muß nach Treiberstart die Funktion _me8xxxDIOSetTristateOFF einmalig aufgerufen werden.
● Definitionen
C: int _me8xxxDOSetBit (int iBoardNumber, [int iRegisterSet,] int iBitNo, int iBitValue);
Delphi: function _me8xxxDOSetBit (iBoardNumber: integer; [iRegisterSet: integer;] iBitNo, iBitValue: integer): integer;
Basic: Declare Function me8xxxDOSetBit Lib "me8xxx_32" Alias "_VBme8xxxDOSetBit@12" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] ByVal iBitNo As Long, ByVal iBitValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
_me8xDOSetBit _me8100DOSetBit
Meilhaus Electronic Seite 73 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
[RegisterSet](Parameter nicht in _me8xDOSetBit)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<BitNo> Nummer der Ausgangsleitung, die gesetzt werden soll; möglich sind:
0…15: 16 Bit-Ausgangsport der ME-81 bzw. ME-8100
<BitValue> Mögliche Werte sind:
0: Bit wird auf logisch '0' gesetzt
1: Bit wird auf logisch '1' gesetzt
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Schreibt ein Wort an einen 16-Bit-Ausgangsport.
☞ Wichtiger Hinweis:
Zur Aktivierung der Ausgänge muß nach Treiberstart die Funktion _me8xDIOSetTristateOFF vorher einmalig aufgerufen werden.
● Definitionen
C: int _me8xxxDOSetWord (int iBoardNumber, [int iRegisterSet,] int iPortNo, int iValue);
Delphi: Function _me8xxxDOSetWord (iBoardNumber: integer; [iRegisterSet: integer;] [iPortNo: integer;] iValue: integer): integer;
_me8xDOSetWord _me8100DOSetWord
Funktionsreferenz Seite 74 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Basic: Declare Function me8xxxDOSetWord Lib "me8xxx_32" Alias "_VBme8xxxDOSetWord@12" (ByVal iBoardNumber As Long, [ByVal iRegisterSet As Long,] [ByVal iPortNo As Long,] ByVal iValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDOSetWord)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
[PortNo] (Parameter nicht in _me8100DOSetWord)
hier muß PORTA (00Hex) für den 16 Bit Aus-gangsport der ME-81 übergeben werden
<Value> Ausgabewert; mögliche Werte sind: 0000Hex…FFFFHex (dezimal: 0…65535)
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
5.3.3 Zählerfunktionen
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Puffert bei Funktionsaufruf den aktuellen Zählerstand des gewählten Zählers und liest den Wert ein.
● Definitionen
C: int _me8100CntRead(int iBoardNumber, int iCounter, int *piValue);
Delphi: Function _me8100CntRead(iBoardNumber, iCounter: integer; Var iValue: integer): integer;
_me8100CntRead
Meilhaus Electronic Seite 75 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
Basic: Declare Function me8100CntRead Lib "me8100" Alias "_VBme8100CntRead@12" (ByVal iBoardNumber As Long, ByVal iCounter As Long, iValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<Counter> Zähler, dessen Zählerstand eingelesen werden soll, mögliche Werte sind:
0, 1, 2: Zähler 0…2 der ME-8100A/B
<Value> 16-Bit Wert vom spezifizierten Zähler; es sind nur die niederwertigen 16 Bits signifikant.
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Konfiguriert den gewählten Zähler in der gewünschten Betriebsart und lädt einen 16 Bit Startwert. Der Zähler startet mit Aufruf dieser Funktion (Vorraussetzung: Gate-Eingang mit 0 V beschaltet).
● Definitionen
C: int _me8100CntWrite (int iBoardNumber, int iCounter, int iMode, int iValue);
Delphi: Function _me8100CntWrite(iBoardNumber, iCounter, iMode, iValue: integer): integer;
Basic: Declare Function me8100CntWrite Lib "me8100" Alias "_VBme8100CntWrite@16" (ByVal iBoardNumber As Long, ByVal iCounter As Long, ByVal iMode As Long, ByVal iValue As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
_me8100CntWrite
Funktionsreferenz Seite 76 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
<Counter> Zähler, der konfiguriert und beschrieben werden soll, mögliche Werte sind:
0, 1, 2: Zähler 0…2 der ME-8100A/B
<Mode> Betriebsart des Zählers, mögliche Werte sind:
<Mode> Zähler-Betriebsart
00Hex Modus 0, "Zustandsänderung bei Null-durchgang"
01Hex Modus 1, "Retriggerbarer One-Shot"
02Hex Modus 2, "Asymmetrischer Teiler"
03Hex Modus 3, "Symmetrischer Teiler"
04Hex Modus 4, "Zählerstart durch Software-trigger"
05Hex Modus 5, "Zählerstart durch Hardware-trigger"
<Value> 16-Bit Ladewert für spezifizierten Zähler; mögliche Werte sind:
0…65535 (0000Hex…FFFFHex)
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
5.3.4 Interrupt-Handling
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100.
Deaktivierung der Interruptsteuerung. Beendet eine mit _me8xxxEnableInt gestartete Interruptsteuerung.
☞ Wichtiger Hinweis!
Verwendung dieser Funktion in Agilent VEE nur in Verbindung mit _me8100GetIrqCnt möglich!
● Definitionen
C: int _me8xxxDisableInt (int iBoardNumber, [int iRegisterSet]);
_me8xDisableInt _me8100DisableInt
Meilhaus Electronic Seite 77 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
Delphi: Function _me8xxxDisableInt (iBoardNumber: integer; [iRegisterSet: integer;]):integer;
Basic: nicht realisiert
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xDisableInt)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B.
Die Interruptsteuerung der Karte wird aktiviert. Bei auftretendem Interrupt wird eine vom Anwender definierte Callback-Routine aus-geführt. Wird diese Funktion in Verbindung mit _me8100GetIrqCnt benutzt, so wird anstatt der Interruptfunktion ein Null-Pointer über-geben.
☞ Wichtiger Hinweis!
Verwendung dieser Funktion in Agilent VEE nur in Verbindung mit _me8100GetIrqCnt möglich!
● Definitionen
C: int _me8xxxEnableInt (int iBoardNumber, [int iRegisterSet,] [ME8100_]PSERVICE_PROC IrqFunc[, int iContext]);
_me8xEnableInt _me8100EnableInt
Funktionsreferenz Seite 78 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Delphi: Function _me8xxxEnableInt (iBoardNumber: integer; [iRegisterSet: integer;] IrqFunc: Pointer[; iContext: integer]): integer;
Basic: nicht realisiert
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
[RegisterSet](Parameter nicht in _me8xEnableInt)
Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<IrqFunc> Adresse einer anwenderdefinierten Callback-Rou-tine, die bei einem Interrupt ausgeführt wird. Für die ME-81 ist diese vom Typ:(void PSERVICE_PROC (void)) und für die ME-8100 vom Typ: (void ME8100_PSERVICE_PROC (void))bzw. vom Typ Pointer für Delphi.
[Context] (Parameter nicht in _me8xEnableInt)
Bei der ME-8100 haben Sie die Möglichkeit über diesen Parameter einen Integerwert zur Identifika-tion der Interruptquelle zu übergeben. Z. B. für die zweite installierte ME-8100 mit der <Board-Number> = „1“ und Registersatz B den Wert „4“.
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden.
.
Meilhaus Electronic Seite 79 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
✎ Beschreibung
Funktion gilt für die Modelle: ME-8100A/B.
Diese Funktion ermittelt die Anzahl aller Interrupts seit dem Starten des Gerätes. Zweck dieser Funktion ist es, auch unter grafischen Programmieroberflächen wie AgilentVEE oder LabView™ Interrupt-funktionen zur Verfügung stellen zu können. Wie üblich, muß auch hier die Interruptfunktionalität mit den Funktionen _me8100EnableInt und _me8100DisableInt aktiviert bzw. deakti-viert werden. Durch Abfrage des Zahlenwertes im Parameter piCnt ist es möglich, relativ zu einer vorherigen Abfrage festzustellen, ob ein Interrupt eingetroffen ist oder nicht.
● Definitionen
C: int _me8100GetIrqCnt (int iBoardNumber, int iRegisterSet, int* piCnt);
Delphi: Function _me8100GetIrqCnt (iBoardNumber: integer; iRegisterSet: integer; Var iIrqCnt: integer): integer;
Basic: Declare Function me8100GetIrqCnt Lib "me8100" Alias "_VBme8100GetIrqCnt@8" (ByVal iBoardNumber As Long, ByVal iRegisterSet As Long, ByRef iIrqCnt As Long) As Long
➔ Parameter
<BoardNumber>Nummer der anzusprechenden ME-81/8100 (erste: 0, zweite: 1, x-te: x-1), siehe auch Seite 54
<RegisterSet>Auswahl des Registersatzes (für ME-8100A muß immer REGISTER_SET_A übergeben werden):
<A/B-Auswahl> Beschreibung
REGISTER_SET_A (00Hex) Registersatz für Teil A
REGISTER_SET_B (01Hex) Registersatz für Teil B
<IrqCnt> Anzahl der seit dem Gerätestart eingetroffenen Interrupts.
_me8100GetIrqCnt
Funktionsreferenz Seite 80 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
☞ Beispiel
iErrorCode = _me8100SetSinkSourceMode(0, REGISTER_SET_A, SINK_MODE);iErrorCode = _me8100EnableInt(0, REGISTER_SET_A, 0, 0);iErrorCode = _me8100GetIrqCnt(0, REGISTER_SET_A, &iIrqCntBefore);
Sleep(1000); //auf Interrupts warten
iErrorCode = _me8100GetIrqCnt(0, REGISTER_SET_A, &iIrqCntAfter);iErrorCode = _me8100DisableInt(0, REGISTER_SET_A);IrqCnt = (iIrqCntAfter-iIrqCntBefore);
❮ Rückgabewert
Wurde die Funktion erfolgreich ausgeführt, so wird 1 zurückgege-ben. Im Fehlerfall wird 0 zurückgegeben. Die genaue Fehlerursache kann dann über _me8xxxGetDrvErrMess ermittelt werden
5.3.5 Fehler-Behandlung
✎ Beschreibung
Funktion gilt für die Modelle: ME-81, ME-8100A/B
Falls bei der unmittelbar vorher aufgerufenen API-Funktion des Trei-bers ein Fehler aufgetreten ist, liefert diese Funktion den entspre-chenden Fehlercode mit Fehlertext zurück.
☞ Wichtiger Hinweis!
Diese Funktion darf nur aufgerufen werden, wenn die unmittelbar vorher aufgerufene API-Funktion der ME8x_32.DLL bzw. ME8100.DLL fehlerhaft (d. h. Funktionswert 0) ausgeführt wurde!
● Definitionen
C: int _me8xxxGetDrvErrMess (char *pcErrortext[, int iBufferSize]);
Delphi: Function _me8xxxGetDrvErrMess (Var errortext: errorstring[; iBufferSize: integer]): integer;
Basic: Declare Function me8xxxGetDrvErrMess Lib "me8xxx_32" Alias "_VBme8xxxGetDrvErrMess@4" (ByVal errortext As String[, ByVal iBufferSize As Long]) As Long
_me8xGetDrvErrMess _me8100GetDrvErrMess
Meilhaus Electronic Seite 81 Funktionsreferenz
Rev. 1.3D Handbuch ME-81, ME-8100
➔ Parameter
<Errortext> Zeiger auf Fehlertext; der Fehlercode wird als Funktionswert zurückgegeben.
[BufferSize] (Parameter nicht in _me8xGetDrvErrMess)
Puffergröße in Anzahl der Zeichen für Fehlertext wird reserviert (empfohlen: max. 128 Zeichen).
❮ Rückgabewert
0, falls kein Fehler aufgetreten ist oder Fehlercode entsprechend auf-getretenem Fehler
Funktionsreferenz Seite 82 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Anhang
A Spezifikationen
PC-InterfaceBus-System ISA-Bus (8 Bit); (je nach Modell) Standard PCI (32 Bit, 33 MHz);
CompactPCI (32 Bit, 33 MHz)Basisadresse ISA
000Hex…3F0Hex in Schritten von 10Hex einstellbar (Jumper)PCI, cPCI:Automatische Zuweisung der Basisadresse unter Windows 95/98/NT
Interrupts ISA:IRQ2, 3, 5, 7, 10, 11, 12, 15 (Jumper)PCI, cPCI:Automatische Zuweisung des Interrupt-Ka-nals unter Windows 95/98/NT
Digitale EingängeAnzahl ME-81, ME-8100A: 16, optoentkoppelt
ME-8100B: 32, optoentkoppeltSchaltfrequenz max. 1 kHz (abhängig von Betriebssystem
und Anwendersoftware)Eingangs-Pegel typ. 24 V ±2 VEingangsstrom 10 mA pro KanalBetriebsarten Einfaches Einlesen;
Bitmuster-Vergleich;Bit-Änderung
Interrupt-Ereignis Bitmustergleichheit oder bei Bit-Änderung eines ausmaskierten Eingangs-Bits
Digitale Ausgänge Anzahl ME-81, ME-8100A: 16, optoentkoppelt
ME-8100B: 32, optoentkoppeltSchaltfrequenz max. 1 kHz (abhängig von Betriebssystem
und Anwendersoftware)Ausgangs-Pegel typ. 24 V (von ext. Versorgung abhängig)
Meilhaus Electronic Seite 83 Spezifikationen
Rev. 1.3D Handbuch ME-81, ME-8100
Ausgangstreiber ME-81: Sink-Treiber (ULN2803)ME-8100A/B: portweise per Software Sink-Treiber (ULN2803) oder Source-Treiber (UDN2982) aktivierbar
Ausgangsstrom Der max. Strom pro Ausgang hängt im we-sentlichen von der Anzahl der benutzten Ausgänge pro Baustein und vom Tastver-hältnis ab.
ULN2803:
UDN2982:
Zähler/ZeitgeberAnzahl ME-8100A/B: 3 voneinander unabhängigTyp 82C54Auflösung 16 BitTakt-Signal (Clk) optoisoliert, Eingangsspg. typ. 24 VGate-Signal (Gate) optoisoliert, low-aktiv, Eingangsspg.
typ. 24 V
Anzahl der gleichzeitig treibenden Ausgänge:8 7 6 5 4 3 2
Max
. Kol
lekt
orst
rom
bei
70°
C [m
A]
00
600
500
400
300
200
100
100908070605040302010Tastverhältnis [%]
Empfohlener max. Strom
Anzahl der gleichzeitig treibenden Ausgänge:
87
6
5
4
3
Max
. Kol
lekt
orst
rom
bei
70°
C [m
A]
00
300
250
200
150
100
50
100908070605040302010Tastverhältnis [%]
Empfohlener max. Strom350
400
Spezifikationen Seite 84 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
Zähler-Ausgang (Out) optoisoliert, Ausgangsspg. typ. 24 V (von ext. Versorgung abhängig)
Zählertakt extern bis max. 1 MHz
Allgemeine DatenStromverbrauch bei +5 V ME-81: typ. 0,8 A (ohne ext. Last)
ME-8100A/B: typ. 1,3 A (ohne ext. Last)Kartenabmessungen ME-81 ISA: 100 mm x 180 mm(ohne Slotblech ME-8100 PCI: 174 mm x 98 mm und Stecker) ME-8100 cPCI:
CompactPCI-Karte mit 3 HEAnschlüsse ME-81 ISA:
37polige Sub-D BuchseME-8100 PCI und cPCI:78polige Sub-D Buchse
Betriebstemperatur 0…70°CLagertemperatur 0…50 °CLuftfeuchtigkeit 20…55% (nicht kondensierend)
CE-ZertifizierungEG-Richtlinie 89/336/EMCEmission EN 55022Störfestigkeit EN 50082-2
Meilhaus Electronic Seite 85 Spezifikationen
Rev. 1.3D Handbuch ME-81, ME-8100
B Anschlußbelegungen
B1 ME-8100A/B PCI und cPCI
Abb. 17: Belegung der 78poligen Sub-D-Buchse ME-8100A/B
DO
Por
t A
DO
Por
t BD
I Por
t B
DI P
ort A
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
ext. V+
DO_A 7
DO_A 6
DO_A 5
DO_A 4
DO_A 3
DO_A 2
DO_A 1
DO_A 0
ext. GND
ext. V+
ext. GND
DI_A 7
DI_A 6
DI_A 5
DI_A 4
DI_A 3
DI_A 2
DI_A 1
DI_A 0
ext. GND
Out 1
Gate 1
Clk 1
DO_B 7
DO_B 6
DO_B 5
DO_B 4
DO_B 3
DO_B 2
DO_B 1
DO_B 0
DI_B 7
DI_B 6
DI_B 5
DI_B 4
DI_B 3
DI_B 2
DI_B 1
DI_B 0
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
Out 2
Gate 2
Clk 2
DO_B 15
DO_B 14
DO_B 13
DO_B 12
DO_B 11
DO_B 10
DO_B 9
DO_B 8
DI_B 15
DI_B 14
DI_B 13
DI_B 12
DI_B 11
DI_B 10
DI_B 9
DI_B 8
Out 0
Gate 0
Clk 0
DO_A 15
DO_A 14
DO_A 13
DO_A 12
DO_A 11
DO_A 10
DO_A 9
DO_A 8
DI_A 15
DI_A 14
DI_A 13
DI_A 12
DI_A 11
DI_A 10
DI_A 9
DI_A 8
Anschlußbelegungen Seite 86 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
B2 ME-81 ISA
Abb. 18: Belegung der 37poligen Sub-D-Buchse ME-81 ISA
DO 0DO 2DO 4DO 6DO 8DO 10DO 12DO 14ext. GND (DO-Teil)ext. GND (DI-Teil)DI 1DI 3DI 5DI 7DI 9DI 11DI 13DI 15
123456789
10111213141516171819
202122232425262728293031323334353637
ext. GND (DO-Teil)DO 1DO 3DO 5DO 7DO 9
DO 11DO 13DO 15
ext. V+ (DO-Teil)DI 0DI 2DI 4DI 6DI 8
DI 10DI 12DI 14
ext. GND (DI-Teil)
Meilhaus Electronic Seite 87 Anschlußbelegungen
Rev. 1.3D Handbuch ME-81, ME-8100
C Zubehör
Als Optionen sind folgende Produkte erhältlich (weitere Informa-tionen über Zusatzprodukte entnehmen Sie bitte dem MeilhausElectronic Gesamtkatalog)
ME-AB-D37M
37poliger Sub-D Anschluß-Block (Stecker) für ME-81 ISA
ME-AB-D78M
78poliger Sub-D Anschluß-Block (Stecker) für ME-8100A,ME-8100B PCI und cPCI
ME-AK-D37
37poliges Sub-D Anschluß-Kabel (Stecker-Buchse), 2 m, fürME-81 ISA
ME-AK-D78
78poliges Sub-D Anschluß-Kabel (Stecker-Buchse), 2 m, fürME-8100A, ME-8100B PCI und cPCI
Zubehör Seite 88 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
D Technische Fragen
D1 Fax-Hotline
Sollten Sie technische Fragen oder Probleme haben, die auf dieKarte zurückzuführen sind, dann schicken Sie bitte eine ausführ-liche Problembeschreibung an unsere Hotline:
Fax-Hotline: (++49) (0)89 - 89 01 66-28eMail: support@meilhaus.de
D2 Serviceadresse
Wir hoffen, daß Sie diesen Teil des Handbuches nie benötigenwerden. Sollte bei Ihrer Karte jedoch ein technischer Defekt auf-treten, wenden Sie sich bitte an:
Meilhaus Electronic GmbH
Abteilung ReparaturenFischerstraße 2D-82178 Puchheim
Falls Sie Ihre Karte zur Reparatur an uns zurücksenden wollen,legen Sie bitte unbedingt eine ausführliche Fehlerbeschreibungbei, inkl. Angaben zu Ihrem Rechner/System und verwendeterSoftware!
D3 Treiber-Update
Auf unserem FTP-Server stehen die aktuellen Treiberversionenrund um die Uhr für Sie bereit. Zuvor müssen Sie sich jedochüber unsere Homepage (http://www.meilhaus.de) anmelden, dader Zugang zum FTP-Server mit einem Paßwort geschützt ist.Dieses erhalten Sie dann umgehend per eMail oder Fax. In be-sonders dringenden Fällen auch telefonisch unter:(++49) (0)89/ 89 01 66-0)
Meilhaus Electronic Seite 89 Technische Fragen
Rev. 1.3D Handbuch ME-81, ME-8100
Technische Fragen Seite 90 Meilhaus Electronic
Handbuch ME-81, ME-8100 Rev. 1.3D
E Index
Funktionsreferenz_me8100CntRead 75_me8100CntWrite 76_me8100DIGetIntStatus 66_me8100DIGetWord 67_me8100DIOSetIntMode 68_me8100DIOSetMask 69_me8100DIOSetPattern 70_me8100DIOSetTristateOFF 71_me8100DIOSetTristateON 72_me8100DisableInt 77_me8100DOSetBit 73_me8100DOSetWord 74_me8100GetBoardVersion 58_me8100GetDevInfo 58_me8100GetDLLVersion 60_me8100GetDrvErrMess 81_me8100GetIrqCnt 80_me8100PROMVersion 61_me8100ReadUserString 62_me8100SetSinkSourceMode 63_me8100WriteUserString 64_me81DIGetIntStatus 66_me81DIOSetMask 69_me8xDIGetBit 65_me8xDIGetWord 67_me8xDIOSetIntMode 68_me8xDIOSetPattern 70_me8xDIOSetTristateOFF 71_me8xDIOSetTristateON 72_me8xDisableInt 77_me8xDOSetBit 73_me8xDOSetWord 74_me8xEnableInt 78_me8xGetDLLVersion 60_me8xGetDrvErrMess 81_me8xPROMVersion 61
Meilhaus Electronic Seite
AAktualisierung der Systemtreiber 21Allgemeine Funktionen
_me8100GetBoardVersion 58_me8100GetDevInfo 58_me8100GetDLLVersion 60_me8100PROMVersion 61_me8100ReadUserString 62_me8100SetSinkSourceMode 63_me8100WriteUserString 64_me8xGetDLLVersion 60_me8xPROMVersion 61
Anhang 83Anschlußbelegungen 86Anschluß-Blöcke 88Anschluß-Kabel 88API-DLL 53API-Funktionen 56
BBasic-Programmierung 45Basisadresse 14Beispielprogramme 47Beschaltung
der Ausgänge ME-81 29der Ausgänge ME-8100 31der Eingänge ME-81 28der Eingänge ME-8100 30
Beschreibung der API-Funktionen 56
Betriebsarten 26Blockschaltbilder 25
CC-Programmierung 45
DDeinstallation 23
des Treibersystems 23einer einzelnen Karte 23
91 Index
Rev. 1.3D Handbuch ME-81, ME-8100
Delphi-Programmierung 45Dialog-DLL 53Digitale Ein-/Ausgabe
_me8100DIGetBit 65_me8100DIGetIntStatus 66_me8100DIGetWord 67_me8100DIOSetIntMode 68_me8100DIOSetMask 69_me8100DIOSetPattern 70_me8100DIOSetTristateOFF 71_me8100DIOSetTristateON 72_me8100DOSetBit 73_me8100DOSetWord 74_me81DIGetIntStatus 66_me81DIOSetMask 69_me8xDIGetBit 65_me8xDIGetWord 67_me8xDIOSetIntMode 68_me8xDIOSetPattern 70_me8xDIOSetTristateOFF 71_me8xDIOSetTristateON 72_me8xDOSetBit 73_me8xDOSetWord 74
EEinführung 7
FFax-Hotline 89Fehler-Behandlung
_me8100GetDrvErrMess 81_me8xGetDrvErrMess 81
Funktionsreferenz 53Funktionsweise des 32 Bit-Treibers
53H
Hardware-Beschreibung 25I
Installation der HardwareCompactPCI-Modelle 12ISA-Modelle 13PCI-Modelle 11
Index Seit
Installation der Softwarefür ISA-Karte unter Windows 95/
98/NT 19für PCI/cPCI-Karte unter Win-
dows 95/98 16für PCI/cPCI-Karte unter Win-
dows NT 4.0 18Interrupt-Handling
_me8100DisableInt 77_me8100GetIrqCnt 80_me8xDisableInt 77_me8xEnableInt 78
Interrupt-Jumper 15J
Jumper-Einstellungen 14K
Karteneinstellungen ändern 22Kaskadierung der Zähler 34Kernel-Treiber 53
LLabVIEW™
Demoprgramme 50Programmierung 49Virtual Instruments 49
Leistungsmerkmale 8Lieferumfang 7
MME Board Menü 49Modell-Übersicht 8
NNomenklatur 54
PPosition der Jumper 13Programmierung
auf Registerebene 50unter Hochsprachen 45unter VEE 48Vorgehensweise 46
RRegisterbeschreibung 36
e 92 Meilhaus Electronic
Rev. 1.3D Handbuch ME-81, ME-8100
Registerprogrammierung 50S
Serviceadresse 89Spezifikationen 83Standardeinstellungen 15Sub-D Buchse
ME-81 87ME-8100A/B 86
Systemanforderungen 9T
Technische Fragen 89Testprogramm 43Treiberinstallation 16Treiber-Update 89
VVEE
Demoprogramme 48ME Board Menü 49Programmierung 48User Objects 48
VxD-Treiber 53W
Wichtiger Hinweis für die ISA-Ver-sionen 9
ZZählerfunktionen
_me8100CntRead 75_me8100CntWrite 76
Zähler-Register (8254) 38Zubehör 88
Index Seit
e 93 Meilhaus ElectronicRecommended