VELLEMAN K8055 PROGRAMME POUR COMPRENDRE ET UTILISER LE CODE (A TESTER AVEC LA C
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012
-
11 juil. 2009 à 12:13
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012
-
27 mai 2010 à 10:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 27 mai 2010 à 10:40
je ne suis pas prof
j'essai juste d'aider
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 27 mai 2010 à 07:28
Et surtout, ne pas expliquer qu'ouvrir un projet VB6 avec VB2008 n'est pas une bonne idée.
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 26 mai 2010 à 21:54
lol
babylone59135
Messages postés3Date d'inscriptionlundi 6 octobre 2008StatutMembreDernière intervention26 mai 2010 26 mai 2010 à 21:50
Effectivement.
En plus c'est exactement ce que je recherché.
Merci
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 26 mai 2010 à 21:45
regarde ma source
sa seras plus simple
bien que celle la est tres bien ;)
babylone59135
Messages postés3Date d'inscriptionlundi 6 octobre 2008StatutMembreDernière intervention26 mai 2010 26 mai 2010 à 21:42
Et bien des le début
Apparement j'ai 3 fichiers .vbp .frm .vbw dans le zip.
J'aurais aimé les ouvrir avec Visual studio 2008 mais apparement c'est pas le meme type de fichier qui est pris en compte.
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 26 mai 2010 à 21:22
c a quel moment que tu bute babylone
babylone59135
Messages postés3Date d'inscriptionlundi 6 octobre 2008StatutMembreDernière intervention26 mai 2010 26 mai 2010 à 21:15
Bonjour
Une petite question un peu bete mais bon je débute dans le domaine.
J'aimerais ouvrir le projet de nono7380 pour commander une carte Velleman K8055.
Je voulais savoir s'il était possible d'ouvrir et lancer le projet sous Visual studio 2008 et si c'est le cas comment faire ?
Merci d'avance.
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 11 sept. 2009 à 17:44
je vien de faire une nouvelle source pat
dit moi se que t'en pense
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 10 sept. 2009 à 19:26
SUPER BIENSUR SA ME DIT MERCI
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 10 sept. 2009 à 14:20
je suis en train de mettre un petit prog en place pour toi pat
sur la forme dun logo dans la barre des tache
sa te dit ?
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 10 sept. 2009 à 10:43
Je précise aussi que ceux qui souhaite utiliser cette tres bonne carte, doivent utiliser la derniére version de la DLL !
En effet ce code :
79.Dim CardAddress As Long
80.Dim h As Long
81.CardAddress = 0
82.CardAddress = 3 - (SK5.Value + SK6.Value * 2)
83.h = OpenDevice(CardAddress)
84.Select Case h
85. Case 0, 1, 2, 3
86. Label1.Caption = "card" + Str(h) + " connected"
87. Case -1
88. Label1.Caption = "card" + Str(CardAddress) + " no found"
89.End Select
EST OBSOLETE !
Prendre la version 3.0.2.0 dispo sur le site de velleman et profiter de cette nouvelle fonction : SearchDevices (retourne un code de 4 bool) 0000=aucune carte, 0001,0010,0100,1000 carte 1 à 4. Ensuite pour communiquer avec une carte en particulier il suffit de la nommer avant de faire les fonctions set ou clear digital, grace à la fonction :
SETCurrentDevice (N° de la carte)
Il y a aussi la fonction VERSION() qui permet d'ouvrir une popup sur la version de la DLL
Bonne prog.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 10 sept. 2009 à 10:31
salut,
Encore une fois ce code est à optimiser (voir ma source sur la régie lumiére qui utilise deux cartes VM110) Les dernier exemple de chez velleman le sont. Ex pour les checkboxs, VB6 permet d'indexer facilement les controls toutes tes lignes devient alors :
59.Private Sub Check6_Click() // à remplacer par un timer de scrutation des entrées
puis la ligne ci dessous
60.If Check6.Value = 1 Then SetDigitalChannel (4) Else ClearDigitalChannel (4)
est remplacer par
for i as integer = 1 to 8
if check(i).value then setdigitalchannel(i) else cleardigitalchannel(i)
next i
Et voila une seul ligne pour toutes tes checkboxs.
Pour la demande d'avoir un exe par sortie cela n'es pas réaliste car l'acces à la carte ne se fait qu'une fois et une seul déclaration de la DLL, donc il faudrait lancer un exe qui s'occupe de detecter et de connecter la carte, cela devient alors un peu lourdingue comme principe. Je peux en revanche te faire un petit prog discret avec 5 petits boutons marche/arret pour activer tes sorties. Souvenez vous, pour finir, que vouloir utiliser un PC pour faire une équation du type Sortie=Entrée est vraiment inutile, vaut mieux utiliser un simple interrupteur et deux bout de fil LOL
@ votre disposition si besoin.
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 9 sept. 2009 à 10:30
si quelqu'un a une idée
comment faire pour garder en memoire l'etat des soties
a chaque nouvelle commande tout se desactive
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 14:23
mince il faut que je parte
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 14:22
en faite c'est pour commender les relais de la carte a partir de mon bureau comme si s'etais un interupteur juste en cliquant dessus
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 14:16
si c pour sa
je pense trouvé une solution pour toi mais dans une form
a toi de me dire
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 14:15
peu tu me dire se que tu cherche a faire
je ne comprend pas pourkoi tu ve pas utilisé une form
je pense que tu veu pouvoir mettre tes exe dans les tache plannifié,c'est ca?
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 14:02
je vient de faire 8 racourssis sur mon bureau vers les exe setdigital
quand j'active channel2 le channel 1 se desactive et ainsi de suite
je ne peut pas avoir plus d'une sortie active
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 13:36
je vien de le faire sa fonctionne mais se qui se passe si la sortie est inactive la commande l'active et la desactive
il faudrait peut etre que le code se renseigne
du style si channel1 est actif je la desative mais si elle est desactiver je fait rien
il y a un exemple un peut similaire dans le code de nono7380
qui dit 'si check3 est cochée alors activer sortie (1) sinon désactiver sortie (1)
sa peut aider
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 11:34
essai sa
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 11:31
oui je suis toujours en com avec la carte
je remplace juste set par clear
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 11:25
tu met le bon channel?
tu reconnect bien ta carte au debut de ton clear.exe ?
nono7380
Messages postés11Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention16 octobre 2010 8 sept. 2009 à 11:25
as-tu réutiliser les déclarations?
oublie pas que tu dois connecter ton prog à l'interface (opendevice), sinon çà n'ira jamais
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 11:22
et c'est tout
dans c:/windows/systeme32
avec le code que tu ma donner j'active la sortie mais quand je crée un nouveau exe avec cleardigital au lieu de setdigital la sortie reste toujours active
peut tu me dire comment la desactiver
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 11:21
c aussi simple que sa?
mince alors il a des fois je me complique vraiment la vie
merci
nono7380
Messages postés11Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention16 octobre 2010 8 sept. 2009 à 11:19
ben c'est tout. après dans ton prog, tu la déclare, et tu sais utiliser ses focntions
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 11:10
voila c bien sa
tu peu me dire comment tu fais pour inserer la ressource K8055D.dll
il faut la copier dans systeme32 et apres ?
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 10:08
tu n'est peut etre pas programeur mais sa fonctionne
bravo
et je supose que pour la desactiver je remplace setdigital par cleardigital
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 09:55
moi en realité je n'arrive pas a importé le k8055.dll
je suis donc toujour obligé d'utilisé la source fournie avec la carte
si a l'occassion kel qu'un peu me renseigner je suis preneur
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 8 sept. 2009 à 09:49
moi aussi je suis pas programmeur
un truc comme sa peut etre ?!
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 8 sept. 2009 à 08:54
MERCI de vos réponses
en faite je voudrais commender la sortie n°1 par exemple par l'intermedaire d'un fichier exe sans interface grafique donc pas par un bouton mais par un racoursi depuis le bureau du pc
alors peut etre utiliser la console d'aplication pour ecrire le code (visual basic 2005)
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 7 sept. 2009 à 14:24
je n'ai peu etre pas bien compris ta question mais sa peu peu etre t'aidé
alors par exemple pour commander la sorti numero 1 avec un boutton on :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetDigitalChannel(1)
End Sub
ou pour la desactivé avec un 2eme bouton off par exemple:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
clearDigitalChannel(1)
End Sub
nono7380
Messages postés11Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention16 octobre 2010 7 sept. 2009 à 10:10
bien sûr que tu peux faire 8 exe pour enclencher les sorties.
faudra juste copier coller la partie déclaration (lignes 1 à 18) et après pour enclencher la sortie,
If CheckZ.Value = 1 Then SetDigitalChannel (x) Else ClearDigitalChannel (x)
où Z est le numéro de la case à cocher, et où x est le numéro de la sortie.
et lorsque tu décoche, la sortie se coupe
PAT9SAB
Messages postés22Date d'inscriptiondimanche 28 décembre 2008StatutMembreDernière intervention 6 décembre 2009 7 sept. 2009 à 08:47
SALUT je ne suis pas programateur
j'ai une carte k8055 est il possible d'ecrire un code de facon a activer les 8 sorties digitals un par un a partir de 8 executable par exemple du bureau de mon pc
ou peut etre plus facile 8 code un pour chaque sortie
merci
julienmus
Messages postés51Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention13 février 2012 11 juil. 2009 à 12:13
tres bien se code mais il ne change pas vraiment de ceux fourni par velleman
27 mai 2010 à 10:40
j'essai juste d'aider
27 mai 2010 à 07:28
26 mai 2010 à 21:54
26 mai 2010 à 21:50
En plus c'est exactement ce que je recherché.
Merci
26 mai 2010 à 21:45
sa seras plus simple
bien que celle la est tres bien ;)
26 mai 2010 à 21:42
Apparement j'ai 3 fichiers .vbp .frm .vbw dans le zip.
J'aurais aimé les ouvrir avec Visual studio 2008 mais apparement c'est pas le meme type de fichier qui est pris en compte.
26 mai 2010 à 21:22
26 mai 2010 à 21:15
Une petite question un peu bete mais bon je débute dans le domaine.
J'aimerais ouvrir le projet de nono7380 pour commander une carte Velleman K8055.
Je voulais savoir s'il était possible d'ouvrir et lancer le projet sous Visual studio 2008 et si c'est le cas comment faire ?
Merci d'avance.
11 sept. 2009 à 17:44
dit moi se que t'en pense
http://www.vbfrance.com/codes/K8055-COMMANDE-SORTIES_50554.aspx
10 sept. 2009 à 19:26
10 sept. 2009 à 14:20
sur la forme dun logo dans la barre des tache
sa te dit ?
10 sept. 2009 à 10:43
En effet ce code :
79.Dim CardAddress As Long
80.Dim h As Long
81.CardAddress = 0
82.CardAddress = 3 - (SK5.Value + SK6.Value * 2)
83.h = OpenDevice(CardAddress)
84.Select Case h
85. Case 0, 1, 2, 3
86. Label1.Caption = "card" + Str(h) + " connected"
87. Case -1
88. Label1.Caption = "card" + Str(CardAddress) + " no found"
89.End Select
EST OBSOLETE !
Prendre la version 3.0.2.0 dispo sur le site de velleman et profiter de cette nouvelle fonction : SearchDevices (retourne un code de 4 bool) 0000=aucune carte, 0001,0010,0100,1000 carte 1 à 4. Ensuite pour communiquer avec une carte en particulier il suffit de la nommer avant de faire les fonctions set ou clear digital, grace à la fonction :
SETCurrentDevice (N° de la carte)
Il y a aussi la fonction VERSION() qui permet d'ouvrir une popup sur la version de la DLL
Bonne prog.
10 sept. 2009 à 10:31
Encore une fois ce code est à optimiser (voir ma source sur la régie lumiére qui utilise deux cartes VM110) Les dernier exemple de chez velleman le sont. Ex pour les checkboxs, VB6 permet d'indexer facilement les controls toutes tes lignes devient alors :
59.Private Sub Check6_Click() // à remplacer par un timer de scrutation des entrées
puis la ligne ci dessous
60.If Check6.Value = 1 Then SetDigitalChannel (4) Else ClearDigitalChannel (4)
est remplacer par
for i as integer = 1 to 8
if check(i).value then setdigitalchannel(i) else cleardigitalchannel(i)
next i
Et voila une seul ligne pour toutes tes checkboxs.
Pour la demande d'avoir un exe par sortie cela n'es pas réaliste car l'acces à la carte ne se fait qu'une fois et une seul déclaration de la DLL, donc il faudrait lancer un exe qui s'occupe de detecter et de connecter la carte, cela devient alors un peu lourdingue comme principe. Je peux en revanche te faire un petit prog discret avec 5 petits boutons marche/arret pour activer tes sorties. Souvenez vous, pour finir, que vouloir utiliser un PC pour faire une équation du type Sortie=Entrée est vraiment inutile, vaut mieux utiliser un simple interrupteur et deux bout de fil LOL
@ votre disposition si besoin.
9 sept. 2009 à 10:30
comment faire pour garder en memoire l'etat des soties
a chaque nouvelle commande tout se desactive
8 sept. 2009 à 14:23
8 sept. 2009 à 14:22
8 sept. 2009 à 14:16
je pense trouvé une solution pour toi mais dans une form
a toi de me dire
8 sept. 2009 à 14:15
je ne comprend pas pourkoi tu ve pas utilisé une form
je pense que tu veu pouvoir mettre tes exe dans les tache plannifié,c'est ca?
8 sept. 2009 à 14:02
quand j'active channel2 le channel 1 se desactive et ainsi de suite
je ne peut pas avoir plus d'une sortie active
8 sept. 2009 à 13:36
il faudrait peut etre que le code se renseigne
du style si channel1 est actif je la desative mais si elle est desactiver je fait rien
il y a un exemple un peut similaire dans le code de nono7380
qui dit 'si check3 est cochée alors activer sortie (1) sinon désactiver sortie (1)
sa peut aider
8 sept. 2009 à 11:34
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
me.visible = false
opendevice(0)
setdigitalchannel (1)
cleardigitalchannel(1)
me.close
end sub
8 sept. 2009 à 11:31
je remplace juste set par clear
8 sept. 2009 à 11:25
tu reconnect bien ta carte au debut de ton clear.exe ?
8 sept. 2009 à 11:25
oublie pas que tu dois connecter ton prog à l'interface (opendevice), sinon çà n'ira jamais
8 sept. 2009 à 11:22
dans c:/windows/systeme32
avec le code que tu ma donner j'active la sortie mais quand je crée un nouveau exe avec cleardigital au lieu de setdigital la sortie reste toujours active
peut tu me dire comment la desactiver
8 sept. 2009 à 11:21
mince alors il a des fois je me complique vraiment la vie
merci
8 sept. 2009 à 11:19
8 sept. 2009 à 11:10
tu peu me dire comment tu fais pour inserer la ressource K8055D.dll
il faut la copier dans systeme32 et apres ?
8 sept. 2009 à 10:08
bravo
et je supose que pour la desactiver je remplace setdigital par cleardigital
8 sept. 2009 à 09:55
je suis donc toujour obligé d'utilisé la source fournie avec la carte
si a l'occassion kel qu'un peu me renseigner je suis preneur
8 sept. 2009 à 09:49
un truc comme sa peut etre ?!
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
me.visible = false
opendevice(0)
setdigitalchannel (1)
me.close
end sub
8 sept. 2009 à 08:54
en faite je voudrais commender la sortie n°1 par exemple par l'intermedaire d'un fichier exe sans interface grafique donc pas par un bouton mais par un racoursi depuis le bureau du pc
alors peut etre utiliser la console d'aplication pour ecrire le code (visual basic 2005)
7 sept. 2009 à 14:24
alors par exemple pour commander la sorti numero 1 avec un boutton on :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetDigitalChannel(1)
End Sub
ou pour la desactivé avec un 2eme bouton off par exemple:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
clearDigitalChannel(1)
End Sub
7 sept. 2009 à 10:10
faudra juste copier coller la partie déclaration (lignes 1 à 18) et après pour enclencher la sortie,
If CheckZ.Value = 1 Then SetDigitalChannel (x) Else ClearDigitalChannel (x)
où Z est le numéro de la case à cocher, et où x est le numéro de la sortie.
et lorsque tu décoche, la sortie se coupe
7 sept. 2009 à 08:47
j'ai une carte k8055 est il possible d'ecrire un code de facon a activer les 8 sorties digitals un par un a partir de 8 executable par exemple du bureau de mon pc
ou peut etre plus facile 8 code un pour chaque sortie
merci
11 juil. 2009 à 12:13