Page 1 sur 1

[..] Communication port COM

Posté : lun. 29 févr. 2016 15:09
par Anthony
Bonjour à toutes et à tous,

Je souhaite communiquer avec le port COM 1 de mon PC et une alvéole de réception grâce à AutoIt pour contrôler l'état de mes appareils mais sans succès :(
Par contre, je vois les commandes fonctionnelles envoyées avec "Source.exe" grâce à PORTMON donc déjà un bon début :D
Les étapes de 1° à 5° permettent d'initialiser mon alvéole, démarrer, RAZer, éteindre et libérer l'alvéole avec le logiciel "Source.exe" mais buggué :cry:
Mon but est de reproduire la même chose avec AutoIt car certains plantages font planter mon PC avec "Source.exe"...
Merci d'avance :wink:

Les includes (*.au3)
► Afficher le texte
Et mon code actuel, où me suis-je trompé ? :| (Code AutoIt)
► Afficher le texte
1° Lancement du logiciel "Source.exe" (Log PORTMON)
► Afficher le texte

Capture du résultat du démarrage d'un appareil avec PORTMON
Image
2° Démarrage de mon appareil grace au logiciel "Source.exe" (Log PORTMON)
► Afficher le texte
3° RAZ de mon appareil grâce au logiciel "Source.exe" (Log PORTMON)
► Afficher le texte
4° Arrêt de mon appareil grâce au logiciel "Source.exe" (Log PORTMON)
► Afficher le texte
5° Fermeture du logiciel "Source.exe" (libération du port COM) (Log PORTMON)
► Afficher le texte

Re: [..] Communication port COM

Posté : mar. 01 mars 2016 07:27
par Anthony

Re: [..] Communication port COM

Posté : mar. 01 mars 2016 22:11
par orax
Je pense tu as mal interprété le log de PORTMON.
Par exemple, le RAZ affiche .......RZ.. dans les logs mais je doute que les ..... soient réellement des points. Ce n'est qu'une supposition mais à mon avis il s'agit plutôt de caractères non affichables. Il faudrait que Portmon affiche les données sous forme hexadécimale. Je n'ai pas vérifié mais ça doit pouvoir se faire.

Avant de voir s'il y a une erreur dans le script, tu peux aussi vérifier avec un logiciel si les commandes envoyées sont bonnes. PuTTY, par exemple, devrait pouvoir se connecter au port COM et envoyer des commandes.

Re: [..] Communication port COM

Posté : mer. 02 mars 2016 21:31
par Anthony
Bonjour et merci orax ;)

Effectivement PORTMON récupère bien en ASCII dont voici les logs des 5 étapes

Je n'ai pas réussi à utiliser PuTTY...
J'ai par contre une réaction de mon appareil (la LED clignote) avec Terminal v1.93b by Br@y++ https://sites.google.com/site/terminalbpp/
► Afficher le texte
sans toute fois réussi un allumage ou autre fonction :? , je m'y prends peut-être mal :idea:
Je met tout en bas (6°) un petit code qui envoie bien mes données au port com car PORTMON me le montre :D
En attendant de te lire orax :D

1° Démarrage de l'application:
► Afficher le texte
2° Mise en marche de l'appareil:
► Afficher le texte
3° RAZ de l'appareil:
► Afficher le texte
4° Arrêt de l'appareil:
► Afficher le texte
5° Fermeture de l'application:
► Afficher le texte
6° Le petit code qui m'envoie bien mes données visibles avec PORTMON visible en (7°)
► Afficher le texte
7° Voici le retour avec PORTMON:
► Afficher le texte

Re: [..] Communication port COM

Posté : mer. 02 mars 2016 22:52
par orax
Je pense qu'il faudrait essayer avec :

Code : Tout sélectionner

_CommAPI_TransmitBinary($hPort, Binary("0x030400000003B1E9"))
0x signifie que le nombre est en hexadécimal.
J'ai supprimé le @CR puisqu'il n'est visiblement pas envoyé.

Re: [..] Communication port COM

Posté : mer. 02 mars 2016 23:13
par Anthony
Super orax et merci je vais tester demain car le matos est au boulot et te tiens au courant
Par contre y à t'il une incidence avec les paramètres ?
Dans:

Code : Tout sélectionner

$hPort = _CommAPI_OpenCOMPort($port, 9600, 0, 8, 1)
de l'UDF

Code : Tout sélectionner

_CommAPI_OpenCOMPort(Const $iPort, Const $iBaudRate = 9600_
Default, Const $iParity = Default, Const $iByteSize = Default, Const $iStopBits = Default)
                        = 0                         = 8                         =  1, 1.5, or 2
qui pour moi provoque

Code : Tout sélectionner

7  16:54:03  AutoIt3.exe  IOCTL_SERIAL_CLR_DTR           Serial1  INVALID PARAMETER

Re: [..] Communication port COM

Posté : jeu. 03 mars 2016 15:09
par orax
Je ne sais pas pourquoi il y a cette erreur. En plus il est difficile de savoir s'il y a une erreur au niveau du script donc dans un premier temps, j'essayerais avec Terminal v1.93b et ces paramètres : 9600 8 none 1 RTS/CTS. Ça devrait au moins marcher avec ce logiciel.
D'après ce que j'ai vu, les nombres hexa doivent être préfixés par un $. Donc pour 2° Mise en marche de l'appareil, il faudra envoyer...

Code : Tout sélectionner

$03$04$00$00$00$03$B1$E9
$03$04$00$00$00$03$B1$E9
$03$04$00$06$00$01$D0$29

Re: [..] Communication port COM

Posté : ven. 04 mars 2016 01:47
par Anthony
J'ai essayé orax mais sans succès même si j'ai de l'activité avec Terminal (la LED de mon appareil clignote) çà ne le met pas en route.
Et en utilisant les bases de ce code http://www.autoitscript.fr/forum/viewto ... 562#p92562 qu'en penses-tu ?

PS: je t'ai envoyé un MP et merci pour ton aide :D