| Port série COM RS232 | |
|
|
Auteur | Message |
---|
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Port série COM RS232 Mar 21 Jan 2014 - 15:21 | |
| Bonjour,
J'ai l'impression que l'on a oublié les fonctions pour l'usage du port série!
J'utilise abondamment ce port même avec Win XP. Sur Win 7 j'ai un problème non résolu.
Je maîtrise l'usage de ce port qui est bien commode pour la collecte de données. Par exemple, le contrôle du CI MAX187 convertisseur A/N 12 bits. Il est possible de collecter des données sur 4 canaux avec ce port. (8 canaux si l'on dispose de COM1 et COM2)
J'aimerais bien que cette fonction existe en PANORAMIC.
Certes, sur les machines récentes ce port n'existe plus. Il y a des adaptateurs bien que j'aime moins cet usage car le débit est ralenti.
Le port USB oblige à utiliser un microcontrôleur ce qui complique l'électronique.
Certains portables usagés ou qui datent ont encore ce port. Je viens d'en acheter une dizaine! Pour les bricoleurs c'est bien plus pratique et immédiat que le port USB. Sinon avec USB je dois acheter une interface dédiée et logiciel d'accompagnement.
Il ne serait pas inutile de générer une commande pour le port série COM.
Qu'en pensez-vous?
Salutations,
Jasym | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 17:18 | |
| Dans mon WebDav, j'ai un dossier IO_Access_COM. Dedans, tu trouves entre autres: - IO_Access_COM.dll c'est une DLL gérant un port RS232, avec des fonctions appellables par Panoramic - test_IO_Access_COM.bas c'est un programme démo en Panoramic pour montrer l'utilisation de ces fonctions J'ai réalice cette DLL à partir d'une DLL fournie en gratuiciel, avec les références suivantes: - Citation :
- {*************************************************************}
{* "IO_Acces_COM" *} {* DLL d'acces aux lignes d'un port RS232 *} {* rev : 02/05 07/07 - D5 *} {* © 2005-2007 *} {* http://www.automatepc.fr *} {*************************************************************} Fonctionnellement, mon implantation pour Panoramic est identique à celle référencée ci-dessus. Si tu as des quiestions sur un aspect technique, n'hesite pas de poser des quiestions. Par contre, pour la pratique, je ne peux pas t'aider - je n'ai pas de port RS232 (bien que je les connaisse bien - j'ai réalisé moultes connexions d'automates d'analyses aux ordinateurs via des ports RS232). Bonne chance ! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 21 Jan 2014 - 17:22 | |
| Je crois ( mais je ne suis pas sûr ) qu' une demande a été faite pour les usb mais là ne crois tu pas qu' il faille aller vers le plus récent d' autant que, vu les évolutions, ces ports devraient disparaître... Edit : J' avais oublié cette dll de notre ami Klaus pour les roboticiens.... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 17:36 | |
| Pour les USB, j'ai aussi... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 21 Jan 2014 - 20:42 | |
| @ Klaus, Oui mais que n' as tu pas ?.... Ton webdav est une formidable trousse à outils pour les Panoramiciens... | |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 21:18 | |
| - ygeronimi a écrit:
- Je crois ( mais je ne suis pas sûr ) qu' une demande a été faite pour les usb
mais là ne crois tu pas qu' il faille aller vers le plus récent d' autant que, vu les évolutions, ces ports devraient disparaître...
Edit : J' avais oublié cette dll de notre ami Klaus pour les roboticiens.... Tu as bien raison. Je mesure la température par intervalle de 10 s en continu depuis 8 ans avec un PC model 286 et rien n'a lâché. Il est indestructible! Comment pourrais-je me défaire d'une telle machine. J'ai toujours un peu le coeur serré quand je vois le nombre de ces machines qui vont au dépotoir simplement pour faire nouveauté. Un bon outil prend de la noblesse avec l'âge. C'est vrai pour le marteau et l'équerre, pourquoi ce ne le serait pas pour un ordinateur. Tu me pardonnes... je suis un nostalgique. Mais pour ceux qui n'ont qu'une machine moderne, bien oui, il faut aller vers le port USB. Dans mon cas je ne suis pas à niveau pour interfacer un tel port. J'apprécie ton opinion, Jasym | |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 22:03 | |
| - Klaus a écrit:
- Dans mon WebDav, j'ai un dossier IO_Access_COM. Dedans, tu trouves entre autres:
- IO_Access_COM.dll c'est une DLL gérant un port RS232, avec des fonctions appellables par Panoramic
- test_IO_Access_COM.bas c'est un programme démo en Panoramic pour montrer l'utilisation de ces fonctions
J'ai réalice cette DLL à partir d'une DLL fournie en gratuiciel, avec les références suivantes: - Citation :
- {*************************************************************}
{* "IO_Acces_COM" *} {* DLL d'acces aux lignes d'un port RS232 *} {* rev : 02/05 07/07 - D5 *} {* © 2005-2007 *} {* http://www.automatepc.fr *} {*************************************************************} Fonctionnellement, mon implantation pour Panoramic est identique à celle référencée ci-dessus. Si tu as des quiestions sur un aspect technique, n'hesite pas de poser des quiestions. Par contre, pour la pratique, je ne peux pas t'aider - je n'ai pas de port RS232 (bien que je les connaisse bien - j'ai réalisé moultes connexions d'automates d'analyses aux ordinateurs via des ports RS232).
Bonne chance ! Klaus Webdav je ne sais pas ce que c'est. Le site automatepc.fr n'est pas accessible. Peux-tu envoyer le fichier pertinent sur mon courriel? À bientôt, Jasym | |
|
| |
Invité Invité
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 23:11 | |
| - Citation :
- Webdav je ne sais pas ce que c'est. Le site automatepc.fr n'est pas accessible.
Lorsqu'on est connecté, on a mis sa signature avec le nom d'un site sur lequel on dépose nos dossiers qu'on ne peut pas mettre sur le forum: le site est dans la barre d'adresse de la première image: www.mydrive.ch/logintu peux l'adresse du site pour te brancher: tu remplis les champs avec les données de la signature: La majorité d'entre-nous hébergeons mon fichiers sur ce site. Il faut s'incrire: 2 GO gratuit. |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Port série COM RS232 Mar 21 Jan 2014 - 23:54 | |
| | |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Re: Port série COM RS232 Mer 22 Jan 2014 - 2:18 | |
| - Klaus a écrit:
- Super tuto, cosmos70 !
Toute ma reconnaissance Klaus, ça n'a pas été facile de m'y retrouver. Quand enfin j'ai pu composer le bon code ça été refusé. Tout me semblait correct. Je ne comprends pas pourquoi. J'ai tenté ma chance de nouveau et là le bon graffiti est apparu. Ah! l'informatique. C'est à ruiner notre patience... Il me reste à essayer la routine. Mais je laisse cela à un ami qui a de l'avance sur moi avec Panoramic. Pour mon portable qui ne reconnait pas Panoramic... Le technicien a reconnu de la magouille dans le paramétrage. Pour la troisième fois... formatage du disque dur et le tout est repris à zéro J'espère un résultat positif. Sinon adieu Panoramic pour ces machines. Je vais passer au Python! À la prochaine, Jasym | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Port série COM RS232 Mer 22 Jan 2014 - 3:07 | |
| | |
|
| |
Invité Invité
| Sujet: Re: Port série COM RS232 Mer 22 Jan 2014 - 14:04 | |
| Oui, je pense un peu comme toi. L'abandon est rapide. Bon chacun a sa liberté. |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 22 Jan 2014 - 17:58 | |
| Que veux tu Cosmos...certains cherchent à virer les vers et d' autres introduisent carrément un serpent.... | |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Programmation des registres Jeu 13 Fév 2014 - 17:26 | |
| Bonjour,
J'ai bien obtenu la DLL IO_Acces_COM .
La vérification du port fonctionne.
Mais cela m'est d'aucun secours. Ça dit seulement que le port est fonctionnel. Probablement pour opérer en RX TX.
Je ne me sers pas de cette fonction. J'utilise plutôt la recharge des registres. Voir le document en annexe. (Oups! Pas moyen d'annexer un fichier sur le forum!)
La manipulation des registres (MCR et MSR) est-elle possible avec Panoramic?
(Je règle les états RTS et DTR (adresse 1020) et je lis les états CTS DSR RI et CD (adresse 1022).)
Jasym | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Port série COM RS232 Jeu 13 Fév 2014 - 22:34 | |
| Je ne connais pas cette DLL. J'ai simplement créé l'interface pour Panoramic, mais je ne connais pas son fonctionnement interne. Je te donne ici le petit programme Panoramic qui exploite toutes les fonctions de cette DLL. Elles y sont toutes, et il n'y en a pas d'autres. J'espère que tu y trouveras ton bonheur: - Code:
-
' test_IO_Access_COM.bas
label tester
dim res%, dat%, buffer$, taille%, int%, float
combo 10 : top 10,20 : left 10,20 : width 10,170 item_add 10,"ComUsePort" item_add 10,"ComStateIn" item_add 10,"ComStateOut" item_add 10,"ComConfig" item_add 10,"ComSetDataOut" item_add 10,"ComGetDataIn" item_add 10,"ComSetBlockOut" item_add 10,"ComGetBlockIn" item_add 10,"ComGet4ByteBlockIn INT" item_add 10,"ComGet4ByteBlockIn FLOAT"
button 20 : top 20,20 : left 20,200 caption 20,"Tester" : on_click 20,tester
dll_on "IO_Acces_COM.dll"
end
tester: select item_index(10) case 1 res% = dll_call1("ComUsePort",1) message "Résultat: "+str$(res%) case 2 res% = dll_call1("ComStateIn",1) message "Résultat: "+str$(res%) case 3 res% = dll_call2("ComStateOut",2,1) message "Résultat: "+str$(res%) case 4 res% = dll_call4("ComConfig",1200,8,1,0) message "Résultat: "+str$(res%) case 5 res% = dll_call1("ComSetDataOut",65) message "Résultat: "+str$(res%) case 6 res% = dll_call1("ComGetDataIn",adr(dat%)) message "Résultat: "+str$(res%)+" Data="+str$(dat%) case 7 buffer$ = "abcde" taille% = len(buffer$) res% = dll_call2("ComSetBlockOut",adr(buffer$),taille%) message "Résultat: "+str$(res%) case 8 buffer$ = string$(512," ") taille% = 512 res% = dll_call2("ComGetBlockIn",adr(Buffer$),adr(taille%)) if taille%>0 buffer$ = left$(buffer$,taille%) message "Résultat: "+str$(res%)+" "+buffer$ else message "Résultat: "+str$(res%) end_if case 9 dat% = 0 res% = dll_call1("ComGet4ByteBlockIn",adr(int%)) if res%=1 message "Résultat: "+str$(res%)+" Entier reçu: "+str$(int%) else message "Résultat: "+str$(res%) end_if case 9 float = 0 res% = dll_call1("ComGet4ByteBlockIn",adr(float)) if res%=1 message "Résultat: "+str$(res%)+" Entier reçu: "+str$(float) else message "Résultat: "+str$(res%) end_if end_select return
| |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: IO_ACCESS_COM Jeu 13 Fév 2014 - 23:29 | |
| - Klaus a écrit:
- Je ne connais pas cette DLL. J'ai simplement créé l'interface pour Panoramic, mais je ne connais pas son fonctionnement interne. Je te donne ici le petit programme Panoramic qui exploite toutes les fonctions de cette DLL. Elles y sont toutes, et il n'y en a pas d'autres. J'espère que tu y trouveras ton bonheur:
- Code:
-
' test_IO_Access_COM.bas
label tester
dim res%, dat%, buffer$, taille%, int%, float
combo 10 : top 10,20 : left 10,20 : width 10,170 item_add 10,"ComUsePort" item_add 10,"ComStateIn" item_add 10,"ComStateOut" item_add 10,"ComConfig" item_add 10,"ComSetDataOut" item_add 10,"ComGetDataIn" item_add 10,"ComSetBlockOut" item_add 10,"ComGetBlockIn" item_add 10,"ComGet4ByteBlockIn INT" item_add 10,"ComGet4ByteBlockIn FLOAT"
button 20 : top 20,20 : left 20,200 caption 20,"Tester" : on_click 20,tester
dll_on "IO_Acces_COM.dll"
end
tester: select item_index(10) case 1 res% = dll_call1("ComUsePort",1) message "Résultat: "+str$(res%) case 2 res% = dll_call1("ComStateIn",1) message "Résultat: "+str$(res%) case 3 res% = dll_call2("ComStateOut",2,1) message "Résultat: "+str$(res%) case 4 res% = dll_call4("ComConfig",1200,8,1,0) message "Résultat: "+str$(res%) case 5 res% = dll_call1("ComSetDataOut",65) message "Résultat: "+str$(res%) case 6 res% = dll_call1("ComGetDataIn",adr(dat%)) message "Résultat: "+str$(res%)+" Data="+str$(dat%) case 7 buffer$ = "abcde" taille% = len(buffer$) res% = dll_call2("ComSetBlockOut",adr(buffer$),taille%) message "Résultat: "+str$(res%) case 8 buffer$ = string$(512," ") taille% = 512 res% = dll_call2("ComGetBlockIn",adr(Buffer$),adr(taille%)) if taille%>0 buffer$ = left$(buffer$,taille%) message "Résultat: "+str$(res%)+" "+buffer$ else message "Résultat: "+str$(res%) end_if case 9 dat% = 0 res% = dll_call1("ComGet4ByteBlockIn",adr(int%)) if res%=1 message "Résultat: "+str$(res%)+" Entier reçu: "+str$(int%) else message "Résultat: "+str$(res%) end_if case 9 float = 0 res% = dll_call1("ComGet4ByteBlockIn",adr(float)) if res%=1 message "Résultat: "+str$(res%)+" Entier reçu: "+str$(float) else message "Résultat: "+str$(res%) end_if end_select return
Merci Klaus, je vais m'y pencher à nouveau. | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Port série COM RS232 Ven 14 Fév 2014 - 22:06 | |
| bonsoir a tous @ jasym tu nous mets l'eau à la bouche connais tu un bon tuto sur le sujet:
. Voir le document en annexe. La manipulation des registres (MCR et MSR) est-elle possible avec Panoramic? (Je règle les états RTS et DTR (adresse 1020) et je lis les états CTS DSR RI et CD (adresse 1022).)
pour ma part je reste encore sur le port parallele par manque de connaissance merci
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Port série COM RS232 Ven 14 Fév 2014 - 22:58 | |
| A ma connaissance, tu utilises ComStateIn et ComStateOut pour ça. Tu n'as aucun moyen d'accéder à des adresses physiques. Tout l'adressage se fait par des adresses virtuelles, et elles n'incluent évidemment pas les registres gérant un port physique. C'est la tâche exlusive des drivers système de faire ça.
Pour un tuto pour cette DLL, il faut demander poliment à mon ami, Mr. Google. Il saura certainement te trouver cela, puisqu'il trouve presque tout... | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Port série COM RS232 Sam 15 Fév 2014 - 14:02 | |
| merci Klaus comme souvent je n'ai pas eté assé clair c'est l'usage et l'utilitée du port RS232 qui m'interresse " transfert d'info ..." bien sur, GOOGLE regorge de données mais c'est souvent touffu merci pour ton soutient | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Port série COM RS232 Sam 15 Fév 2014 - 18:20 | |
| | |
|
| |
jasym
Nombre de messages : 23 Date d'inscription : 16/01/2014
| Sujet: Port serie RS232 Sam 15 Fév 2014 - 22:15 | |
| Bonjour, Il y a un peu de confusion sur le forum... J'ai lu un message de mindstorm mais je ne le retrouve pas ici. C'est comme s'il y avait deux canaux de forum!!! Pour répondre à mindstorm au sujet de l'usage du port RS232, Je peux tout faire sur ce port sauf que je n'utilise pas la transmission normalisée en RX TX. J'accède directement aux registres internes du port mais cela en QBASIC. Par exemple, je collecte des données avec le convertisseur A/N MAX187 à une vitesse tout de même intéressante. Cela sans utiliser le CI d'adaptation pour le RS 232 car il génère trop de bruit (Il y a un convertisseur de niveau de tension dedans.) Comme le MAX187 a une résolution de 1 mV, il faut minimiser le bruit électronique. Cela évite d'utiliser un microcontrôleur pour des tâches simples. En BASIC il s'agit d'utiliser les fonctions INP et OUT. Il est possible de passer par le port USB en utilisant un adaptateur USB/RS232. Mindstorm, si tu veux passer par le langage BASIC je peux te fournir les détails techniques du port RS232 pour pouvoir monter les circuits électroniques nécessaires pour établir un lien de communication de cette façon. M'envoyer un courriel à mesidtec@gmail.comJasym | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Port série COM RS232 Sam 15 Fév 2014 - 22:40 | |
| merci jicehel je n'y etais pas allez depuis quelques temps (par manque de temps) et le blog c'est considerablement etoffé @ jasym il reprend les explications que tu cherche pour la DLL ps : si tu cherche un message sur un sujet precis et que par chance tu connaisse l'auteur -passe par "membres" il y a la liste des membres et bien sur la liste des messages de chaque membres tu peux egalement envoyer un message perso ( je t en passe un pour test ) | |
|
| |
Contenu sponsorisé
| Sujet: Re: Port série COM RS232 | |
| |
|
| |
| Port série COM RS232 | |
|