RS232 Appel désesperé [Résolu]

cs_Jeeva 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention - 24 nov. 2005 à 17:35 - Dernière réponse : cs_Jeeva 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention
- 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...

SVP, Je désespère....

Merci,
Afficher la suite 

12 réponses

Meilleure réponse
perathoner 90 Messages postés dimanche 5 novembre 2000Date d'inscription 26 juillet 2006 Dernière intervention - 24 nov. 2005 à 17:49
3
Merci
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


' Initialisation
MyParamConnexion = Vitesse & "," & Parite & "," & BitDonnees & "," & BitStop


' 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

End function

Merci perathoner 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Meilleure réponse
perathoner 90 Messages postés dimanche 5 novembre 2000Date d'inscription 26 juillet 2006 Dernière intervention - 29 nov. 2005 à 14:27
3
Merci
Je ne sais pas si cela peut te venir en aide mais j'ai trouvé ça en surfant... et j'ai pensais à toi..http://grafikm.developpez.com/portcomm/

Bon courage.

@+

Merci perathoner 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

perathoner 90 Messages postés dimanche 5 novembre 2000Date d'inscription 26 juillet 2006 Dernière intervention - 24 nov. 2005 à 17:56
0
Merci
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 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 24 nov. 2005 à 22:15
0
Merci
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.



pour toute info visite le site de PSC : http://fr.psc.com/




<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_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention - 25 nov. 2005 à 07:23
0
Merci
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 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention - 25 nov. 2005 à 09:59
0
Merci
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.

Baud : 9600
Protocol : Xmodem, ACK/NAK
Flow control : - égal - (sauf XON/XOFF)

Voila,

Je vais essayer avec le code de perathoner

Merci,
Si vous avez des info's supplémentaire, ben,... vous êtes les bienvenus...

Merci bien,...
cs_Jeeva 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention - 29 nov. 2005 à 08:41
0
Merci
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)...

Merci,
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 29 nov. 2005 à 08:58
0
Merci
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 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention - 30 nov. 2005 à 18:43
0
Merci
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.

Au fait je recoit aucune 'error event'...
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 30 nov. 2005 à 20:30
0
Merci
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 :



https://partners.psc.com/PSCTekForum/forum.asp?FORUM_ID=47






<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_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention - 30 nov. 2005 à 21:42
0
Merci
Vas voir ce lien tu y trouveras de la doc sur le protocol xmodem ainsi qu'un active-x qui gère celui-ci
http://ourworld.compuserve.com/homepages/richard_grier/Index.htm

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.

Pascal Laurençon
cs_Jeeva 7 Messages postés lundi 31 octobre 2005Date d'inscription 2 décembre 2005 Dernière intervention - 2 déc. 2005 à 15:31
0
Merci
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...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.