RS232 et Commande ms dos

higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007 - 6 juin 2007 à 18:04
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007 - 7 juin 2007 à 07:14
Bonjour
Voilà mon pb j'essai en vain sous vb de communiquer avec le port com de mon pc avec un automate EMG Le souci est que la lecture et l'ecriture des parametres se fait sous environnement dos mais avec xp pas moyen de d'acceder a l'automate avec la console msdos. Jai donc creer sous visual basic une routine qui envoi un shell comme commande mais en retour j'ai un message d'erreur du a la non ouverture du port com . J'ai essayé differents codes pour l'ouverture de ce port mais lors de l'execution toujours le même pb. Auriez vous une idée comment je peux faire pour d'une part ouvrir le port com puis lors de l'execution du shell reussir a communiquer avec mon automate
Merci d'avance pour vos reponces

12 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
6 juin 2007 à 19:03
Salut
XP ne gère pas de mode DOS, ce n'est qu'une émulation.
Par contre, sous VB6, avec le composant MSComm32, tu peux dialoguer en utilisant un port COM, suffit de le paramétrer.
Charge et analyse le code des sources qui parlent de COM1 (dans le module de recherche)
Tu verras comment écrire et récupérer des données sur ce composant.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
6 juin 2007 à 19:23
J'ai essayé plusieurs code mscomm trouve sur le site mais pas de resultat peux etre esce moi ui le configure mal . Faut il ouvrir le pour avant d'executer la command ms dos ou faut il la faire en meme temps?
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
6 juin 2007 à 19:28
Re
Est-ce le composant MSCOMM32 que tu ne trouves pas sur ta machine, ou bien tu n'arrives pas à t'en servir ?
Soit précis, stp
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
6 juin 2007 à 19:34
Il est bien installe sous system32 et déclare , en fait je pense que je ne sais pas m'en servir c'est une premiere pour moi . Le soucis c'est de savoir dans quel ordre faut le faire dois je mette tout dans la meme form ou pas?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
6 juin 2007 à 19:40
Dans quel ordre tu dois faire quoi ?
Oui, il y a un ordre :
- Paramétrer le composant : No de port, vitesse, parité ...
- L'ouvrir avec  MSComm1.PortOpen
- Envoyer des données   MSComm1.Output "Coucou l'automate"
- Recevoir des données avec l'évènement OnComm et un peu de programme pour savoir pourquoi le composant se réveille (données reçues ou erreur ?) ==> Voir l'aide de VB6
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
6 juin 2007 à 19:44
pour les parametres c'est bon mais ce que je ne saisi pas c'est comment j'envoi ensuite la commande shell cad mon point .bat via la commande cmd.exe .j'ai la console qui s'ouvre est ca me dit qu'il ne peut pas dialoguer Faut il l'envoyer plutot avec mscomm1.output?
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
6 juin 2007 à 19:47
Mais pourquoi veux-tu passer par DOS ?
Non, VB s'adresse directement au port COM.
Il suffit donc d'envoyer avec un MSComm1.Output le texte contenu dans tes fichier BAT.
Il suffit donc :
- Soit de recopier leur contenu dans ton programme
- Soit ouvrir les fichiers BAT comme des fichiers texte (le site est rempli d'exemples) et d'envoyer leurs contenus
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
6 juin 2007 à 19:49
le souci c'est que ce batch envoi ensuite une commande a un .exe qui ne fct pas en autonome Tu pense que cela pourrais quand meme fonctionner?
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
6 juin 2007 à 20:46
'Envoi une commande a un exe" Comment veux-tu que je te réponde ?
Quel genre de commande ? A quel EXE ? pour quoi faire ? un rapport avec la comm série ?
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
6 juin 2007 à 21:45
Excuse moi je ne suis pas tres clair en fait
dans le batch  j'ai " dload16.exe c:\xxx\xxx.h56" donc on execute l'exe en fonct de la config désirée car un meme systeme peux accepter plusieurs configs puis cet exe va ecrire les parametres dans le variateurs via le port com  puis, le telechargement termine il renvoi le message comme quoi la procedure c'est bien realisée
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 juin 2007 à 23:07
Si j'ai bien suivi, c'est dload16.exe qui accède à ton matériel via le port COM

Et comme tu as précisé qu'il fonctionnait sous Dos, je présume que le 16 veut dire 16bits.

J'en deduit donc que cet exe est fait pour fonctionner sous Dos et Windows 3.1, éventuellement Win95.

J'en déduit surtout, (en m'avançant beaucoup quand même), que cet exe ne peut pas fonctionner sous un système 32bit qui plus est une plateforme NT pour la simple et bonne raison qu'il doit utiliser le port com en faisant des accès direct au matériel, chose que XP ne permet d'aucune manière (à l'exception des drivers).

Si je ne me trompe pas donc, il va te falloir trouver une version plus recente prévue pour tourner sous XP.
Sinon il te faudra reprendre par le code, tout ce que faisait cet executable. Ce qui signifie que tu devra avoir de la doc sur le protocole d'échange entre le matériel et ce logiciel. Eventuellement sniffer les échanges en te branchant en parallèle sur le cable entre le pc et le matériel.

Vaste chantier.

J'espère me tromper.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
higway Messages postés 7 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 juin 2007
7 juin 2007 à 07:14
ca resume bien mon pb en effet j'ai appele le constructeur et leur technicien utilise dos 6.22 merci pour vos informations sympa
0