Hello,
je viens d'acquérir une carte avec 8 relais Velleman (K8056) qu'il est possible de commander à partir du port série. Comme je débute dans VB 2008, je voudrais avoir votre avis sur la façon de commander le port COM1 afin d'envoyer une simple commande pour activer le relais n° 1 par ex... voici les données présentes dans la doc de la K8056.
Paramètres du port série:
2400, 8 bits, sans parité, 1 stop
On ne fait qu'émettre, il n'y a pas de réception.
Le fabriquant conseille d'émettre 2 fois la commande.
Commande:
1) CHR$ (13)
2) Adresse de la carte (1...255) à priori 1
3) Instruction (1 caractère ASCII) 'S' (voir ci dessous) soit 83 en décimal???
4) Adresse (1..255) ou n° relais ('1'..'9' ASCII) le n°1
5) checksum (complément 2 de la somme des 4 bytes précédentes+ 1)
Instructions:
...
‘S’ : Régler un relais. L'instruction 'S' doit être suivi par le numéro du relais '1' à '8'. ('9' règle tous les relais à la fois)
...
Voici mon programme tout simple, en gros je veux juste, lorsque je pousse sur un bouton, envoyer l'instruction S au relais n°1 pour voir si la communication marche. (Rq: j'ai déjà testé la carte avec un prog démo Velleman, elle fonctionne bien (point de vue RS-232)).
Imports System
Imports System.IO.Ports
Public Class Form1
Dim Port As SerialPort = New SerialPort("COM1", 2400, Parity.None, 8, StopBits.One)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Essai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Essai.Click
Port.Open()
Port.Write(Chr(13) & "1" & "S" & "1" & "70") // est ce bien 70?? 13+1+S+1 en complément 2 +1...
Port.Close()
End Sub
End Class
Merci d'avance pour votre réponse, @+
fred
Configuration: Windows XP
Internet Explorer 6.0