cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005
-
24 nov. 2005 à 17:35
cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005
-
2 déc. 2005 à 15:31
Hello,
Je doit réaliser un projet dans le quel je doit recevoir des infos d'un appareil mais j'arrive à me connecter à l'appareil (port com) avec differents soft, mais je n'arrive pas a communiquer...
Est-ce que qq'un peut m'aider
l'appareil en question est un app. de la fabrication de l'entreprise Falcon modele : PT40...
perathoner
Messages postés90Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention26 juillet 2006 24 nov. 2005 à 17:49
Il faut utiliser un composant active X : MsComm.
et puis tu te fais un truc du genre :
'Retourne True si connexion ouverte
Public Function InitCommunication(Vitesse As Long, Parite As String, BitDonnees As Integer, BitStop As String, MyVoie as Integer) As Boolean Dim MyParamConnexion As String
' Ouvre le port si fermé
If MSComm1.PortOpen = False Then
' Définit la propriété InputMode pour la lecture de données binaires
MSComm1.InputMode = comInputModeBinary
' Définit qu'il n'y a pas de protocole matériel
MSComm1.Handshaking = comNone
' Définit les paramètres de connexion
MSComm1.Settings = MyParamConnexion
' Définit le N° du port
MSComm1.CommPort = MyVoie
' Ouvre le port
MSComm1.PortOpen = True
End If
' Lancement du Timer
Timer1 = True
' Restitution
InitCommunication = True
perathoner
Messages postés90Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention26 juillet 2006 24 nov. 2005 à 17:56
Sinon il faut de demander en quoi elle cause ta machine ???
C'est quoi le protocol utilisé pour communiquer entre ton Pc et ton appareil ?? (ModBus, etc...)
Une fois que tu as cette réponse, il faut que tu lise les données dans ton buffer puis
grace au protocole du décortique ta trame pour que tes infos aient un sens ...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 nov. 2005 à 22:15
Vérifie dans la doc de ton appareil, s'il n'y a pas des infos sur le
protocole et le format des données transmises sur le port série.
Sinon appele le fournisseur pour savoir s'il est possible de
l'interfacer avec le prog que tu développe, visiblement il est déjà
livrer avec un logiciel permettant de vider l'appareil sur le pc, il
n'est pas certain que tu puisse faire ton propre prog.
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 25 nov. 2005 à 07:23
Après consultation des données du fabriquant, je suppose que tu dois envoyé une série de commande à ce périphérique pour qu'il te restitue les datas qu'il enmagasine. regarde dans le manuel, si tu n'est pas sure des commandes à utiliser essaye dans un premier temps avec hyperterminal. et assure toi aussi que tu utilise un bon cable de liaison, ainsi que les bon parametres de communication (baud rate,parity,etc..)entre les
deux éléments.
Pascal Laurençon
cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005 25 nov. 2005 à 09:59
D'après le manuel du fabricant il dise uniquement que la comm ce fait avec les protocoles ACK/NAK et XModem, mais il ne parle pas de comment faire pour etablire une connexion et communiquer avec cet... appareil.
cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005 29 nov. 2005 à 08:41
Hello,
J'ai essayé comme vous m'avez demandé mais le problème est que je recois un signal ok, mais pas les données alors que, avec l'Hyperterminal de Windows j'arrive sans problème.
Il m'affiche les données sans problèmes :
Une question de débutant :
- Est-ce qu'il n'y a pas un moyent d'utiliser le composants qu'utilise l'hyperterminal (si ce n'est pas le MSCOMM)...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 nov. 2005 à 08:58
Comment fais-tu pour recevoir les données avec Hyperterminal,
est-ce que tu tape tes commandes dans la fenetre ou est-ce que tu passe
par le menu transferer/recevoir un fichier en choisissant le protocole
XModem?
Dans le premier cas, il te faut envoyer les mêmes commandes à partir de ton code.
Dans le second cas, il va falloir que tu implante la gestion du
protocole dans ton code. Le protocole XModem est un protocole logiciel,
c'est donc à toi de le gerer au niveau de ton code. Recherche sur le
site et sur le net, tu trouveras surement des sources d'implementation
de ce protocole (perso, je l'ai utilisé quelque fois avec
hyperterminal, mais je ne le connais pas au niveau code).
Tu risque de trouver surtout du code C je pense, sous forme de DLL, à
ce moment là, la gestion du port série à des chances d'etre faite dans
la DLL aussi, tu n'auras plus besoin de MSCOMM à ce moment là.
PS : Je ne connais pas de moyen d'utiliser hyperterminal dans le code VB, mais je ne connais pas tout sur tout non plus
<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,
nous serions assez bête pour ne pas le comprendre malgré tout.
cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005 30 nov. 2005 à 18:43
Re Bonsoir,
Ouais super ça marche...! euh en partie...
Désolé je suis vraiment un débutant en ce qui concerne la communication par le port com..
Mais en faite avec le prog Xfer32 fourni par le fabricant, il écrit directement dans un fichier txt. Et ça fonctionne c'est à dire qui arrive a écrire toutes les lignes de chaque article scanné.
Mais avec l'hyperterminal ou avec mon prog, ben... j'arrive à recevoir que la première ligne ...
Et en fin de ligne, il y a un caractère du style || et l'appareil m'indique une erreur de transmission et c'est tout il va plus loin....
Je n'arrive pas à aller plus loin, je ne reçoit pas le 'evEvEOF' non plus...
Je désespère... Au moins si je comprennait ce qui ce passe.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 30 nov. 2005 à 20:30
ok je crois comprendre ce qui se passe mais c'est pas certain.
D'après ce que tu dis, ton appareil t'envois la première ligne, et doit
attendre que tu valide la reception c'est à dire que tu lui dise que tu
l'as bien recu. Je pense que lorsque tu valide la reception, il doit
t'envoyer automatiquement la ligne suivante et ce jusqu'a la fin des
données. Mais comme tu ne valide pas, au bout de quelques instants il
considère qu'il y a une erreur.
Tes deux caractères bizarre ( || c'est deux caractères non
affichables) sont surement l'indicateur de fin de ligne, quand tu
detecte cet indicateur, il faut que tu envoie le code d'acquitement (un
ou plusieurs caractères) et recevra une nouvelle ligne jusqu'au
prochain indicateur de fin de ligne, ou l'indicateur de fin de fichier
(EOF) qui lui te dit que la transmission est finie.
Mais sans une doc de l'appareil sur le protocole de transfert, ça va etre difficile de t'aider.
......
Je viens de trouver ce forum, sur les 7 pages de questions tu y
trouveras surrement quelques quelques pistes et une idée du protocole à
mettre en place :
ou sinon utilise le logiciel fournis par le fabriquant via ton application au moyen de la commande Shell et traite le fichier .txt ainsi généré pour le reste du taitement depuis ton application.
cs_Jeeva
Messages postés7Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 2 décembre 2005 2 déc. 2005 à 15:31
Snif!
Salut tout le monde,
Bon à force je me suis dit que ça serai mieux que j'aie sur une autre solution... J'ai trouvé l'application "xfer32.com" et je voulais savoir comment je fait pour executer ça la manière de faire...
Et je trouverai comment faire pour et le paramètre que je doit mettre pour cette app MS-DOS.
Merci, snif...! snif !
Ne prennez pas la vie au sérieux, de toute façons vous n'en sortirez pas vivant...