Homepage
 
  Software
     Digiscop
        Tipps und Tricks
     Ser10bit
        Tipps und Tricks
   
  Die Moppelwerkstatt
 
  Links zum Surfen
 
  E-Mail
 
   
   

   

DIGISCOP-Software für Digitalmultimeter 
 
 
im Alleinvertrieb
bei
Conrad Electronic
 
 
Tipps und Tricks für Programmierer im Umgang mit den Meßgeräten 
   
Eine kleine Anleitung zum Auslesen der Seriellen Schnittstelle an Voltcraft-Digitalmultimetern
   
Voltcraft-Digitalmultimeter mit serieller Schnittstelle können problemlos in eigene Software eingebunden werden, wenn die nachstehenden Hinweise beachtet werden:
 

   

Wichtiger Hinweis!



Dies sind kostenlose Tipps vom Programmierer der Software Digiscop. Anstatt mit diesem Wissen möglichst viel Geld verdienen zu wollen, werden hier Erfahrungen gratis zur Verfügung gestellt.

Bitte lesen Sie diese Tipps sorgfältig und aufmerksam. Das erspart Ihnen unnötiges Nachfragen und mir, dem Programmierer, eine Menge zusätzlicher Arbeit, die ich als Privatperson so wie Sie auch, ehrenamtlich und am Wochenende erledige.

 

Um Ihnen die Orientierung zu erleichtern, zunächst eine Übersicht.

Inhaltsverzeichnis:

Grundlagen Schnittstelle V.24 / RS232
Anschlußkabel
Zustand der Handshake-Leitungen
Welche Baudrate
Welche Einstellung von Parity
Wie viele Datenbits
Wie viele Stoppbits
Demo-Programm in GW-Basic
Demo-Programm in VisualBasic 6.0
Download von Demo-Programmen
Wie schnell antwortet das Meßgerät
Schaltplan der Meßgeräte
Informationen zum VC 350 E
Wo bekomme ich Hilfe

 


Grundlagen

Schnittstelle
V.24 / RS232

Um Ihnen den Einstieg in die serielle Datenübertragung zu erleichtern, hier einige grundlegende Informationen zum Thema V.24 / RS232

 


 

Anschlußkabel



Ausnahmen

VC 630
VC 650
VC 670




 

Bitte beachten Sie, das trotz gleichem Aussehen der Anschlußkabel nicht immer gleiche Funktionalität und Steckerbelegung vorliegt.

Anschlußkabel der Serie VC 630, VC 650 und VC 670 sind für andere Geräte trotz gleichem Steckersystem nicht verwendbar. Umgekehrt funktionieren die Kabel der anderen Geräte mit gleichem Aussehen an den Geräten der Serie VC 630, VC 650 und VC 670 auch nicht.
   

   

   

 Handshake-Leitungen

 

 

 

 

 

 

 

 


Ausnahmen

GDM 703
GDM 704
GDM 705

Alle Digitalmultimeter haben eine galvanische Trennung per Optokoppler zur Schnittstelle RS 232. Die elektrische Spannungsversorgung der Optokoppler wird aus den Handshake-Leitungen des Computers ausgekoppelt. Hierzu ist die Leitung DTR auf  +12 Volt zu legen, die Leitung RTS muß mit -12 Volt belegt werden. Die Handshake-Leitungen dienen also nicht zur Synchronisierung der Datenübertragung sondern allein zur Stromversorgung der galvanischen Trennung per Optokoppler. 

Achtung beim Betrieb mit einem Laptop!

Laptops der neuen Gerneration arbeiten vermehrt mit einer Spannungsversorgung von nur noch 3,3 Volt. Dabei wird auch die RS 232 nur noch mit einem Spannungspegel von unter 6 Volt versorgt. Dies kann dazu führen, daß die Spannungswerte für eine einwandfreie Kommunikation mit dem Multimeter nicht mehr ausreichen. Ein zusätzlicher HUB, Verstärker oder galvanischer Trennverstärker in die Zuleitung eingeschleift, kann die Signale wieder auf die Sollpegel von +12 Volt und -12 Volt anheben.
 

Als Ausnahme hierzu wird bei den Geräten GDM 703, 704 und GDM 705 die Handshake-Leitung RTS auf +12 Volt gesetzt. Dadurch bedingt kann die Sendeleitung TxD allerdings nur bis GND abgesenkt werden, was in Regel zwar keine Probleme verursacht, eigentlich aber im "verbotenen Bereich" liegt.

  

   

   

Baudrate



Ausnahmen


 

Mit wenigen Ausnahmen wird die Baudrate auf 1200 Baud eingestellt. 

