intellibox+PC

Toutes vos questions, commentaires sur les nouveautés, utilisation de produits electroniques numériques...

Modérateurs : Patrice, Arnaud Guyon, Philippe Cousyn, Tibrus

Répondre
nanard36
Coucou
Coucou
Messages : 17
Enregistré le : 10 févr. 2008 09:28

intellibox+PC

Message par nanard36 »

Archives de l'ancien forum
nanard36
Coucou
Coucou
Messages : 17
Enregistré le : 10 févr. 2008 09:28

intellibox+PC

Message par nanard36 »

bonjour
encore merci pour vos aides
j'ai reçu l'intellibox que j'ai connectée a l'ordinateur
j'ai beaucoup cherché pour envoyer les commandes depuis l'ordinateur et j'ai trouvé un document sur Espace Rail : "communication avec l'intellibox" qui m'a bien aidé au départ
pour envoyer les commandes depuis visual basic, je passe par le contrôle MSCOMM qui gère le port série
pour l'instant, j'arrive a allumer et a éteindre la centrale en envoyant les commandes :
MSComm1.Output = Chr(A7)+Chr(&h0D) pour allumer
MSComm1.Output = Chr(A6)+Chr(&h0D) pour éteindre
ceci fonctionne avec ou sans le Chr(&h0D)
par contre, je n'arrive pas à transmettre les commandes pour une loco comme indiqué dans le document ci-dessus :
l'exemple donné :
loco d'adresse 12, moitié de la vitesse,marche arrière, feux allumés, f1 activée, f4 à f2 désactivée
tous ceci traduit en hexadécimal donne :
80h, 0Ch, 00h, 40h, D1h. (80h est le code commande pour les locos)
depuis mon programme, j'écrit :
MSComm1.Output = Chr(&h80)+Chr(&h0C)+Chr(&h00)+Chr(&h40)+Chr(&hD1)+Chr(&h0D)
mais la centrale ne répond pas
comment faut-il envoyer ces codes hexa?

pouvez vous m'aider svp
olivierl
Coucou
Coucou
Messages : 20
Enregistré le : 24 sept. 2007 16:24

intellibox+PC

Message par olivierl »

Bonjour nanard36,

Je ne connais pas le protocole de communication avec l'intellibox mais j'ai un peu regardé la doc. As tu essayé les mêmes commandes avec le logiciel WDiags.exe pour voir si ça réagisssait ?
nanard36
Coucou
Coucou
Messages : 17
Enregistré le : 10 févr. 2008 09:28

intellibox+PC

Message par nanard36 »

bonjour olivier
oui, j'ai testé avec WDiags et ça marche
donc la liaison fonctionne
le probleme, c'est la procédure pour envoyer ces codes hexa
olivierl
Coucou
Coucou
Messages : 20
Enregistré le : 24 sept. 2007 16:24

intellibox+PC

Message par olivierl »

As tu bien initialisé les paramètres de connexion (vitesse de transition, nombre de bits, ...) de ton port COM dans Visual Basic ?

Par exemple : MSComm.Settings = "9600,N,8,1"
olivierl
Coucou
Coucou
Messages : 20
Enregistré le : 24 sept. 2007 16:24

intellibox+PC

Message par olivierl »

Autre question.

Tu marques :
MSComm1.Output = Chr(A7)+Chr(&h0D) pour allumer

Je ne me souviens plus trop de la notation des nombres en hexa dans Visual Basic mais tu marques Chr(A7). A7 est une variable ou le nombre en hexa car en toute logique, les autres nombres devrais s'écrire sans le &h. Comme :

MSComm1.Output = Chr(80)+Chr(0C)+Chr(00)+Chr(40)+Chr(D1)+Chr(0D)
jpp38
Waterman
Waterman
Messages : 170
Enregistré le : 25 avr. 2007 07:39

intellibox+PC

Message par jpp38 »

Bonjour,

En binaire, il ne faut pas envoyer les CR (OD).

Voici un excellent lien que j'ai suivi pour écrire mon protocole IB Protocole IB par Alain Trinquet
Il est remarquablement bien fait, et ça devrait répondre à toutes tes questions.

Jpp38
nanard36
Coucou
Coucou
Messages : 17
Enregistré le : 10 févr. 2008 09:28

intellibox+PC

Message par nanard36 »

bonjour
j'ai trouvé la solution, il faut absolument lire les infos en retour de la centrale sinon ça ne marche pas
merci pour vos aides
Répondre