File: /~heha/hs/UNI-T/dmm.zip/liesmich.txt

Das Programm DMM.EXE dient zum Auslesen und Anzeigen der
Daten aus (vor allem) (chinesischen) Uni-Trend-Messgeräten.
Zur Weiterverarbeitung der Messdaten steht eine DDE-Schnittstelle zur Verfügung.
Das Programm hat ein Plugin-Interface (*.dmm-Dateien) für beliebige weitere Messgeräte
mit ähnlichem Funktionsprinzip.
Das Interface ist vorerst undokumentiert, weil stark veränderungsträchtig.
Bei Eigeninteresse die Quelltexte durchwühlen! Diese sind vornehmlich auf VC6 zugeschnitten.

Installation (unter Vista/2008/7 je nach Zielverzeichnis Admin-Rechte erforderlich):
* Windows 2000/XP/2003/Vista/2008/7 (32 bit):
  - Kopieren von dmm.exe, he2325u.dll und *.dmm in ein beliebiges Verzeichnis, bspw.
    nach C:\Programme\DMM

* Windows 95/98/Me:
  - Kopieren von Win9xMe\dmm.exe, he2325u.dll und *.dmm in ein beliebiges Verzeichnis, bspw.
    nach C:\Programme\DMM

* Windows XP/2003/Vista/2008/7 (64 bit):
  - Kopieren von x64\dmm.exe, x64\he2325u.dll und x64\*.dmm in ein beliebiges Verzeichnis, bspw.
    nach C:\Programme\DMM (die 32-Bit-Version läuft auch, aber als 32-Bit-Prozess.)
    Achtung: Die 64-Bit-Version wird nicht so zeitnah gepflegt wie die 32-Bit-Version.
    Ursache: Ich kann mich nicht so recht mit Visual Studio 2008 anfreunden.

- optional: Installieren von unit-a2.ttf in den Schriften-Ordner, bspw. über
  Systemsteuerung, Schriftarten, Datei, Neue Schriftart installieren
  (enthält die Siebensegment-Zahlzeichen — wem's gefällt)

- Verknüpfung auf DMM.EXE erstellen im Startmenü, Desktop und/oder Schnellstart-Bereich

- Vista/2008/7: Jedes Mal, wenn neue USB-Messgeräte angesteckt wurden oder die Buchsen-Zuordnung
  geändert wurde, versucht HE2325U.dll Portnummern zuzuweisen und benötigt dazu Admin-Rechte.
  Es taucht dazu automatisch der entsprechende (nervige) UAC-Dialog auf (seit 110209).
  Für die weitere Arbeit genügen „normale“ Benutzerrechte. TODO: Alternative Lösung!
	
DDE:
DMM.EXE ist ein DDE-Server, der folgende Daten bereitstellt:
Application-Name: DMM
Topic-Name: <messgerät>@<schnittstelle>, also das, was in der Titelzeile steht
Item-Namen:	value0	Messwert
		unit0	Einheit
		trace0	Oszilloskopdaten als numerisches Array
		min0	Minimum
		max0	Maximum
		feature	zusätzliche Anzeigen
	Weitere Indizes für sekundäre, tertiäre usw. Angaben.
	Die Null kann weggelassen werden.
	Indizes können auch mit einem Sonderzeichen abgetrennt werden,
	bspw. "value[1]", "value 1", "value?1" usw.
	Bezeichner dürfen bei Wahrung der Eindeutigkeit abgekürzt werden,
	bspw. "V" statt "value0", "mi1" statt "min1" usw.
	Groß/Kleinschreibung wird (wie bei DDE immer) nicht unterschieden.

Zwischenablage-Formate (für alle Items verfügbar):
	CF_TEXT
	CF_UNICODETEXT
	CF_XlTable

Unterstützte Transaktionen:
	REQUEST
	ADVISE

Anwendungsbeispiel (Excel):
	Zellenwert setzen auf "=DMM|'ut61e@com2'!v"
	und schon zeigt diese Zelle den aktuellen Anzeigewert an (ohne Einheit)
	Daneben kann man daher setzen "=DMM|'ut61e@com2'!u" für die Einheit.


Kommandozeilen-Interface:
DMM.EXE hat einen Kommandozeilen-Parameter der Form <messgerät>@<schnittstelle>.
"<messgerät>" oder "@<schnittstelle>" kann sogar weggelassen werden.
Weitere Konfigurationen, wie Fensterposition, -größe und -Erscheinungsbild
werden aus der Systemregistrierung gelesen.
Wird kein passender Eintrag gefunden, gelten Vorgabewerte.

Wird kein Kommandozeilen-Parameter angegeben, sucht DMM.EXE selbst nach dem
nächsten freien Multimeter, das jemals in der Registrierung gespeichert wurde.
Man kann so DMM.EXE mehrfach starten, und jede Kopie bekommt ein anderes
Multimeter (und damit auch gespeicherte Fensterposition) zugewiesen.


Bekannte Fehler:
* Wegen erheblicher Umstellungen (für Plugins) können einige Multimeter tot sein.
  Ich habe keine Testgeräte mehr (und "never touch a running system" ging nicht mehr).
  Bitte derartige Probleme melden!

heha, 110209

Änderungen (*=Bugfix, +=neue Funktion):
*130322	dmm.exe ist jetzt wirklich unter Win98 lauffähig (Subsystem-Version-Number-Bug)
	Sonst lief es nur unter KernelEx.
	Der native Win98-Support wird demnächst eingestellt, sofern es mit KernelEx läuft.

+130322	Metex-Messgeräte (hier: ME-22T) mit 14-Byte-Protokoll, via Plugin Metex.dmm
*130328	Hoffentlich den Bug bei Metex gefunden
Detected encoding: UTF-80