Visu32 : Visualisation de l'état d'appareils de mesure, et communication avec d'autres programmes... Principe : Visu32 surveille en permanence l'état des entrées d'un appareil de mesure, et peut éventuellement commander les sorties de cet appareil et enregistrer ces valeurs dans des fichiers. Par exemple l'écran ci-dessous correspond à ce qui est affiché lorsqu'on a chargé le pilote xcapmanrapide_2voies.dll, correspondant à la mesure de résistances sur la prise « manettes de jeu » (= « joystick »), ici une thermistance sur la première voie de mesure, et rien sur la deuxième. mais il fait plus que cela : - Lorsque la fenêtre est agrandie, les chiffres et caractères affichés le sont aussi, ce qui est pratique pour montrer à l'ensemble d'une salle. - Visu32 peut enregistrer ces valeurs dans des fichiers situés dans le répertoire de votre choix, y compris sur d'autres ordinateurs d'un réseau local, en actualisant fréquemment ces fichiers. Ainsi on peut visualiser et traiter ces mesures à partir d'autres ordinateurs, par exemple par les logiciels de la famille Mesugraf pour Windows. - Visu32 peut commander les sorties logiques et analogiques de votre appareillage, soit directement au clavier, soit à partir de fichiers situés dans le répertoire de votre choix, y compris sur d'autres ordinateurs du réseau. Ainsi on peut commander l'appareillage relié à un ordinateur à partir d'un autre ordinateur. - Les valeurs mesurées sur l'appareillage peuvent être transformées par une formule frappée au clavier, de façon à faire apparaître des grandeurs physiques différentes. On peut ainsi transformer les millivolts en degrés Celsius, ou en unités pH, ou en autre unités, en fonction de l'appareillage. Séquence d'actions à effectuer pour enregistrer des mesures Action 1 : lancer Visu32 en double-cliquant sur visu32.exe dans le navigateur Windows (le nom visu32.exe est parfois à remplacer par un autre nom, si vous avez reçu un autre fichier, par exemple visu32_fev07.exe) Action 2 : charger le pilote de l'appareil de mesure en cliquant sur « Choixpilote » de la fenêtre Visu32 Tant que ceci n'est pas fait, le volet « Entrées analogique » n'affiche que des valeurs grisâtres, montrant que les mesures ne sont pas possibles. On suppose que le pilote de votre appareil de mesure, de type dll pour windows 32 bits, du même type que les DLL de mesure pour Mesugraf pour Windows 32 bits, est dans le même répertoire que le logiciel Visu32.exe. Cliquez sur « Choix pilote », qui est un bouton à droite de la fenêtre de Visu32. Choisissez le pilote qui vous convient, puis cliquez sur le bouton « Ouvrir ». A partir de ce moment, le volet « entrées analogiques » est activé, et les valeurs sont affichées, à gauche le nom de la voie de mesure, et à droite la valeur numérique correspondant. Visu32 peut traiter jusqu'à 8 entrées analogiques (EA0 à EA7). De plus, le bandeau de la fenêtre de Visu32 a changé, et affiche dorénavant l'identité de l'appareil de mesure. Action 3 : choisir le répertoire où enregistrer les mesures Cliquez sur le bouton « Rep. exportation ». Choisissez le répertoire où les fichiers seront enregistrés. Par défaut, les fichiers porteront le nom VISU, et auront une extension correspondant à la voie mesurée. Il y aura don VISU.EA0 pour l'entrée analogique 0, VISU.EA1 pour l'entrée EA1, etc. En cochant la case « fichiers = nom dll ? », le nom sera celui de la DLL de mesure utilisée, par exemple xcapmanrapide_2voies, et les extensions seront celles décrites précédemment. Jusqu'ici, les fichiers ne sont pas actifs, et le bouton « fichiers inactifs » est gris. Action 4 : cliquer sur le bouton « fichiers inactifs » Le résultat le plus visible est que le bouton devient vert, et que son intitulé change : il passe à « fichiers actifs ». Cela correspond à une action moins visible : les fichiers dans le répertoire choisi sont activés, et à intervalle régulier (200 millisecondes par défaut), leur contenu est changé en fonction des valeurs lues sur l'appareillage. Ce sont des fichiers minuscules : seulement quelques octets ! Par exemple le fichier VISU.EA0 fait 15 octets, et son contenu est 68.00000000, c'est à dire la valeur lue sur l'entrée analogique 0 de la prise « manettes de jeu », qui est proportionnelle à la valeur de la thermistance qui y est connectée. Ces fichiers sont réactualisés très fréquemment. Actions 5 et suivantes : utiliser un autre logiciel pour lire les fichiers en question, et les traiter comme bon vous semble. Exemples : Mesugraf pour Windows et MGW32, mais aussi tous les programmes que vous aurez réalisé vousmême, avec divers langages de programmation, car ces fichiers sont conçus pour être très facilement lisibles. Plus loin dans les réglages de Visu32 Transformer les valeurs lues aux entrées analogiques grâce à une fonction de transformation Dans le volet « Entrées analogiques », en doublecliquant sur une des valeurs numériques (ici, le 119.000), on provoque l'apparition d'une boite de dialogue qui demande la fonction de transformation à appliquer à la valeur transmise par le pilote. Par défaut, c'est simplement x, c'est à dire qu'il n'y a aucune transformation. Si on frappe 2*x, puis qu'on valide, la valeur affichée (et enregistrée dans le fichier correspondant) sera 238. Si, au contraire, on frappe -x, la valeur affichée sera – 119, etc. La syntaxe de transformation est la même que celle pour Mesugraf, Mesugraf pour Windows et MGW32, et les fonctions de transformations sont basées sur la bibliothèque Modulog. - Opérateurs habituels : +, -, *, / ; l'exponentiation est possible par ^ (par exemple 2^p) - Fonctions mathématiques unaires : ABS = valeur absolue ; SIN, COS, TAN = sinus, cosinus, tangente ;ASIN, ACOS, ATAN = arc sinus, arc cosinus, arc tangente ; SH, CH, TH = sinus, cosinus, tangente hyperbolique ; ASH, ACH, ATH =fonctions inverses des précédentes ; LN, LOG = logarithmes népérien et décimal ; EXP = exponentielle ; INT, FRAC = partie entière et partie fractionnaire ; ROUND = arrondi - Fonctions mathématiques binaires : Min(X,Y) renvoie le minimum de X et de Y ; Max(X,Y) renvoie le maximum de X et de Y - les constantes E et PI sont acceptées. Réglages de sorties analogiques Le volet « Sorties analogiques » permet de fixer les sorties, bien sûr pour les appareils et pilotes qui le permettent. Visu32 peut traiter jusqu'à 4 sorties analogiques (SA0 à SA3). Si les fichiers sont cochés comme actifs, lorsqu'un autre logiciel modifie la valeur des fichiers correspondants, Visu32 modifiera la valeur de la sortie analogique sur l'appareillage. Ainsi, on peut commander à distance l'appareillage. Lecture des entrées logiques (= entrées binaires) Le volet Entrées logiques montre l'état des entrées logiques (pour les interfaces et pilotes qui le permettent...). Visu32 peut exploiter jusqu'à 8 entrées logiques (EB0 à EB7), et écrire les valeurs dans les fichiers correspondants, sous la forme d'un seul chiffre, 0 ou 1. Commande des sorties logiques (= sorties binaires) Pour les appareils et pilotes qui le permettent, Visu32 peut commander les sorties binaires. Dans le volet « sorties binaires » est affichée la liste des sorties binaires possibles. En cliquant sur l'une, le bouton change de couleur, ce qui correspond au changement d'état de la sortie. Visu32 peut exploiter jusqu'à 8 sorties binaires, SB0 à SB7. Si les fichiers correspondants sont changés par un autre logiciel, éventuellement par un autre ordinateur du réseau, Visu32 va changer l'état des sorties correspondantes. On peut donc ainsi commander à distance les sorties logiques. Choix de l'intervalle entre les scrutations Par défaut, Visu32 a un intervalle de 200 ms entre les opérations de (lecture des entrées analogiques et logiques de l'appareil – écriture des fichiers correspondants – lecture des fichiers des sorties analogiques et logiques – action sur les sorties correspondantes). Cet intervalle peut être changé par la ligne « intervalle (ms) ». Ne le fixez pas trop court, surtout si vous travaillez en réseau, car il faut un certain temps (plusieurs millisecondes) pour lire et écrire les fichiers. Choix du nom des fichiers correspondant aux diverses voies Par défaut, Visu32 utilise des fichiers nommés Visu ; l'extension porte le nom de la voie : ea0, ea1... pour les entrées analogiques, SB0, SB1, SB2... pour les sorties logiques, etc : visu.ea0, visu.ea1, visu.sb0, etc. On peut choisir que ces fichiers aient le nom du pilote chargé par Visu32. On aura ainsi les fichiers xesao3.ea0, xesao3.ea1, xesao3.sb0, etc si le nom du pilote est xesao3.dll. Un autre type de nom de fichier est le nom de la fonction, avec toujours l'extension .ea0, .ea1... pour les entrées analogiques, .sa0, .sa1... pour les sorties analogiques, .eb0, .eb1... pour les entrées binaires et .sb0, .sb1... pour les sorties binaires. Le terme « nom de fonction » correspond à ce qui est affiché dans le volet correspondant. Ci-dessus, les sorties binaires pour le boitier ADES affichent 4 noms : les fichiers des sorties binaires seront donc « relais A.SB0, « relais B.SB0 », etc. Un avantage est que l'on voit mieux à quoi correspondent les fonctions, un inconvénient est que le nom des fichiers est plus compliqué. Les trois types de fichiers précédents étaient du même type : très simples, et contenant chacun la valeur d'une seule fonction. Le dernier type est plus complexe. Lorsqu'on choisit l'option « fichier unique visu.vis », Visu32 ne fait que deux fichiers, dont on ne peut pas choisir le nom : un fichier des entrées, nommé « visu_e.vis », et un fichier des sorties, nommé « visu_s.vis ». Comme le montre l'illustration ci-contre, chaque ligne du fichier contient le nom de la fonction (syntaxe des pilotes de Visu32), le séparateur « = », et la valeur correspondante. Cette option permet d'éviter l'emploi d'une multitude de petits fichiers. L'avantage est que les lectures et écritures des fichiers sont plus rapides (il y en a moins à ouvrir, traiter, fermer...), mais l'inconvénient est que la structure du fichier est plus complexe : lorsqu'on veut programmer soi-même un programme d'exao qui interagit avec Visu32, il y a un peu plus de lignes à écrire. Cette dernière option n'a pas encore beaucoup d'intérêt, mais elle sert de brouillon pour une amélioration future de Visu32, pour faire de l'EXAO par Internet... Quels programmes pour utiliser les fichiers créés par Visu32 ? Les exemples ci-dessous sont volontairement limités aux fonctions de base de l'EXAO, c'est à dire la lecture des entrées analogiques. Pilotes existant déjà pour la famille Mesugraf Cela peut paraître idiot : pourquoi passer par l'intermédiaire de Visu32, alors que les logiciels de la famille Mesugraf peuvent directement faire des mesures par l'intermédiaire des pilotes de type .dll ? C'est vrai, mais... - Visu32 peut travailler en réseau, et enregistrer ses fichiers dans un répertoire situé sur un ordinateur différent de celui sur lequel on fait les mesures. Ainsi, on peut faire les mesures sur un ordinateur A, enregistrer les mesures sur un ordinateur B, et les relire par un ordinateur C. - Pour l'instant, le logiciel ayant le plus de possibilités est Mesugraf pour Windows 16 bits, mais les ordinateurs fonctionnant en Windows XP ne permettent pas d'utiliser les dll de mesure en 16 bits. Une solution est donc de passer par Visu32, qui utilise les pilotes spéciaux pour WinXP, et qui enregistre les fichiers. Sur le même ordinateur, MGW peut relire les fichiers, tracer ses courbes, et éventuellement faire un peu de modélisation. Mesugraf pour Windows (16 bits) Utilisez qfichvis.dll, qui peut lire les fichiers de Visu32, mais ne permet pas l'accès au réseau. Mesugraf pour Windows 32 bits Utilisez xfichierscheminvisu32.dll, qui en plus permet l'accès au réseau. Tous les programmes que vous pouvez écrire vous-même, dans le langage de votre choix Pour faire des mesures par ordinateur, il faut faire des opérations complexes : soit aller lire et écrire dans les adresses-mémoire, soit maîtriser la communication par la voie série, la voie parallèle, la voie USB... D'une part, tous les programmeurs n'en sont pas capables, mais d'autre part, tous les langages de programmation ne le permettent pas. En utilisant Visu32 et ses fichiers, tous les langages de programmation permettent de faire de l'EXAO, puisque tous les langages permettent au moins de lire et d'écrire des fichiers de type texte. Vous pouvez donc utiliser toutes les variantes de Basic, Pascal, C, Logo, Python, mais aussi les macrocommandes des logiciels de bureautique, les logiciels gérant les bases de données, etc.