importation données port série

vincent50

XLDnaute Occasionnel
bonjour le forum,
je cherche une solution pour traiter directement dans une feuille excel des données venant dans appreil connecté au pc par un port serie par le protocole rs 232.
Quelqu'un peut il eclairer mes lanternes
Es ce possible?
Merci de votre aide
 

MJ13

XLDnaute Barbatruc
Re : importation données port série

Bonjour Vincent, Catrice

Voic un fichier que j'avais fait en 1998 (ou avant) pour récupérer des données d'appareils de mesures. Mais c'était en GWbasic à l'époque. Tu peux le remplacer le .VMP par .txt. Ensuite, il faut connaître les valeurs de vitesse, etc. par rapport à l'appareil.

5 CLS
10 KEY ON
12 KEY 4,"close"+CHR$(13)
14 KEY 5,"system"+CHR$(13)
1006 PRINT "NOM DU FICHIER ( A la fin de la transmission, taper sur CTRL + Pause puis taper close + entr‚‚ puis taper SYSTEM + Entr‚‚ puis ALT F4)":INPUT A$
1007 OPEN "O",#2,A$+".VMP"
1010 OPEN"COM1:4800,E,7,2,CS,DS,CD"AS#1
1035 INPUT#1,A$
1046 PRINT #2,A$
1060 GOTO 1035
1100 END
 
Dernière édition:

vincent50

XLDnaute Occasionnel
Re : importation données port série

merci, j'ai essayé mais je ne parviens pas a affiché le userform sur ma feuille excel
mon appareil est connecté au com4, mes données sont:
exemple:
Temps pris du concurent n°2 sur les entrees 1 et 2 (manuellemnt)
T00000000020M1009:09:15.608000<CR>
T00000000020M2009:09:27.277000<CR>
Temps net du concurrent n°2, classé rang 1 à 11.699sec
R00001000020000000000011.669000<CR>
détail des données:
1ou2 caractere pour l'identification de la trame de données
3 caracteres pour le classement
2 espaces
4 caracteres pour le n° du concurrent
1 espace
2 caracteres pour le n° d'entree des impulsions de chronometrage
1 espace
15 caracteres pour le temps
1 <CR>=fin de la trame de données
voila ce que j'ai sur ma notice
moi je cherche que les temps net calculés et le n° du concurrent s'affiche automatiquement dans ma feuille excel sans avoir de bouton de commande.
Encore merci de votre aide
 

Risleure

XLDnaute Occasionnel
Re : importation données port série

Bonjour Vincent50, le Forum

Voici en PJ le code d'un Userform que j'utilise pour récupérer de l'ASCII sur un port com. C'est un UserForm qui est en attente (boucle Do While) des valeurs arrivant sur le port.
Le code est documenté

Quand les données arrivent, le tampon les accumule jusqu'à réception du caractère de fin de paquet.

Ensuite il y a une mise en forme de ce paquet par une redistribution.
Le tampon est vidé et attente d'un nouveau paquet, etc
La fin est gérée manuellementpas un bouton Stop sur l'Userform qui ferme le canal sur le port. (ça c'est pour les marins!!! :D)

ATTENTION cette Macro exige l'installation de Microsoft Comm Control 6.0
Et elle n'est pas finie donc tu dois te positionner en $A$1 pour commencer l'acquisition. peut être qu'un jour j'aurai le temps mais elle marche comme ça ....

Risleure
 

Pièces jointes

  • Vincent50.zip
    22.5 KB · Affichages: 498
  • Vincent50.zip
    22.5 KB · Affichages: 475
  • Vincent50.zip
    22.5 KB · Affichages: 496

MJ13

XLDnaute Barbatruc
Re : importation données port série

Re bonjour vincent Risleur.

Vincent, d'après tes posts, on ne sait pas bien si tu récupéres des données dans un fichier et que tu veux faire un traitement sur un fichier de données ou si tu voudrais les récupérer, c'est à dire créer le programme de récupération des données et son traitement?

Pourrais-tu nous en dire plus?

Risleur, j'ai testé ton programme mais bon j'ai eu des bugs sur XL2003. Tu l'interfaces sur quel type d'appareil?

Par contre pour voir si cela fonctionne avec gwbasic et mon programme, c'est assez facile à faire.
Cet après midi, j'ai interfacé avec mon programme une balance pour récupérer des données, mais bon j'ai les données à la suite, il faudrait ensuite faire un traitement sur le txt.

C'est pour cela aussi que ce sujet m'intéresse.
 

Risleure

XLDnaute Occasionnel
Re : importation données port série

Bonsoir MJ13

Je suis à la maison et je passais par là mais j'ai pas tout les éléments sur moi :D
Mais voici qqs explications. L'appareil que j'utilise est un thermomètre 2 voies qui enregistre jusqu'a 1000 pts sur les 2 voies.
Les deux voies ne sont pas obligatoirement connectées alors la valeur de la voie inutilisée est remplacée par "OPEN" que par facilité j'ai remplacé par #N/A car dans la version complète je trace un graphe au fur et à mesure des entrées. Mais la version complète ne passait pas : trop lourde.
L'UF me permet de décharger la mémoire du thermomètre au travers d'un port IR lui même connecté au COM1 du PC. Excel est en attente et je lance la transmission à partir du thermomètre enregistreur.
Le paquet de data comprend donc la date; l'heure; voie1; voie2; fin du paquet
lors de la 1ere boucle je mets des titres en haut des colonnes,
la 2eme boucle contient l'heure de départ qui est celle que j'utilise ensuite pour calculer le temps passé pour le graphique.
Il y a une genre de barregraphe pour faire joli mais ça tu peux l'enlever.
Je suis en déplacement lundi et mardi si tu as un pb, je ne reviens que mercredi.

Courage
 

vincent50

XLDnaute Occasionnel
Re : importation données port série

bonjour, merci de vos reponses,
ce que je veux faire, c'est recuperer les donnees de mon chronometre et quelles remplissent automatiquement un tableau qui serait composé d'une colonne "N°" et une colonne "temps net".
je vous met un exemple des que j'ai 5 minutes.
encore merci de votre aide
 

bliebb3

XLDnaute Nouveau
Re : importation données port série

Moi pour interfacer mes appareils RS232 (balances, chronomètre, pied a coulisse et autres) avec Excel j'utilise ce petit logiciel: Logiciel de communication vers rs232 vers port clavier incluant serveur telnet avec protocole tcp

Il communique directement avec Excel via DDE (Important: il faut télécharger le module d'extension Excel ... qui est gratuit) il peut aussi le faire via le tampon du clavier mais moi je préfère utiliser le module DDE !

Le manuel est en français et le support technique aussi !

Il y a un frais de 35$ mais pour ma part cela vaut la peine car cela me sauve bien du temps !

Bonne continuation !

Paul
 

Discussions similaires