Besoin d'aide pour velleman vm110

benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011 - 3 oct. 2011 à 22:55
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011 - 5 oct. 2011 à 23:42
salut a tous!
voila, je me présente, benoit, 26 ans belgique.
je suis totalement novice, perdu... (et nul) en programmation.
je me suis lancé dans un projet que je pensé réalisable, mais avec de mauvais renseignement, et un excès d'optimisme, je suis dans une impasse insurmontable a mes yeux

je suis en pleine fabrication d'un réseau ferré miniature (ho) en analogique.
je m'étais donné comme objectif de "piloté" une partie de mon réseau grâce a une carte vm110
en gros, gestion de la vitesse, arrêt en gare, petit itinéraire, indication de la position des trains (grâce a d'autre module) etc...

âpres de nombreuse recherche, des codes incompréhensibles a mes yeux,des tentatives avec visual basic, je n'y arrive pas... donc je me tourne vers vous pour avoir de l'aide et ne pas abandonné ce petit projet!
merci d'avance a tous

10 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
3 oct. 2011 à 23:55
Salut

On veut bien t'aider, mais sur des problèmes de programmation.
Alors il faudrait nous dire sur quoi tu bloques, c'est un minimum.
Que dois-tu faire et que tu ne saches faire ?
Comment s'effectue le dialogue avec tes boitiers ? Ethernet ? Liaison série, télépathie aphasique ?

Avant toute chose, nous dire dans quel logiciel tu développes : est-ce vraiment VB6 SP6 ? ou VBA (de office) ou VB.Net (2005, 2008, 2010) ?

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)
0
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011
4 oct. 2011 à 00:05
bonsoir
j'ai visual basic 2008 express edition.
je souhaite principalement utilisé des ILS, mais les autres petit module sont tous simplement filaire, on ou off.
en fait, je bloque sur tout. par exemple, j'essaie de faire (en gros)
si ILS activé
arret du train (donc pmw)pendant x seconde
marche arriere
demarage du train

ou le truc tout bete
si entrée 1 activé
sortie 1 activé...

ca a l'air tout bete mais je n'y arrive pas.
j'ai fait de petit organigramme pour m'aider...
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
4 oct. 2011 à 00:08
Bon, il a fallu que j'aille télécharger la doc pour trouver des exemples de paramétrage de la DLL fournie.
Dans ton VB6, menu Projet, il te faut faire référence à cette DLL.
Ensuite, tu pourras déclarer les fonctions qu'elle renferme afin de les exploiter.
Tout ce qu'il te faut comme déclaration est listé page 28 de la doc (dernières pages). Tu n'as plus qu'à y faire appel.
Par exemple, fonction ReadADchannel :
Elle est déclarée comme ceci :
Private Function ReadADchannel Lib "k8d.dll" ( _
                 ByVal Channel_no As Long) As Boolean
Tu places cette définition dans la partie "Déclarations" d'une de tes pages de code, et, pour lire le canal 6, par exemple, il te suffit de faire :
Dim bEtat As Boolean
Dim lCanal As Long
lCanal = 6
bEtat = ReadADchannel (lCanal)
MsgBox "Canal " & lCanal & " est à l'état " & cStr(bEtat)
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
4 oct. 2011 à 00:17
La doc se contredit pas mal.
D'après la doc, page 7, ReadADchannel renvoie un Log qui contient une valeur entre 0 et 255.
Or, d'après la déclaration, elle renvoie un Booléen qui serait l'état du canal analogique.
Troublant.
Je pense qu'il va falloir y aller à taton et trouver les bonnes déclarations - les types de variables utilisés dans la déclaration doivent impérativement être de même type lors de l'utilisation.