Folgende Geräte arbeiten mit abweichenden Einstellungen:  

M-3860 M, M-4660 A, M-4660 M und MXD-4660 A erfordern   9600 Baud 
GDM 703, 704 und 705 funktionieren ebenfalls mit  9600 Baud 
VC 630, VC 650 und VC 670 laufen auf   4800 Baud
ME-22 RSM, VC 635, VC 655 , ESCORT 97 und VC 820, VC 840 laufen mit 2400 Baud 
ME-32 und ME-42 arbeitet mit   600 Baud  

Hinweis! Beim Druck der Bedienungsanleitungen zu den Meßgeräten haben sich teilweise Fehler eingeschlichen. Hier sind die korrekten Angaben. 

In manchen Bedienungsanleitungen werden Sie aufgefordert, beim Anschluß des Multimeters an einen Computer das Meßgerät in den COM-Modus zu schalten. Diese Angabe ist nur bei VC 506, VC 630, VC 650, VC 670 , VC 635, VC 655 und ESCORT 97 richtig. Alle anderen Geräte sind nach dem Einschalten sofort betriebsbereit. 

Die Aktivierung des COM-Mode am DMM führt in Verbindung mit den Beispielen zu fehlerhaften Datenübertragungen.
   

   

   

Parity

 

 

Die Parityangaben sind auf    NONE   einzustellen.

  

  

Datenbits


Ausnahmen


 

 

Es werden  7  Datenbits übertragen.

 

Als Ausnahme ist hier das ESCORT 97 mit nur 6 Datenbits und die Messgerätefamilie VC 635, VC 655 und VC820, VC840 mit 8 Datenbits zu nennen. 

  

Stoppbits


Ausnahmen


 

 

Es werden  2  Stoppbits übertragen.

 

Hier ist das ESCORT 97 und die Geräte VC 635, VC 655  und VC820, VC840 mit nur 1 Stoppbit vertreten.  

  

Demo-Programm
als
GW-Basic-Code
 

