Übersicht

Klar, das Programm wurde als Ersatz für UT71C_D_E.exe, Ut81AB.exe usw. geschrieben. Man sieht aus einiger Entfernung, dass jene Software mit Delphi zusammengeschustert wurde.

Eigenschaften und Features

Dieses Programm ist im Gegensatz zum chinesischen Vorbild(?) einfach und robust gehalten:
  • Nur ein Programm für alle Multimeter
  • Unterstützt mehrere USB-Ports
  • Minimale Exe-Größe, ohne Installation, läuft von Diskette, USB-Stick oder Netzlaufwerk
  • Kein Bezug zu obskuren DLLs, kein .NET, nativer Kode
  • Läuft von Windows 98 bis Windows 8 64bit, auch als native 64-Bit-Anwendung
  • Konfigurations-Speicherung (bspw. Fensterposition) in Registrierungsdatenbank
  • Automatische multiple Per-Instanz-Konfiguration (Mehrfachstart weist jeder Instanz passende Konfiguration zu, perfekt für mehrere Messgeräte)
  • DDE-Automatisierungsschnittstelle (DMM.exe ist DDE-Server)
  • Für Automatisierung optimiertes Logdateiformat
  • Plugin-Schnittstelle für Nicht-Uni-T-Messgeräte
  • Überlebt Reboot
    • Beim automatischen Neustart von Windows, typischerweise wegen „vergessenem“ Abschalten der automatischen Update-Installation wird so das Programm inklusive Logging fortgesetzt
    • Das ist insbesondere für Messungen über Nacht sinnvoll; ein paar fehlende Messwerte sind weniger schmerzhaft als ein frisch gebootetes Windows ohne Logdaten
    • Voraussetzung dafür ist eine aktivierte automatische Anmeldung!
  • Open-Source, lizenzfrei
Was das Programm nicht bietet:
  • Vollständiges Kommandozeilen-Interface
  • Anzeige mehrerer Multimeter (muss in getrennten Instanzen erfolgen; Vorteil: Jedes Programm stürzt für sich ab = erhöhte Robustheit)
  • Echtes PnPSA
  • Kompatibles Logdateiformat
  • Darstellung eines Zeigerinstruments
  • Keine integrierte Siebensegment-Schriftart, wegen unklarer Lizenz. Wurde eins der o.g. chinesischen Programme installiert, ist eine geeignete im System verfügbar, auf die dieses Programm bei Gefallen zurückgreift.
Noch zu tun:
  • Mehrspaltige Logdatei mehrer Multimeter bzw. frei wählbarer DDE-Datenquellen
  • Reboot überleben als Dienst bzw. Gesamtfunktion als Dienst (also Fortsetzung der Arbeit egal ob und wer eingeloggt ist).
  • Wine-Test, ggf. spezifischer Kode
Henrik Haftmann, henrikhaftmann@googlemail.com

HTML-Mail ist nicht erwünscht.


Logdatei speichern

Merke: Ist die zu speichernde Datei bereits vorhanden, werden die Daten — mit Leerzeile und neuem Kopf — angehängt. Nichts wird überschrieben.

Die Verwendung von Punkt oder Komma (Dezimaltrennzeichen) kann im Einstellungs-Dialog festgelegt werden.

Die Logdatei sieht etwa so aus:

2013-11-11T23:39:03,375+01:00
Time	val0
s	V
0	-0,0006
0,656	0
1,312	0
…
Der Speichern-Dialog bietet am Fuß einige Einstellmöglichkeiten:

Start-Datum

Sollte nur verwendet werden, wenn im Messgerät gespeicherte Messdaten auf den PC zu übertragen sind! Der Wert sollte sinnvollerweise dem gewesenen Startzeitpunkt der Messung entsprechen.

Ansonsten ist der Eintrag zu deaktivieren.

Intervall