Vois chez le fournisseur si une doc plus récente ou un addendum existe - peut-être aussi des exemples déjà tout fait sur un CD ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011
4 oct. 2011 à 11:43
merci de ton aide jack!!!!
j'ai fait la declaration, et j'ai creer une touche connection/ deconnection...
il y a bien un exemple sur le cd, mais je n'arrive pas a decodé!
je me penche la dessus cette aprem et je vous expose mes probleme
merci encore
0
jibob Messages postés 59 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 4 juillet 2013
4 oct. 2011 à 13:13
Pour information le terme "ILS" et l'acronyme de: interrupteur lame souple
Il s'agit en réalité d'un contact ouvert encapsulé dans un mini tube de verre.
Lorsqu'on approche un aimant du tube de verre, le contact se ferme.

En associant 2 ILS comme traverses rapprochées sur les rails et en plaçant un aimant dans le fond de la loco, il devient possible de déterminer le sens de marche.

Comme débutant, il faut commencer avec du VB6 et non du VB.net.
Voir les tutoriels sur le site du zéro (www.siteduzero.com) pour vraiment partir de zéro pour apprendre à créer un projet, un module, un formulaire et surtout comprendre la démarche.
Cordialement.
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
4 oct. 2011 à 17:45
Désolé, j'étais parti sur ma lancée et je n'ai pas fait attention que tu avais répondu entre temps.

Ah, VB.Net, ce n'est pas pareil.
Je pense que tu pourras appliquer le même principe MAIS il faudra faire une modif simple :
Dans les déclarations et utilisation des fonctions de la DLL, il te faut remplacer le terme Long par le terme Integer; en effet, entre les versions VB6-VBA et VB.Net, on est passé du 32 bits au 64 bits et les variables ont pris du galon et, pour utiliser des fonctions conçues pour le 32 bits, il faut adapter ces variables.

Côté programmation, hélas, je ne saurais t'en dire plus, n'étant pas un aficionados du .Net
Je pense que le plus simple serait que tu écrives une simple application/solution avec l'exemple que je t'ai donné (+ modifs des types Long) et que tu affiches l'état d'une entrée logique.
Quand tu auras fait ça, attaques toi aux commandes de sorties logiques.
Les séquences que tu décris
  si ILS activé
  arret du train (donc pmw)pendant x seconde
  marche arriere
  demarage du train 
ce ne sera que du combinatoire, peut-être simplement dans un Timer qui surveillera les entrées et prendra des décisions sur les sorties.

Je pense que tu arriveras facilement à maîtriser le dialogue avec le boitier.
Si tu dois reposer des questions sur ce forum à propos de la partie programmation pure :
- choisis le thème "VB.Net et VB 2005" qui englobe les versions postérieures 2008 et 2010
- essaye de ne pas trop utiliser de termes liés à la spécificité de ton projet, ça embrouillera tout le monde; choisis des termes de programmation; exemple : Ne parle pas d'ILS, mais d'une variable de type Booléen puisque tu auras réussi à lire l'état de ton entrée.

Amuse toi bien.
0
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011
4 oct. 2011 à 19:23
merci a tous pour votre aide!!!!
j'ai cherché et ramé un peu et j'ai reussi a activé les sorties avec un checkbox
mais par contre pas moyen de lire les entrées...
0
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011
5 oct. 2011 à 22:24
salut
je revient vers vous car je bloque totalement sur la lecture des entrees...
j'ai essayé avec un timer (au passage, j'ai pas tres bien compris le fonctionnement, si une ame charitable pouvait m'expliqué)
je vais abusé mais l'un d'entre vous ne connaitrer pas le code ou ne pourrait pas me le creez pour lire l'entrée et de meme activé une sortie...
merci d'avance
0
benoit62840 Messages postés 15 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 16 décembre 2011
5 oct. 2011 à 23:42
ca y est j'ai reussi!!!!!!!!!!!!!!!!!!!
je me suis servit du programme d'exemple et en chipotant, j'ai enfin reussi!!!
bon maintenant que ca c'est ok, il me reste a creez quelque petite logique, et la aussi j'aurai besoin de votre aide!!!
0