Programmation com port en vbs
ingrid13
Messages postés
149
Statut
Membre
-
31 oct. 2009 à 16:31
ingrid13 Messages postés 149 Statut Membre -
ingrid13 Messages postés 149 Statut Membre -
Bonjour,
Ca fait deux semaines que je m'arrache les cheveux pour trouver une solution sur un programme en vbs en vain.
J'ai deux programmes que j'essaie de faire communiquer a travers une paire virtuels COM10<>COM11
Le premier programme envoie des messages a chaque fois que je manipule son interface graphique...
A chaque fois que je click sur un bouton, un message ( exemple : S, C,T...) est envoyé sur le COM10.
Par monitoring, je sais que le message arrive bien au COM10.
Jusque là tout fonctionne, ... ou je me plait a le croire :-))
Là où mon probleme arrive , c'est sur le deuxieme programme. Je dois faire un programme en vbscript.
Le deuxieme programme est celui ci
http://www.faulhaber.com/n41656/i425657.html
Ce programme en interface graphique me donne la possibilité de concevoir dans sa racine un script en VB pour le dev.
J'aurai aimé faire un prog assez simple, du genre, ouvrir le com11 attendre un message.... lorsque le message "S" est reçu(exemple) , executer une commande objet.sendmessage(XXX) ... du genre!
Si l'idée est assez simple, je n'y casse des dents dessus car jusqu'a present je n'ai jamais utiliser VB et tres peu souvent du dev sur windows.
N'y aurait il pas une bonne ame pour m'aider a avancer...
Ingrid
Ca fait deux semaines que je m'arrache les cheveux pour trouver une solution sur un programme en vbs en vain.
J'ai deux programmes que j'essaie de faire communiquer a travers une paire virtuels COM10<>COM11
Le premier programme envoie des messages a chaque fois que je manipule son interface graphique...
A chaque fois que je click sur un bouton, un message ( exemple : S, C,T...) est envoyé sur le COM10.
Par monitoring, je sais que le message arrive bien au COM10.
Jusque là tout fonctionne, ... ou je me plait a le croire :-))
Là où mon probleme arrive , c'est sur le deuxieme programme. Je dois faire un programme en vbscript.
Le deuxieme programme est celui ci
http://www.faulhaber.com/n41656/i425657.html
Ce programme en interface graphique me donne la possibilité de concevoir dans sa racine un script en VB pour le dev.
J'aurai aimé faire un prog assez simple, du genre, ouvrir le com11 attendre un message.... lorsque le message "S" est reçu(exemple) , executer une commande objet.sendmessage(XXX) ... du genre!
Si l'idée est assez simple, je n'y casse des dents dessus car jusqu'a present je n'ai jamais utiliser VB et tres peu souvent du dev sur windows.
N'y aurait il pas une bonne ame pour m'aider a avancer...
Ingrid
A voir également:
- Programmation com port en vbs
- Waptrik com - Télécharger - Divers TV & Vidéo
- Vbs windows - Accueil - Optimisation
- Hotmail. com ou .fr - Forum Hotmail / Outlook.com
- Singemp3.com - Forum Téléchargement
- Port ping ✓ - Forum Réseaux sociaux
1 réponse
Bonjour,
Voici un essaie
Le décor ...
J'ai un programme qui envoie sur le COM10 le caractere S pour start et T pour stop.
COM10 et COM11 sont une paire virtuel ( Com0Com )
Le programme en vbs lit le Com11 en boucle... s'il reçoit "S" il execute la commande MC.SendCommand("ENPROG")...
Tant qu'il ne recoit pas "T", si c'est le cas, ferme le Com11 et exit.
J'aurai eu beaucoup de change si ce programme fonctionnait du premier coup mais ce n'ai pas le cas.
Un monitoring sur le Com11 m'indique bien que le programme tourne en boucle sur le Com11.
Le probleme survient lorsque je lance ce script.
MC.SendCommand("ENPROG") est executé immediatement, c'est une commande la mise en marche d'un moteur PàP.
Si j'envoie le message "S" sur le Com (Theoriquement, il devrait executer la commande MC.SendCommand("ENPROG"))
le monitoring m'indique la fermeture du port, soit la commande MS.PortOpen=False...
En gros ily a un decalage dans mon execution et je n'arrive pas a corriger ce defaut.
Quelqu'un aurait une idée
Merci pour toutes infos
Voici un essaie
SUB MAIN
Dim i
Set MS=CreateObject("MSCOMMLib.MSComm")
MS.CommPort=11
MS.PortOpen=True
Do while i = T :
i = MS.Input
If i = S Then
MC.SendCommand("ENPROG")
End If
Loop
MS.PortOpen=False
END SUB
Le décor ...
J'ai un programme qui envoie sur le COM10 le caractere S pour start et T pour stop.
COM10 et COM11 sont une paire virtuel ( Com0Com )
Le programme en vbs lit le Com11 en boucle... s'il reçoit "S" il execute la commande MC.SendCommand("ENPROG")...
Tant qu'il ne recoit pas "T", si c'est le cas, ferme le Com11 et exit.
J'aurai eu beaucoup de change si ce programme fonctionnait du premier coup mais ce n'ai pas le cas.
Un monitoring sur le Com11 m'indique bien que le programme tourne en boucle sur le Com11.
Le probleme survient lorsque je lance ce script.
MC.SendCommand("ENPROG") est executé immediatement, c'est une commande la mise en marche d'un moteur PàP.
Si j'envoie le message "S" sur le Com (Theoriquement, il devrait executer la commande MC.SendCommand("ENPROG"))
le monitoring m'indique la fermeture du port, soit la commande MS.PortOpen=False...
En gros ily a un decalage dans mon execution et je n'arrive pas a corriger ce defaut.
Quelqu'un aurait une idée
Merci pour toutes infos