Oscilloscope – Combiscope Fluke/Phillips PM3394B (3370B,3380B,3390B,3384B) – COMBISCOPE.VB.NET

COMBISCOPE.VB.NET

(Récupération d’une capture d’écran par RS232.)

combiscope

Présentation :

Le combiscope et un oscilloscope combinant un oscilloscope analogique et un oscilloscope numérique.
Il est décliné en plusieurs versions :

Reference bande passante nombre de voie impédance
PM3370B 60 Mhz 2 1M Ohm
PM3380B 100Mhz 2 1M Ohm
PM3384B 100Mhz 4 1M Ohm
PM3390B 200Mhz 2 1M Ohm & 50 Ohm
PM3394B 200Mhz 4 1M Ohm & 50 Ohm

Ces oscilloscopes possèdent un port RS232, et pour certain : un port IEE488.
D’autres options peuvent vite se révéler précieuses comme  l’option MATH+ qui permet notamment les transformées de Fourier, et l’extension mémoire.

La gestion du port série et très bien documentée dans le manuel utilisateur, mais il font référence à un logiciel payant et introuvable le FlukeView CombiScope Software.
Après quelque vaines recherche, j’ai décidé de faire mon propre outil de capture.

L’interface RS232 du combiscope

L’oscilloscope est équipé d’une prise DB9 à l’arrière, c’est sur celle ci que nous viendrons nous connecter.
Nous utiliserons des commandes CPL (Compact Programming Language) pour communiquer avec lui.

je vous renvoi au chapitre 5 et 6 du manuel (REMOTE CONTROL RS-232 et CPL => Ch4-68 p113 ; Ch5-53 p173 ; Ch5-59 p179 & chapitre 6).

PM3394-REAR

PM3394-RS232
A noter : j’utilise un convertisseur USB/Série sous WIN7 64bits, et pas de problème.

Le langage CPL :

Le CPL est un langage simple, les commandes sont toujours composées de 2 caractères (minuscule ou majuscule).
Les réponses sont toujours en majuscules, les commandes sont séparé par des “,” ASCII(44) et les réponses se termine par CR , ASCII(13).
à chaque envoie de commande, un caractère d’acquittement est envoyé ( chiffre + CR ).

Liste des commandes CPL :
  • AS Auto Setup
  • AT Arm Trigger
  • CL Calibrate
  • DS Default Setup
  • GL Go to Local
  • GR Go to Remote
  • ID IDentification
  • LL Local Lockout
  • PC Program Communication
  • PS Program Setup
  • PT Program text
  • PW Program Wavefrom
  • QS Query Setup
  • QM Query measurement
  • QP Query Print
  • QT Query text
  • QW Query Wavefrom
  • RI Reset Instrument
  • RS Recall Setup (internal)
  • SS Save Setup (internal)
  • ST STatus query
  • TA Trigger Acquisition

Je ne détaillerai pas ici l’ensemble des commandes, le manuel est clair.
Mon programme en utilise juste 2 : ID et QP.

l’ID me permet d’interroger l’oscilloscope et de vérifier la communication avant de demander une Impression via la commande QP.
(Dans le code c’est la routine HardCopy, du nom du bouton en façade permettant la même chose).
L’exécution de la fonction Hardcopy affiche le résultat dans la fenêtre, permet un zoom et l’enregistrement du fichier.

Photo vous avez dit photo ?

le format des données échangées lors du HardCopy est du HPGL. c’est un langage Vectoriel donc TEXT.
Voici un exemple de données reçues par mon programme :

IN;IP0,0,11040,7721;IW0,0,11040,7721;SC0,690,965,0;SR1.207,2.590;SP1;SL0.6;PU100,90;
LBPM3394BPU600,132;PD596,132;PU596,152;PD600,152;PU600,172;PD596,172;PU596,192;
PD600,192;PU600,232;PD596,232;PU596,252;PD600,252;PU600,272;PD596,272;PU596,292;
PD600,292;PU600,332;PD596,332;PU596,352;PD600,352;PU600,372;PD596,372;PU596,392;
PD600,392; […. etc…. ]

Chaque instruction commence par 2 lettres, les PD600,352 correspondant à un pen down à l’emplacement X=600 x et Y=352, le stylo restant en bas jusqu’au point suivant.