10 OPEN "COM1:1200,N,7,2,RS,CS,DS,CD" AS #1 
20 PRINT #1, "D"; 
30 IN$=INPUT$(14,#1) 
40 PRINT IN$ 
50 CLOSE #1 
60 END

Dieser Programmcode ist sowohl unter dem inzwischen antiquierten GW-BASIC als auch unter QBasic oder QuickBASIC lauffähig. Für andere Programmiersprachen kann ausgehend von diesem Quellcode eine 1:1-Übersetzung gemacht werden.
   

   

   

Erläuterungen
zum
Quellcode
 

In Zeile 10 wird die Schnittstelle mit den vorher erläuterten Parametern geöffnet. Mit den Angaben    RS,CS,DS,CD    werden die Zustände der Handshake-Leitungen wie oben beschrieben konfiguriert und die Timeout-Zeiten der Handshakeleitungen ignoriert, da das Meßgerät kein aktives Handshaking unterstützt. 


In Zeile 20 wird ein großes "D" an das Meßgerät geschickt. Dieser Befehl löst eine Datenübertragung im Meßgerät aus. 

Grundsätzlich löst jedes an das Meßgerät übertragene Zeichen eine Datenabfrage aus. Bei der Übertagung des Buchstaben "D" wird jedoch die Funktion "Auto-Sleep" zurückgesetzt. Das Meßgerät schaltet sich folglich bei aufeinanderfolgenden  gleichbleibenden Meßwerten nicht automatisch ab.

Meßgeräte, bei denen keine Meßwertanforderung geschickt werden muß wie z.B. VC 630, VC 650 und VC 670 , VC 635, VC 655 oder GDM 703, 704 und 705 können folglich durch die Software am Abschalten in den "Auto-Sleep-Mode" nicht gehindert werden.


In Zeile 30 wird die Meldung des Meßgerätes ausgewertet. Normalerweise werden 14 Zeichen vom Meßgerät gesendet. 

Byte      1 2 3 4 5 6 7 8 9 10 11 12 13 14 
Bsp. 1    D C   - 3 , 9 9 9    V        CR 
Bsp. 2    O H M   3 , 9 9 9 M  o  h  m  CR 

Jede Datenübertragung endet mit CR (Carrige Return). 

Die eingegangene Nachricht wird in Zeile 40 auf den Bildschirm übertragen. 


In Zeile 50 wird  die Schnittstelle COM1: geschlossen. 


In Zeile 60 endet das Programm.
   

   

   

Demo-Programm
als
Visual-Basic-Code
Ver. 6.0
für Windows

Die Programmierung unter Windows ist leider etwas komplizierter. Deshalb habe ich die Files zusammengefasst und zum Download bereitgestellt.

Grundsätzlich wird hier vieles genauso gehandhabt wie auch unter DOS, jedoch ereignisgesteuert. Um die serielle Schnittstelle zu handhaben, wird das Active-X-Element  MSComm32.OCX  verwendet. In den Eigenschaften können die Parameter für die Schnittstelle bereits vorkonfiguriert werden. Im Beispiel wurden die Parameter jedoch beim Öffnen des Programmes in Sub Form1.Load eingestellt. Durch Betätigen des Button Command1 wird ein Messwert vom DMM abgerufen und anschließend das Sub Empfangen aufgerufen. Die Antwort vom Messgerät wird im Textfeld Text1 ausgegeben.

Bei Bedarf muß man auch bei diesem Beispiel die Baudrate, die Anzahl der Datenbits und Stoppbits anpassen. Wenn man sich den Quellcode ansieht, wird man jedoch schnell fündig, wo die Änderungen eingebracht werden müssen.

VB6_Beispiel_Comm.ZIP downloaden.


  

   


Ausnahmen

Baudrate

 

 

M-3860 M, M-4660 A, M-4660 M und MXD-4660 A erfordern   9600 Baud
GDM 703, 704 und 705 haben ebenfalls   9600 Baud  
VC 630, VC 650 und VC 670 laufen auf   4800 Baud
ME-22 RSM und VC 635, VC 655 laufen mit   2400 Baud 
ME-32 und ME-42 arbeitet mit   600 Baud


Ausnahmen

M-3860 M
M-4660 A
M-4660 M
MXD-4660 A
GDM 703
GDM 705
VC 820
VC 840


 

 

Bei den Meßgeräten M-3860 M, M-4660 A, M-4660 M und MXD-4660 A werden die Inhalte von insgesamt 4 Displays übertragen. Zuerst der aktuelle Meßwert, dann die 3 kleinen Anzeigen an der Unterkante des LCD-Schirmes. Deshalb werden bei einer Meßwertanforderung insgesamt 56 Zeichen gesendet.

Bei den Geräten GDM 703, 704 und 705 werden je nach Einstellung ebenfalls die Inhalte von 2 Meßbereichen ausgegeben. Weiterhin besteht die Möglichkeit den Inhalt des vollständigen Grafikdisplays mit 128 x 64 Pixel zu übertragen.

Bei der Gerätefamilie VC820, VC840 ist dann wieder alles anders. Hier werden die einzelnen Displaysegmente des LCDs am Gerät binär codiert und in einem Datenpaket von 14 Byte übertragen. Anschließend muß man mühselig die einzeln Bits wieder zu brauchbaren Informationen zusammensuchen.

 

 


Ausnahmen

VC 506

 

 

VC 506 muß durch eine Tastenkombination vorher aktiviert werden. Bei dem Meßgerät VC 506 werden abhängig vom Meßbereich unterschiedlich lange Zeichenketten gesendet. Am Ende einer Datenübertagung wird hier jedoch grundsätzlich CR gesendet. 


Ausnahmen

VC 630
VC 650
VC 670

VC 635
VC 655
VC 675


 

 

Bei diesen Geräten muß Zeile 20 im Basic-Code gelöscht werden.

Die Geräte VC 630, VC 650 und VC 670 senden automatisch ohne Aufforderung 2 Meßwerte pro Sek, sobald sie durch die Taste HOLD (ca. 2 Sek. lang drücken) für die Datenübertragung aktiviert wurden.

Bei den Geräten VC 635, VC 655 muß ebenfalls vorher eine Taste gedrückt werden, um die Übertragung zu aktivieren. Am Ende der Datenübertragung wird hier CR und LF gesendet.

 

 

 


Ausnahmen

ESCORT 97


 

Bei diesem Gerät ist eigentlich alles ganz anders. Das oben angeführte Demo-Programm kann deshalb unter keinen Umständen verwendet werdet.

Dieses Gerät überträgt einen Datensatz mit 21 Byte, der jedoch immer nur 6 Datenbits pro Byte beinhaltet. Von diesen 6 Datenbits werden dann tatsächlich nur noch 4 Bits pro Byte genutzt. Mit diesen Daten kann man folglich keine Standard-ASCII-Buchstaben übertragen. Entsprechend werden alle Informationen codiert übertragen. Die Ziffern werden in umgekehrter Reihenfolge ohne Kommastelle übergeben. An Hand von Einzelbit-Informationen muß man mühsam herausfinden, welcher Meßbereich gerade eingestellt ist, wo man das Komma setzen muß und welche Einheit gerade angezeigt wird.

Mein Tipp: Anfänger im Programmieren lassen tunlichst die Finger davon.


  

Download

Mit den beiden zum Download angebotenen Beispielprogrammen im Basic-Quellcode können Sie unter QBasic oder QuickBASIC die Funktion der Datenübertragung selbst ausprobieren. Gegebenenfalls müssen Sie die voreingestellte Baudrate und den COM-Port an Ihr Meßgerät und an Ihren PC anpassen. Beachten Sie bitte die Kommentare im Quellcode. 

LISTING1.BAS fordert beim Programmstart einmalig eine Meßwertabfrage vom Digitalmultimeter ab und schreibt das Ergebnis auf den Bildschirm. 

LISTING2.BAS wiederholt die Meßwertabfrage ständig, bis ESC gedrückt wird. Auch hier werden die übertragenen Werte auf dem Bildschirm ausgegeben. Die Wartezeit zwischen zwei Meßwertabfragen können Sie über eine Warteschleife an Ihren PC anpassen. Beachten Sie hierzu bitte den Abschnitt  "Geschwindigkeit"  weiter oben.

   


Ausnahmen

GDM 703
GDM 705
ESCORT 97


 

 

Die obigen Beispielprogramme sind nicht für alle Geräte verwendbar.

Hier die Ausnahmen mit eigenen Beispielprogrammen:
GDM 703, 704 und 705

Für das ESCORT 97 wird hier nur ein eingeschränktes Beispielprogramm angeboten. Gezeigt wird lediglich, wie man aus den vom Messgerät selbstständig und ohne Aufforderung gesendeten Daten die 21 Byte korrekt formatiert ausliest und in einen verwertbaren Datensatz überträgt. Die Auswertung dieser 21 Byte in einen aktuellen Messwert würde für ein Beispielprogramm zu weit führen. Das ist bei diesem Gerät einfach zu umfangreich. Sie können aber zusätzlich zu diesem Demo-Programm die Original-Definitionsliste des Herstellers mit der Beschreibung der codiert übergebenen Daten downloaden, um dann selbst mal auszuprobieren wie das geht. Für Programmierfreaks sicherlich eine Herausforderung. Für Anfänger schlichtweg ungeeignet.  

   

Geschwindigkeit

Die Meßgeräte lassen je nach Meßbereich maximale Abfragezyklenzeiten von 1 - 3 Meßwerten pro Sekunde zu. Schnellere Abfragezyklen werden mit falschen Meßwerten und/oder ungültigen ASCII-Zeichen quittiert. Es hat also keinen Sinn, in schnellerer Folge abzufragen. Insbesondere die Frequenzmessung, Kapazität und Induktivität sind ausgesprochen langsame Bereiche, die oft nur eine Abfage pro Sekunde zulassen. Hier muß man sich in Geduld üben. 
Besonders kritisch ist es, wenn sofort nach einer erfolgten Datenübertragung erneut eine Anfrage an das Meßgerät gestartet wird. Man muß folglich nach jeder Datenübertragung vom Meßgerät einen Moment warten, bevor man eine erneute Anfrage starten kann.
   

   

   

Schaltplan
Meßgerät


   

   

   

Beschreibung
des
Schaltplans

 

Sendet der PC eine Datenanforderung an das Meßgerät, so wird der Ausgang TXD am Stecker kurzzeitig auf +12 Volt angehoben. Dabei beleuchtet die LED im Optokoppler den zugehörigen Fototransistor im Bild unten, der dann leitend wird und die Meldung an das Meßgerät weitergibt. 

Das Meßgerät antwortet mit einer Serie von Impulse auf die LED im Optokoppler im Bild oben. Der zugehörige Fototransistor wird leitend und schaltet die +12 Volt vom Pin DTR an den Pin RXD durch, der nun ebenfalls +12 Volt wird. Im Ruhezustand wird die Spannung von -12 Volt von Pin RTS über den Widerstand an Pin RXD weitergeleitet.
   

   


Ausnahmen

Schaltplan
Meßgeräte
VC 630
VC 650
VC 670
VC 635
VC 655
VC 675
GDM 703
GDM 704
GDM 705
VC 820
VC 840
ESCORT 97


 

In den Geräten der Serie VC 630, VC 650, VC670 , VC 635 und VC 655 , VC820, VC840 entfällt der Optokoppler für die Leitung TXD, da diese Geräte ständig und ohne Aufforderung von sich aus Daten senden.

In den Geräten GDM 703, 704 und 705 ist an der TXD-Leitung ebenfalls kein Optokoppler vorhanden. Weiterhin weicht die Beschaltung von der obigen Zeichnung ab.

Für diese Geräte ist ein gesonderter Schaltplan über den jeweiligen Link verfügbar.

Für das ESCORT 97 liegt mir momentan kein Schaltplan vor. Dieses Gerät verfügt nur über eine exterene optische Schnittstelle, die im Anschlußkabel untergebracht ist, aber nur unidirektional genutzt wird. Das Gerät sendet von sich aus, kann aber keine Nachrichten vom PC empfangen. Funktionell ist die Schaltung mit dem oben abgebildeten Schaltplan identisch. Der Anschluß am Messgerät ist aber nicht verdrehsicher. Sollten Sie mit einem Programm keine Datenverbindung zum Messgerät bekommen, können Sie probeweise den Anschluß einfach mal umdrehen.


   

Informationen
zum
VC 350 E

Seit einiger Zeit wird von Conrad das Digitalmultimeter VC 350 E im Katalog angeboten, dass allerdings in meiner Software nirgends auftaucht.

Warum?

Auch ich habe versucht, entsprechend der Befehlscodeliste des Herstellers das Gerät über die serielle Schnittstelle anzusprechen und die vom Messgerät übergebenen Zeichen zu decodieren. Mit zweifelhaftem Erfolg. Das Gerät läßt sich zwar ansprechen und sendet anschließend auch eine Antwort - nur die Qualität der Antwort ist von Aufruf zu Aufruf stark unterschiedlich. Das Gerät scheint wohl irgendwelche Schwierigkeiten zu haben, seine Antwort mit der Befehlscodeliste abstimmen zu können. Manchmal ist die Antwort korrekt, manchmal fehlen einige Zeichen, manchmal werden offensichtlich falsche Zeichen gesendet. Ein Glücksspiel also. Professionell ist das auf jeden Fall nicht. Da diese Erscheinung nicht nur bei einem Einzelexemplar sondern bei allen mir zugänglichen Messgeräten aufgetreten ist - aus meiner regen E-Mail-Korrospondenz werde ich ebenfalls fast täglich mit diesen Klagen konfrontiert, habe ich mich entschlossen, zum Wohle von Digiscop dieses Messgerät nicht in meiner Software zu implementieren.

Es kann schon sein, dass inzwischen Messgeräte im Handel angeboten werden, die diese Störungen nicht mehr aufweisen.

Wenn Sie sich mit der Selbstprogrammierung mit diesem Gerät befassen möchten, sollten Sie sich auf jeden Fall die Befehlscodeliste als gezippte Word-Datei downloaden. Dieses Original-Dokument des Herstellers wurde mir von Conrad Electronic für die Programmierarbeiten zur Verfügung gestellt. Es handelt sich also um Informationen direkt aus erster Hand. Wenn es damit nicht klappt, an was sollte man sich denn sonst orientieren?  

      
   

Weitere
Informationen
 

Sollten über diese Informationen hinaus noch weitere Fragen bestehen, wenden Sie sich zunächst bitte an den Lieferanten des Meßgerätes. Die Hotline der Firma Conrad Electronic steht Ihnen in der Zeit von Montags bis Freitags in der Zeit von 8.00 bis 18.00 Uhr unter der Telefonnummer 0180/5312116 mit kompetenten Mitarbeitern gerne zur Verfügung. 

Sie können die Hotline auch bequem per E-mail unter der Adresse tkb@conrad.de erreichen.

 

 
 



Wichtiger Hinweis!

 

 

Nur in Ausnahmefällen können Sie sich auch an mich, den Programmierer der Software Digiscop wenden.

Ich bin allerdings nur in den Abendstunden nach 19.00 Uhr erreichbar.
Die Kontaktaufnahme per E-mail ist mir aber lieber.

Bitte haben Sie Verständnis dafür, das ich nicht den Support für andere Softwareprodukte übernehmen kann, an die die beschriebenen Meßgeräte ebenfalls angeschlossen werden können. Hierfür sind jeweils die Vertreiber der Software selbst zuständig und haben im Kaufpreis der Software auch schon ihre Dienstleistung für den Support bezahlt bekommen.

Noch Fragen?
 

Bernd Kunze
Welzheimer Str. 41


D-73635 Rudersberg

Telefon:    07183-305497
E-mail:     
 

   
 
 
   
    Zurück zur Homepage     Software Digiscop     Software Ser10bit     Die Moppelwerkstatt     
    E-Mail        Tipps und Tricks für        Tipps und Tricks     Links zum Surfen     
         Programmierer        zum AD-Wandler    
    Last update:  14.04.2010         Designed by Bernd Kunze