xeo44
Messages postés6Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention26 septembre 2006
-
3 juil. 2004 à 10:50
cs_djief
Messages postés42Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention11 août 2004
-
8 juil. 2004 à 19:22
voila, je suis en train de faire un petit programme afin de discuter avec un automate, pas de soucis pour connaitre le codage de la trame, le constructeur nous l'a donner.
j'utilise mscomm sous vb mais il fonctionne pas super bien...
j'arrive a écrire dans l'automate mais ca passe une fois sur cinq... pourtant j'envoie bien la trame sur le port (j'utilise un logiciel pour espionner le port).
et pour la lecture, pareil, j'envoie une trame a l'automate et il me répond une fois sur cinq et il me répond un code que j'arrive pas a déchiffrer, meme en binaire...
je voulais savoir si y'avait un autre moyen plus stable d'utiliser le port serie sous vb (genre dll)
si y'en a qui ont eu les memes prob que moi, comment ils ont réussis a en sortir...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 3 juil. 2004 à 18:23
Salut xeo44
Un petit conseil : Le port série nécessitant une gestion de la part de la carte mère, il faut que le processeur ait le temps de gérer ses interruptions : Il ne faut surtout pas que ton programme accapare tout le temps machine
--> Insères des "DoEvents" partout, en tous les cas après chaque envoi de trame et dans chaque boucle de traitement For-Next ou Do-Loop si tu en as.
Sinon, si ton protocole est du ModBus, tu peux regarder cette appli utilisant une OCX dédiée au modbus.
xeo44
Messages postés6Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention26 septembre 2006 3 juil. 2004 à 23:09
merci bien jack pour ta réponse. je ne peux pas utiliser modbus comme protocole car le materiel que j'utilise ne communique qu'en s-bus...
effectivement j'ai beaucoup de boucle for-next, surtout dans mon calcul de crc... d'apres toi ca viendrait de la mon probleme d'instabilité d'écriture ou de lecture???
mon prog s'execute instantanément pourtant, je vais essayé quand meme!!!!!
xeo44
Messages postés6Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention26 septembre 2006 5 juil. 2004 à 10:44
toujours pareil, j'ai beau mettre des "doevents" un peu partout, ma communication avec mon auromate est toujours aussi hasardeuse... (1 trame sur 5 en moyenne est bien recue par l'automate).
j'ai vu sur quelques forums que vb n'envoyait pas les données sur le port serie de facon asynchrone... (j'ai pas tout tout compris mais bon apparemment ca posait quelques pb...)
savez vous quelque chose sur ce sujet?
est-ce que passer vers .net pourrais résoudre mes pb?
je commence a désespérer car mon code est bon mais j'ai l'impression que c'est la gestion de la communication par vb qui me pose pb...
et je ne veux plus avancer sur mon projet car je ne sais pas si je dois rester en vb ou alors le faire en c (apparemment bcp moins de soucis...)
cs_djief
Messages postés42Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention11 août 2004 8 juil. 2004 à 19:22
salut
Si tu as des signaux de controle, tu dois les ajoutés après l'ouverture du port. Pour moi, c'étais mon problème. Une fois mes signaux de controle ajouté aux bons endroits tout fonctionne bien.