#$K+ Inhalt Das Programm LTC1291 dient zur Demonstration des 2fach 12-bit-ADU am Druckerport eines PCs sowie zur praktischen Messdatenerfassung damit. Es unterstützt Zweikanalbetrieb, eine lineare Skalierung, frei wählbare Einheiten (die in der Unicode-Version auch Sonderzeichen wie umfasst) sowie ein ausreichendes DDE-Interface. Eingebaute Unterstützung des direkten Portzugriffs unter NT-basierten Systemen vereinfacht die Verwendung dieses Programms unter NT/2K/XP. Es sind Administratorrechte erforderlich! Einführung, Schaltung Druckerport-Dialog Koeffizienten-Dialog DDE h#s © Technische Universität Chemnitz, Fachbereich Mess- und Sensortechnik, 08/04 #1 $ Inhalt K Index; Inhalt +1 #$K+ Einführung in die Software Mindestanforderung: Windows 3.1 mit Win32s; Windows 9x,Me; Windows NT 3.51 oder höher, Windows 2000, Windows XP, Windows 2003 (ungetestet). Eine freie parallele Schnittstelle (Druckerport). Administrator-Rechte (NT-basierte Systeme). Zum Betrieb genügen normale Rechte, wenn der Treiber durch einmaligen Aufruf des Programms installiert wurde. Das Programm ist nicht mehrbenutzer-fähig! (Betrifft Windows XP: Bitte nur 1x starten!) Inhalt der ZIP-Datei: Das Programmpaket besteht aus: LTC1291.EXE 32-bit-Programm, auch unter Win32s (Windows 3.x) lauffähig LTC1291W.EXE Unicode-Version, nur unter NT-basierten Systemen lauffähig. Von Vorteil ist, dass Sonderzeichen als Einheit verarbeitet werden können. LTC1291.HLP Diese Hilfedatei PORTTALK.SYS Treiberdatei für direkten Portzugriff unter NT-basierten Systemen. Der Treiber wird automatisch geladen; zur Installation sind Administratorrechte erforderlich! ltc1291.c allowio.c, allowio.h wutils.c, wutils.h ltc1291.rc, ltc1291.ico ltc1291.hpj, ltc1291.rtf ltc1291.dsp ltc1291.ide Quelltext Hauptprogramm (klassische Win32-API, Dialogbox als Hauptfenster) Quelltext für Verwendung von porttalk.sys Quelltext für wiederkehrende h#s-Funktionen Ressourcen-Quelle (erstellt mit Resource Workshop 3.5) Hilfe-Quelle (erstellt mit WinWord 2.0, übersetzen mit rtfmod -e und hcp) Projektdatei für Visual C++ 6.0 Projektdatei für Borland C++ 5.0 Schaltplan: Stromversorgung vom PC (optional) 1 8 CS 2 VCC (V REF ) CH0 CLK CH1 DOUT GND D IN 3 7 Die Software legt D0..D7 auf HIGH 100 nF 22 µF 6 4 5 1 14 13 25 LTC1291 Datenflussrichtung (digital) Anschlusserkennung (zum Präsenztest) Parallelport Analoge Eingänge, 0..5 V entsprechend 0..4093 (12-bit-ADU) Die Anschlussbelegung ist auch tabellarisch im Druckerport-Dialog ersichtlich! Betriebsweise: Die Software fragt zyklisch, per Windows-Zeitgeber (ungenau!), den Wert beider A/D-Wandler ab und stellt diesen, ggf. umgerechnet und mit Einheit, dar. #A $ Einführung K Einführung; Hardware; Software +1 Die Abfrage erfolgt stets mit MSB zuerst (fest programmiert). Der Power-Down-Betrieb des Schaltkreises (siehe Datenblatt) wird zurzeit nicht benutzt. #$K+ Druckerport-Dialog Hier stellen Sie folgendes ein: Druckerport: Weil es keinen gängigen Weg gibt, die Portadresse abzufragen, müssen Sie als Anwender die Adresse Ihres Druckerports kennen, siehe BIOS-Setup. Standard: LPT1 (0x378), stimmt beinahe immer. KAbfragehäufigkeit: Millisekunden zwischen zwei A/D-Wandler-Abfragen. Kleine Werte erhöhen die Rechnerbelastung. Weniger als 50 ms wird von Windows ohnehin ignoriert. Standard: 1000, also 1 Sekunde. Zuordnung: Hiermit können Sie die Schaltung aufbauen oder kontrollieren. Achtung: Es wird nicht automatisch gespeichert, aus Sicherheit vor Spielmätzen. Das Speichern dieser Einstellungen erfolgt mit dem entsprechenden Menüpunkt. # $ Druckerport-Dialog K Druckerport +1 K Abfragehäufigkeit; TimeOut #$K+ Koeffizienten-Dialog Folgende Punkte, getrennt für jeden Kanal: KSkalierung: Faktor für den A/D-Wert (der seinerseits zwischen 0 für 0 V und 4095 für 5 V liegt). Bei der Eingabe sind Komma und Punkt als Dezimaltrenner erlaubt. Standard: 1, also 1:1. Beispiel: 0,001221 = 5/4096, zur Anzeige der Spannung in Volt, vorausgesetzt, die Betriebs- und Referenzspannung beträgt exakt 5 V. KOffset (Nullverschiebung): Subtrahend für den skalierten A/D-Wert. Also mit Einheit denken! Bei der Eingabe sind Komma und Punkt als Dezimaltrenner erlaubt. Standard: 0, keine Nullverschiebung. Beispiel: 0,0006105 = 2,5/4096, zur Anzeige von Null bei anliegender Spannung von 2,5 V bei obiger Beispiel-Skalierung. KKommastellen: Anzahl der anzuzeigenden Nachkommastellen. (Angezeigt wird Komma oder Punkt je nach Systemsteuerung.) Standard: 0, keine Nachkommastellen. Beispiel: 3 als sinnvolles Maß für o. g. Beispiel. Bitte maßvoll je nach Skalierung wählen! Max. 6 ist erlaubt. KEinheit: Anzuzeigende Einheit (beliebige Zeichenkette aus max. 8 Zeichen). Die Anzeige ist auf den Windows-Zeichensatz begrenzt (ANSI-Version LTC1291.EXE). Mit der Unicode-Version LTC1291W.EXE können alle im Times-Font verfügbaren Zeichen dargestellt werden, wer will/kann, auch chinesisch. Standard: keine Einheit. Beispiel: V (für Volt). Bei tausendfacher Skalierung auch mV (Millivolt). KDifferenziell: Anzuzeigende Einheit (beliebige Zeichenkette aus max. 8 Zeichen). Standard: aus. Beispiel: ein für differenziellen Betrieb. Siehe Datenblatt. Die zweite Anzeige ist dann ziemlich sinnlos. Achtung: Es wird nicht automatisch gespeichert, aus Sicherheit vor Spielmätzen. Das Speichern dieser Einstellungen erfolgt mit dem entsprechenden Menüpunkt. # $ Koeffizienten-Dialog K Koeffizienten +1 K Skalierung K Offset; Nullverschiebung K Kommastellen K Einheit K Differenzieller Betrieb #$K+ DDE Das Programm unterstützt nur REQUEST (Abfrage) und ADVISE (automatische Benachrichtigung bei Veränderung) für folgende Variablen: Service (Application): LTC1291 Thema (Topic): LTC1291 Element (Item): 0 (Kanal 0) Element (Item): 1 (Kanal 1) Bei aktiver ADVISE-Schleife wird das sonst blau unterlegte Ausgabefeld gelb unterlegt („Haftmannsche Gelbsucht“). Hinweis: Benutzen Sie ein geeignetes DDE-Log-Programm als Datenlogger. Sehr simpel in HP VEE oder LabView realisierbar, etwas komplizierter in VC oder VBA. # $ DDE K DDE +1