valviet
Messages postés10Date d'inscriptionvendredi 16 avril 2010StatutMembreDernière intervention 7 juillet 2010
-
25 mai 2010 à 14:42
valviet
Messages postés10Date d'inscriptionvendredi 16 avril 2010StatutMembreDernière intervention 7 juillet 2010
-
10 juin 2010 à 18:16
Bonjour à tous !
Si je viens à vous aujourd'hui c'est que j'ai un problème, Je souhaite réalisé une supervision d'une ligne à l'aide d'un Automate TSX3721.
Mais je n'arrive pas à récupérer les données qui sont censé être envoyé par ce même automate au port COM1.
En effet en analysant mon port COM1 je m'aperçois que je reçoit une trame identique quel que soit la fonction programmé dans l'automate.
Mon automate est relier au PC via un câble TSXPCX1031
Un bout de trame arrivant au port COM1 : 10 05 04 10 05 05 10 05 06 10 05 07 10 05 08 10 05 01 10 05 02 10 05 03 10 Si cela peut aider ^^
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 mai 2010 à 15:42
Salut
Et quel protocole utilises-tu ?
C'est de là qu'il faut partir.
Raccorder les fils ne suffit pas.
Ton automate utilise un langage qui identifie des mots clés (des nombres) permettant le dialogue.
Par exemple, en ModBus, il faut émettre une trame pouvant ressembler à ça
01 16 02 18 00 C0 99
(c'est juste un exemple, ces données ne veulent rien dire)
et qui pourrait vouloir dire
01 = numéro d'esclave destination
16 = Demande de lecture de mots de 16 bits
02 = le nombre de valeurs demandées
18 00 = l'adresse de début
C0 99 = Checksum (*) de validation de la trame
Auquel l'automate et répondra une autre trame reprenant un entête de réponse suivi des deux mots demandés et un checksum
Il faut donc connaitre le langage = protocole
Il faut ensuite être habitué aux diverses conversion décimal <-> hexa, parfois au découpage de mots en bits ...
(*) Checksum : Souvent, un simple XOR sur chacun des bytes composants le message. A la réception, l'automate refera ce calcul et le comparera à la valeur que toi tu as calculée : si ces valeurs sont différentes, c'est qu'il y a eu un parasite --> il renverra une erreur de protocole et il faudra que tu réémette cette trame.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
valviet
Messages postés10Date d'inscriptionvendredi 16 avril 2010StatutMembreDernière intervention 7 juillet 2010 25 mai 2010 à 16:01
J'utilise le protocole unitelway
Pour le moment je réalise des tests en "local" je suis directement connecté à l'automate seul .
Je programme l'automate pour qu'il m'envoie des "Rapports" j'ai tenter plusieurs requêtes (Print_Char, Write_Var...) mais à chaque fois quand je "Scan" le port COM1 je reçoit les mêmes valeurs (la même trame).
Je pense à une trame qui permet de montrer que l'automate et toujours "vivant", donc une communication entre l'automate et le port COM. Si c'est le cas je devrais retrouver la requête normalement envoyer par l'automate mais rien
Pour le moment je regarde la documentation qui traite le protocole Uni-Telway, si vous avez un lien en plus je suis preneur
valviet
Messages postés10Date d'inscriptionvendredi 16 avril 2010StatutMembreDernière intervention 7 juillet 2010 27 mai 2010 à 09:20
Je n'ai pas eu de CD avec le produit.
Ce que je ne comprend pas c'est que j'ai beau modifier le programme dans l'automate la trame ne change pas, de plus cette trame est répéter à l'infini.
Peut être une erreur dans la programmation de mon grafcet je vais revérifier la Syntaxe des requêtes que j'utilise.
Vous n’avez pas trouvé la réponse que vous recherchez ?
valviet
Messages postés10Date d'inscriptionvendredi 16 avril 2010StatutMembreDernière intervention 7 juillet 2010 10 juin 2010 à 18:16
Re bonjour,
Après réflexion je préfère ne pas investir dans une carte PCMCIA
Je me suis donc penché vers le protocole ModBus !
Pour le moment je vais simplement lire les mot mémoires MW de l'automate et les affiches dans une textbox .
Mais le problème c'est que je ne reçoit que le premiers chiffre de la trame :x
Private Sub MSComm1_OnComm()
Dim tampon As String
Select Case MSComm1.CommEvent
Case comEvReceive
tampon = MSComm1.Input
Text2.Text = Asc(tampon) & " - " & tampon
End Select
End Sub
Je ne vois pas comment faire autrement ^^
ps : si je dois recrée un post pour ce "nouveau" topic je le ferais :)