Diese Angabe erfüllt zwei Funktionen:
  • Bei Angabe von Start-Datum sollte diese Angabe dem gewesenen Mess-Intervall des Multimeters entsprechen und darf nicht Null sein.
  • Ansonsten legt diese Angabe das Schreib-Intervall fest. Die Angabe Null schreibt bei jeder Änderung, also mit der vom Messgerät vorgegebenen Abtastrate.

Kopfzeilen schreiben

Zur besseren Dokumentation eingeschaltet lassen. Wenn's für die EDV lästig ist, können diese weggelassen werden.

Zeitspalte ausgeben

Zur besseren Dokumentation sowie EDV in Excel eingeschaltet lassen. Bei bekanntem Abtast-Intervall kann man auf die Zeitspalte auch verzichten.

Zusätzliche Spalten

Zurzeit funktionslos!

Hiermit kann ein mehrspaltiges Log über mehrere Multimeter gemacht werden. Die Spalten sind je nach bereits laufenden Instanzen entsprechend vorbelegt.

Auch andere, wahlfreie DDE-Quellen können verwendet werden. Das Eingabeformat ist hierbei Dienst|Thema!Element (Service|Topic!Item) wie in Excel. Via Netzwerk-DDE können hierbei Daten von Remote-Computern eingeholt werden, etwa Achsdaten einer Simatic-Steuerung.


DDE

DMM.exe ist ein DDE-Server und damit gut für die Automatisierung von Messaufgaben geeignet. Man muss sich nicht mit den Daten auf der seriellen oder gar der USB-Schnittstelle herumärgern, um mit den Daten irgendetwas zu machen, etwa eine Regelung oder Endabschaltung in LabVIEW.

Zusätzlich ist das Programm DDE-Client, aber nur beim Loggen (zurzeit funktionslos).

Hinweis: Das Ganze als .NET-DLL würde zwar die Interaktion mit modernen Programmen stark vereinfachen, wäre aber Code Bloat, eine weitere DLL, und Abhängigkeit von .NET (welche Version denn?). Und außerdem, wo ist dann die .EXE-Datei? Das kann mal jemand ausprogrammieren, der mehr Ahnung hat als ich …

DDE-Strings

Der Dienst (Service) ist fest "DMM".

Das Thema (Topic) ist gleich dem Messgerätenamen und dem Port, etwa "UT81@USB1". Siehe Fenster-Titelzeile.

Es gibt mehrere Elemente-Namen (Item), wobei der wichtigste "value" ist, der für den Messwert. Es ist der einzige, der auch adviseable ist. Das heißt, man bekommt eine Nachricht, wenn ein neuer Messwert vorliegt, auch wenn er sich nicht geändert hat.

Die anderen Elemente-Namen liefern messbereichsabhängige Konstanten für komfortablere EDV.

Alle Elemente-Namen sind abkürzbar sowie (noch nicht!) kombinierbar. Dann liefert eine DDE-Anfrage (Request) mehrere Werte (Zahlen, Strings) auf einem Schlag.

Elemente-Namen:

  • flags — Statusflags, etwa HOLD, AC, DC, AC+DC
  • unit — Einheit, als Text
  • min — Minimum im Messbereich
  • max — Maximum im Messbereich
  • ea — absolute Messabweichung lt. Datenblatt
  • er — relative Messabweichung lt. Datenblatt

Zwischenablage-Formate

Unterstützt werden:
  • CF_TEXT
    • Die Einheit Ω wird als "Ohm" geliefert, außer beim griechischen Windows.
    • Die Einheit °C bzw. °F wird in ANSI-Konierung geliefert, außer bei Fernost-Windows. Hier werden "degC" bzw. "degF" ausgegeben.
  • CF_UNICODETEXT (Einheiten wie Ω werden korrekt als Symbol übertragen)
  • CF_XlTable (perfekte Übertragung von Gleitkommazahlen, Textübertragung wie bei CF_TEXT)