So arbeitet Treiber-Soft- ware für PC-Messkarten - All

Transcription

So arbeitet Treiber-Soft- ware für PC-Messkarten - All
MESSTECHNIK
So arbeitet Treiber-Software für PC-Messkarten
Ernst Bratz
Hersteller von PC-Messkarten müssen dem Anwender einerseits Funktionsbibliotheken bieten, die eine einfache Einbindung in möglichst viele Entwicklungsumgebungen und Betriebssysteme ermöglichen. Andererseits dürfen diese Funktionen den Entwickler jedoch nicht einschränken und sollten die Offenheit der PC-Karte auf Software-Ebene fortführen.
P
C-Messkarten sollen offen für verschiedene Applikationen sein, viele
Funktionen bieten und dennoch auf
Hard- und Software-Ebene möglichst einfach integrierbar sein – und zwar über die
einfache Plug’n’Play-Installation hinaus. In
diesem Bereich sind Standardisierungen ungleich schwieriger als z. B. bei den Messgeräten, wo sie schon früh mit den IEEE488.2 Common Commands, SCPI etc. realisiert wurden. Zwar können natürlich auch
Messgeräte sehr komplex sein, doch haben
sie meistens einen relativ abgeschlossenen
Funktionsumfang für gängige Messvorgänge (z. B. DMMs oder Oszilloskope). Eine
Multi-E/A-Karte hingegen kann einfach nur
Relais, Ventile oder eine Lampe an-/ausschalten, eine einfache Spannung messen,
bis hin zur Steuerung ganzer automatisierter Vorgänge, Regelkreise oder MultikanalMesssysteme.
Daher gehört es schon immer zur Philosophie der Firma Meilhaus Electronic, ihre PC
Mess- und Schnittstellen-Karten inklusive
hochwertiger und flexibler Support-Software auszuliefern. Die Messkarten der MESerie werden inklusive der ME-Power-CD
vertrieben, die Software-Treiber für verschiedenen Entwicklungsumgebungen un-
ter Windows (darunter C, Agilent VEE und
LabVIEW) enthält. Zudem sind je nach Modell Treiber für Linux, QNX und VxWorks im
Lieferumfang. Die Spezialisten der ME Software-Abteilung übernehmen bei der Treiber-Entwicklung die Aufgabe der Programmierung auf Register-Ebene.
DAQ-Karten-Treiber
unter Windows
Bild 1 zeigt, wie das ME-Treibersystem in
die Windows-Umgebung eingebettet ist.
Der im Bild rot hinterlegte Bereich stellt dabei das ME-Treibersystem selbst dar. Der
Treiber besteht aus drei Schichten. Die Aufgabe des Treibers auf unterstem Level ist es,
eine Verbindung zwischen dem Betriebssystem und der Hardware der Messkarte herzustellen. Dabei sind die 32-bit-Treiber für
die Windows Treiber-Architektur WDM
(Windows Driver Model) entwickelt. Die
WDM-Architektur wurde bisher in Windows
98/Me, 2000 und XP implementiert. Zur Unterstützung der Karte unter Windows NT
4.0 (alle Unterversionen bzw. Service Packs)
steht zusätzlich ein herkömmlicher KernelTreiber zur Verfügung. Einige Karten werden zusätzlich noch unter Windows 95
unterstützt. Für diese wird ein VxD-Treiber
mitgeliefert. Die Treiber bieten PCI-Karten
Multiprozessor-Fähigkeit sowie Shared Interrupt, also die Möglichkeit, mehrere PCIKarten auf einem Interrupt laufen zu lassen.
In der Schicht darüber angeordnet befindet sich
die DLL, welche die
Schnittstelle zu den Hochsprachen bildet. Das METreibersystem bietet hier
eine komfortable, hardware-unabhängige Programmier-Schnittstelle
(API Application Programming Interface). Zum Programmieren kann der Anwender zwischen Visual
C++, Visual Basic, BorBild 1: Die Einbettung des ME-TreiberSystems in die land C/C Builder und DelWindows-Umgebung.
phi wählen. Die Funktio-
42
nen der Treiber verwenden eine leicht verständliche und von Kartenmodell zu Kartenmodell weit gehend konsistente Nomenklatur. Die API-Funktionen beginnen mit einem
Karten-spezifischen Präfix, z. B. me4000.
Die Funktionen selbst hängen natürlich von
den Features der PC-Messkarte ab. So bieten die Karten mit Analog-Eingängen z. B.
Funktionen für die Konfiguration des A/DTeils (AIConfig) oder Routinen zum Erfassen
von Werten in verschiedenen Betriebsarten:
AIContinuous zum Erfassung einer unbekannten Anzahl an Messwerten, AIScan
zum Erfassung einer bekannten Anzahl an
Messwerten, AISingle zur Einzelwert-Messung etc. Praktische Hilfs-Funktionen wie
AIDigitToVolt zur Umrechnung des DigitWertes in einen Spannungswert unterstützen den Programmierer über die Grundfunktionen der Karten hinaus.
Für Agilent VEE und LabVIEW gibt es eine
dritte Treiber-Schicht, die das Einbinden der
Hardware in diese Software-EntwicklungsUmgebungen übernimmt. Das ME-TreiberSystem ist z. B. so in die Menü-Struktur der
VEE Entwicklungs-Umgebung integriert,
dass es als VEE Pull-Down Menü erscheint,
wenn das ME-TreiberSystem für VEE installiert wurde. Als erste Menü-Ebene erhält
man eine Auswahl der unterstützten MEKarten. Die zweite Menü-Ebene beinhaltet
die Funktions-Gruppen Analog Input, Analog Output, Digital I/O sowie kartenspezifische Sonderfunktionen.
Die dritte Menü-Ebene schließlich enthält
die eigentlichen Messfunktionen wie zum
Beispiel me4000AIConfig oder me4000AISingle. Für einige Karten aus dem ME-Spektrum sind zudem Treiber für DASYLab vorhanden oder in Vorbereitung.
Die Applikations-Ebene
Die oberste Schicht in Bild 1, die Applikations-Ebene, befindet sich weit gehend in
der Hand des Anwenders, da Meilhaus sich
als Zulieferer von System-Komponenten, jedoch nicht als Systemhaus sieht. Hier steht
die konkrete Applikation im Vordergrund,
die der System-Integrator mit Hilfe der Treiber individuell, flexibel und vollkommen frei
elektronik industrie 03-2004
MESSTECHNIK
entwickelt. Meilhaus liefert in dieser Ebene
jedoch zahlreiche, sehr praktische Programmier-Beispiele bzw. Projekte, die den Einstieg in die Applikations-Entwicklung erleichtern. Die zusätzlich auf der Support
CD-ROM enthaltenen Test-Programme können zum einfachen Funktions-Test der Karten verwendet werden. Für einige KartenModelle ist zudem die Software MEsslabor
im Lieferumfang enthalten. Hierbei handelt
es sich um abgeschlossene Agilent VEE Runtime-Programme (Runtime-Programme sind
ohne die Entwicklungsumgebung lauffähige VEE-Programme, die auch weitergegeben werden dürfen). Die MEsslabor-Software zusammen mit einer ME-Messkarte
macht den PC – je nach Karten-Funktionen
– zu einer universellen Messstation,
z. B. mit AC- und DC-Voltmeter, einem
Dtenschreiber, einem einfachen Oszilloskop,
automatischer
Messprotokoll-Funktion,
Schalten und Überwachen von digitalen
Ein-/Ausgängen etc. Beim MEsslabor zur
Analog-Ausgabe-Karte ME-6100 sogar wird
ein virtueller Waveform-Generator realisiert.
Treiber RS232 und 485
Bild 2: Die Einbettung des ME-TreiberSystems in die Linux-Umgebung.
Mit dem Treiber für die seriellen InterfaceKarten (ME-9300, ME-9100i, ME-9000(i))
können die Ports der Karten vollständig in
das Windows-PC-System integriert werden,
als ob es sich hier um ganz normale Standard-Schnittstellen des PC-Mainboards handeln würde, jedoch mit den besonderen
Eigenschaften der jeweiligen SchnittstellenKarten wie Opto-Isolation, HighspeedBaudraten und großzügigem FIFO für geringe Systembelastung. Wie die RS232Modelle sind auch die RS485-Versionen so
in das Windows-Gesamtsystem integriert,
dass sie als ganz normale Schnittstelle angesprochen werden können. Es wäre z. B. ein-
fach möglich, einen RS485-Port über das
Windows-eigene Hyper Terminal oder entsprechende Software-Fremdprodukte anzusprechen.
Linux, QNX und VxWorks
Für Linux liefert Meilhaus Electronic Treiber
und Beispiel-Programme im Quellcode unter der GPL (GNU General Public License) für
Kernel 2.0 - 2.4. Der Treiber besteht aus einem Kernel-Modul und einer Funktions-Bibliothek (Bild 2), die über ein Shell-Skript
vollautomatisch installiert werden. Die Beispiele demonstrieren den Einsatz der Treiber
unter C. Zusätzlich sind Treiber und BeispielProgramme für LabVIEW beigelegt. Für einige Karten werden zudem Treiber und Beispiel-Programme im Quellcode unter der
QNX Community License für QNX 6 (für
x86-basierende Systeme) mitgeliefert. Unter
VxWorks 5.4.2 für x86-basierende Systeme
sind weitere Treiber und Beispiel-Programme enthalten. Die Treiber für beide Betriebssystemen werden von ANSI C aus angesprochen.(jj)
www.meilhaus.com
Meilhaus Electronic
401
200-MHz-DSOs
mit serieller Busanalyse
Im Bereich der 200-MHzScopes bietet Yokogawa
mit der SignalExplorer-Serie
DL1600 zwei- und vierkanalige DSOs mit Speichertiefen
bis zu 32 M Worte/Kanal an.
Die neue Option Serielle-BusAnalyse für die 4-kanaligen
Geräte ermöglicht eine komfortable Triggerung und Analyse von seriellen Datenbussen wie I2C, SPI und CAN. Im
Gegensatz zu reinen Protokoll-Analysatoren ist hier die
Untersuchung der untersten,
physikalischen Ebene von seriellen Bussen möglich. Bei
der CAN-Bus-Analyse werden
Bitraten von 33,3 kbit/s bis
1 Mbit/s unterstützt. Die Trig-
elektronik industrie 03-2004
gerung erfolgt auf beliebige Frames (SOF), Identifier,
RTR, Error Frame, usw.
Darüber hinaus ist auch eine Stuff-Bit-Berechnung
möglich. Die I2C-Bus-Analyse ermöglicht Transferraten bis zu 3,4 Mbit/s im
7-Bit-Adressmodus, wobei
zwei unabhängige Bussysteme alternativ ausgewertet
werden können. Zahlreiche
kombinatorische Triggermöglichkeiten und Datensuchfunktionen erleichtern die
Busanalyse. Ähnliches gilt für
die SPI-Analyse mit umfangreichen Suchfunktionen und
Datenanalyse
von
max.
40 kByte. Die Anzeige erfolgt
sowohl grafisch als Kurvenform wie auch im Listenformat, wobei der Zoom-Ausschnitt automatisch an die
Daten angepasst wird. (jj)
www.yokogawa-mt.de
Yokogawa
407
43

Documents pareils