Utiliser une carte relai USB

DiabloduNord Messages postés 48 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 mai 2010 - 13 août 2009 à 13:41
DiabloduNord Messages postés 48 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 mai 2010 - 14 août 2009 à 00:17
Bonjour,

Je cherche de l'aide car j'ai acheter depuis peu une carte comportant 8 relais et pour faire fonctionner ces derniers il faut brancher la carte d'interface sur un port usb. J'ai un bout de code sous VB6 fournit avec la documentation de la carte. Mais travaillant sous Visual Studio Express je n'arrive pas à utiliser le code. J'ignore si je doit également intégrer la DLL. D'aprés ce que j'ai compris la carte simule un port Serie (COM) et le code donné dans la doc et le suivant :

Private Sub cmdOff_Click()
With MSComm1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(0)
End With 'MSComm1
End Sub

Private Sub cmdOn_Click()
With MSComm1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(1)
End With 'MSComm1
End Sub


Si quelqu'un pouvait m'orienter pour me permettre de réécrire le code, je lui serais trés reconnaissant.

D'avance merci.

Cordialement

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 août 2009 à 14:21
Ce qui doit te poser problème est l'objet MSCOMM1, je pense. Ce contrôle est utiliser en VB6 pour s'interfacer avec le port série.

Si en .Net on peut aussi l'utiliser, il vaut mieux utiliser le contrôle SerialPort.


Pour ce qui est d'integrer la dll, il faut regarder la doc. Mais, à priori si tu passe par un port série, tu n'as pas de dll à intégrer dans ton programme.

Il faut bien évidemment installer les drivers de ta carte relais, pour que le port série correspondant soit créé.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
DiabloduNord Messages postés 48 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 mai 2010
13 août 2009 à 19:17
Bonsoir,

Donc si je comprend bien cela devrait donné :

Private Sub cmdOff_Click()
With SerialPort1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(0)
End With 'SerialPort1
End Sub

Private Sub cmdOn_Click()
With SerialPort1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(1)
End With 'SerialPort1
End Sub

Merci de confirmer. Si cela s'avère correct je vous remercie infiniment car sa m'enlève une énorme épine du pied.

Cordialement
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 août 2009 à 20:52
Changer l'objet ne suffit pas, il faut bien évidement aussi adapter le code.
Dans le cas présent le code ressemblera plus à ceci :

	Private Sub cmdOn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOn.Click
With SerialPort1
'make sure the serial port is open
If .IsOpen = False Then .Open()
'send the data
.Write(Chr(255))
.Write(Chr(1))
.Write(Chr(1))
End With 'SerialPort1
End Sub

Private Sub cmdOff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOff.Click
With SerialPort1
'make sure the serial port is open
If .IsOpen = False Then .Open()
'send the data
.Write(Chr(255))
.Write(Chr(1))
.Write(Chr(0))
End With 'SerialPort1 
End Sub



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
DiabloduNord Messages postés 48 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 mai 2010
14 août 2009 à 00:17
Bonsoir,

Merci encore pour votre aide, dés que j'ai un moment je test sa et je vous redit quoi. Si cela marche c'est vraiment le top ^^.

Cordialement
0
Rejoignez-nous