Mon programme contient un mini interpréteur qui permet d’afficher HPGL généré. mais il ne remplace pas d’autre produit spécifique.

J’utilise le merveilleux http://service-hpglview.web.cern.ch/service-hpglview/ du CERN. (voir le “petit” lien Download en bas de leur page.)

Voici le rendu de mon programme :

combiscope-exemple

Une fois enregistré en HPGL, voici le même fichier lut par HPGLVIEW :

HPGL-Viever

On remarque tout de suite un nombre supérieur d’informations… le logiciel peut exporter en DXF, une imprimante PDF peut le convertir en PDF.
Personnellement, j’utilise avec bonheur OneNote qui permet des capture de zone d’écran afin d’intégrer les éléments dans mes documents Word et autre.

Licence :

voici un petit outil pratique, gratuit sous licence :
Licence Creative Commons
Combiscope de jean-Yves Ropp est mis à disposition selon les termes de la licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage dans les Mêmes Conditions 4.0 International.
Fondé(e) sur une œuvre à http://f4dtr.motd.org/2014/01/combiscope/.

Conclusion

Je joint les sources en VB.NET, et le Setup.exe fait par Visual Studio Express 2012.
Je corrigerai sans doute un certain nombre de Bug petit à petit, mais je n’approfondirai pas beaucoup plus le lecteur HPGL.
La visualisation et l’utilisation de CERN HPGL Viewer me semblant une bonne chose.

Espérant que cet article aide d’autre utilisateurs,

73,
Jean-Yves.
F4DTR.

TELECHARGEMENT : 

Pour télécharger les Binaires et les Sources de la dernière version en date :

http://sdrv.ms/1maA6BP

Remarque : Vous trouverez dans ce répertoire Onedrive l’ensemble des documents m’ayant permis cette réalisation.
Ainsi qu’un document Word sur le minimum a connaitre pour pouvoir exploiter ce logiciel (conf RS232 du Combi par exemple ).


 

2 thoughts on “Oscilloscope – Combiscope Fluke/Phillips PM3394B (3370B,3380B,3390B,3384B) – COMBISCOPE.VB.NET

  1. Bonjour,

    Je suis en deuxième année de DUT Mesures Physiques et je suis actuellement en stage. J’ai à ma disposition un Combiscope FLUKE PM3370A dont j’aimerai récupérer les données de celui-ci. J’ai essayé de communiquer avec lui grâce au logiciel de programmation LabVIEW mais il y a un bug qui empêche la communication entre l’ordinateur et le combiscope. Je suis donc tombé sur votre site où vous avez fait un super article qui permet de faire une capture d’écran par RS232. J’ai donc téléchargé votre logiciel, j’arrive à visualiser les Hardcopies sur mon ordinateur même si je n’arrive pas à les sauvegarder, donc je peux communiquer avec le combiscope.

    Je pense qu’il y a quelque chose qui m’échappe, j’ai appris les bases de la programmation CPL mais est-ce ce combiscope utilise un CPL particulier ?

    J’espère avoir été clair dans ma requête,

    Respectueusement,

    Aurélien

  2. Bonjour,

    je viens de regarder mon code.
    effectivement j’ai oublié le code de la commande sauvegarde ! :honte:
    Mais, lors de la saisie d’une « hard copie », le programme sauvegarde automatiquement un fichier temporaire dans son répertoire.
    Voici la ligne du code qui génère le nom du fichier : namefile = « COMBISCOPE » & TimeString.Replace(« : », «  ») & « .plt »
    Donc, vous sauvegardez toutes vos copies sans le savoir dans le répertoire d’install (c’est pour cette simple raison que j’ai oublié l’ihm de sauvegarde.)
    Les fichiers apparaissent sous : COMBISCOPE120233.plt pour un fichier créé a 12h02.

    Sinon, pour le CPL, j’ai suivis les recommandations du chapitre 6 du manuel (Philips_PM3380-Users-Manual.pdf) dispo sur mon onedrive ( https://onedrive.live.com/redir?resid=BB3018FBC51849F2!1182&authkey=!AArUAO2EGATGec4&ithint=folder%2c.pdf ) ou sur http://www.ko4bb.com/Manuals/Philips/Philips_PM3380-Users-Manual.pdf .

    espérant vous aider,
    amicalement,
    JY

Comments are closed.