projet interface Fernandez .pdf



Nom original: projet_interface_Fernandez.pdf

Ce document au format PDF 1.4 a été généré par Writer / LibreOffice 4.2, et a été envoyé sur fichier-pdf.fr le 31/12/2015 à 18:37, depuis l'adresse IP 78.129.x.x. La présente page de téléchargement du fichier a été vue 399 fois.
Taille du document: 17.2 Mo (11 pages).
Confidentialité: fichier public


Aperçu du document


Fernandez Jose Antonio (2bini)

interface velleman

table des matières
introduction
présentation du programme
mode d'emploi
analyse
code souce

page 1 / 11

Fernandez Jose Antonio (2bini)

interface velleman

Introduction
L'objectif de ce projet est de réaliser un programme pouvant contrôler les entrées et sorties d'une
carte Velleman k8055. Cette carte possède 8 entrées digitales et 2 analogiques ainsi que 5 sorties
digitales et 2 analogiques.

Ce programme doit être réalisé en vb.net. J'ai donc utilisé visual basic 2010 express.
Heureusement, le fichier K8055d.ll a été mis à notre disposition pour ne permettre de contrôler la
carte. En effet, ce fichier contient une bibliohèque de fonctions utilisables.
Ces fonctions ont été ajoutées au projet dans le module Velleman.vb.
Il faut bien sûr connecter la carte à l'ordinateur via usb. Cela dit, si le programme ne fonctionne
pas,il faut peut-être configurer l'anti-virus (avast pose des problèmes parfois).
Le programme contient 8 formulaires vb: 1 formulaire d'accueil, 4 pour les entrées et sorties et 3
autres formulaires d'aide dont voici les noms:


FormDebut






FormInDig
FormOutDig
FormInAna
FormOutAna





FormAide
FormAideDig
FormAideAna

page 2 / 11

Fernandez Jose Antonio (2bini)

interface velleman

Page d'accueil
Cette page se compose simplement d'un titre et de 4 boutons permettant de choisir l'option
souhaitée.
Une aide est proposée en bas à droite.

Entrées digitales
Ici, un bouton de connection ainsi qu'un label indiquant si la connection s'est bien effectuée sont
placés en-dessous du titre.
Ensuite, 5 cases à cocher représentent les entrées digitales. Celles-ci sont contrôlées par les boutons
situés sur la carte. Lorsqu'on appuie dessus, la case correspondant à l'entrée sera cochée.

page 3 / 11

Fernandez Jose Antonio (2bini)

interface velleman

Sorties digitales
On retrouve le bouton de connection ainsi que le label sous le titre.
Il y a, cette fois-ci, 8 cases à cocher. Celles-ci peuvent être activées séparément ou toutes
simultanément en appuyant sur le bouton "tout cocher". Le bouton "tout décocher" permet de toutes
les désactiver mais il est bien sûr possible de le faire manuellement.

Entrées analogiques
A part le bouton de connection et le label, on retrouve ici deux trackbar qui permettent de voir l'état
de chaque entrée et qui donne leur valeur. Cette valeur est actualisée toutesles 50ms grâce à un
timer.

Sorties analogiques
On retrouve les mêmes contrôles que pour les entrées analogiques mais ici, bien sûr, les trackbar
page 4 / 11

Fernandez Jose Antonio (2bini)

interface velleman

peuvent être contrôlées pour gérer les deux sorties.
De plus, le bouton Max permet de mettre celles-ci au maximum, tandis que le bouton RAZ permet
de les remettre à zéro.

Analyse du programme

page 5 / 11

Fernandez Jose Antonio (2bini)

interface velleman
Début

Entrées analogiques

Entrées digitales

Sorties analogiques

Sorties digitales

Connexion avec la carte

Connexion avec la carte

Connexion avec la carte

Connexion avec la carte

(Timer : 50ms)
Gestion des entrées analogiques
- regarde la valeur des entrées.
- affiche la valeur à l'écran.

(Timer : 50ms)
Gestion des entrées digitales
- regarde l'état des entrées.
- Affiche l'état des entrées.

réglage de la valeur
des sorties

Mise à 1 ou à 0 des sorties

Modification des sorties
analogiques sur la carte

Modification des sorties
digitales sur la carte

Déconnexion avec la carte

Déconnexion avec la carte

Déconnexion avec la carte

Déconnexion avec la carte

Fin

Code source

page 6 / 11

Fernandez Jose Antonio (2bini)

interface velleman

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\Fonctions.vb

1

'********************************************************************
' Module reprenant les différentes fonctions utilisé dans le programme
'**********************************************************************
Module Fonctions
Public Declare Function OqpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer
Public Declare Sub CloseDevice Lib "k8055d.dll" ()
Public Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer
Public Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer)
Public Declare Sub SetAllDigital Lib "k8055d.dll" ()
Public Declare Sub ClearAllDigital Lib "k8055d.dll" ()
Public Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Public Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Public Declare Sub SetAllAnalog Lib "k8055d.dll" ()
Public Declare Sub ClearAllAnalog Lib "k8055d.dll" ()
Public Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As
Integer)
End Module

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\frmAccueil.vb
'******************************************************************
'Feuille de démarrage permettant le choix des différentes options
'******************************************************************
Public Class frmAccueil
'Redirection vers la feuille des entrées digitales
Private Sub btnFrmEntDigi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnFrmEntDigi.Click
frmEntDigi.Show()
End Sub
'Redirection vers la feuille des entrées analogiques
Private Sub btnFrmEntAna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnFrmEntAna.Click
frmEntAna.Show()
End Sub
'Redirection vers la feuille des sorties digitales
Private Sub btnFrmSortiesDigi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnFrmSortiesDigi.Click
frmSortiesDigi.Show()
End Sub
'Redirection vers la feuille des Sorties analogiques
Private Sub btnSortiesAna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnSortiesAna.Click
frmSortiesAna.Show()
End Sub
End Class

page 7 / 11

1

Fernandez Jose Antonio (2bini)

interface velleman

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\frmSortiesAna.vb

1

'**********************************************************************************
' Feuille contenant le code source servant à contôler les sorties analogiques
'**********************************************************************************
Public Class frmSortiesAna
'Le bouton fait la liaison entre la plaque et le programme
Private Sub btnConnecte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnConnecte.Click
Dim adresse As Integer
Dim etatCarte As Integer
adresse = 0 'adresse en fonction des cavaliers SK5 et SK6
'On connecte la carte
etatCarte = OpenDevice(adresse) 'L'état varie de 0 à 3 lorsque la carte est connectée
If etatCarte >= 0 Then
lblConnecte.Text = "Carte connectée"
lblConnecte.ForeColor = Color.Green
Else
lblConnecte.Text = "Carte non connectée"
lblConnecte.ForeColor = Color.Red
End If
End Sub
'***********************************************************************
'Bouton servant à mettre au maximum les valeurs des sorties analogiques
'***********************************************************************
Private Sub btnAllumSortiesAna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnAllumSortiesAna.Click
SetAllAnalog()
VScrollBar1.Value = 0
VScrollBar2.Value = 0
lblSortieAna1.Text = "255"
lblSortieAna2.Text = "255"
End Sub
'***********************************************
'Bouton servant à mettre à 0 toutes les sorties
'***********************************************
Private Sub btnEteintSortiesAna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnEteintSortiesAna.Click
ClearAllAnalog()
VScrollBar1.Value = 255
VScrollBar2.Value = 255
lblSortieAna1.Text = "0"
lblSortieAna2.Text = "0"
End Sub
'*******************************************
'Controle de l'affichage de la sortie 1
'*******************************************
Private Sub VScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.
ScrollEventArgs) Handles VScrollBar1.Scroll
lblSortieAna1.Text = CStr(255 - VScrollBar1.Value)
OutputAnalogChannel(1, 255 - VScrollBar1.Value)
End Sub
'******************************************
'Contrôle de l'affichage de la sortie 2
'******************************************
Private Sub VScrollBar2_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.
ScrollEventArgs) Handles VScrollBar2.Scroll
lblSortieAna2.Text = CStr(255 - VScrollBar2.Value)
OutputAnalogChannel(2, 255 - VScrollBar2.Value)
End Sub*
'**************************************************************
'Quand la fenêtre se ferme, on ferme la liaison avec la carte
'**************************************************************
Private Sub frmSortiesAna_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.
FormClosedEventArgs)
CloseDevice()
End Sub
End Class

page 8 / 11

Fernandez Jose Antonio (2bini)

interface velleman

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\frmEntDigi.vb
'**********************************************************************************
' Feuille contenant le code source servant à contôler les entrées digitales
'**********************************************************************************
Public Class frmEntDigi
'Bouton sert à connecter la carte pour utilisation
Private Sub btnConnecte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnConnecte.Click
Dim adresse As Integer
Dim etatCarte As Integer
adresse = 0 'adresse en fonction des cavaliers SK5 et SK6
'On connecte la carte
etatCarte = OpenDevice(adresse) 'L'état varie de 0 à 3 lorsque la carte est connectée
If etatCarte >= 0 Then
Timer1.Enabled = True
lblConnecte.Text = "Carte connectée"
lblConnecte.ForeColor = Color.Green
Else
lblConnecte.Text = "Carte non connectée"
lblConnecte.ForeColor = Color.Red
End If
End Sub
'**********************************************************************
'Le timer lit tous les 50ms l'états des boutons
'**********************************************************************
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim etatBP As Integer
'Pour etre actualiser il a besoin d'être arrêter et d'être redémarrer
Timer1.Enabled = False 'remise à zero du timer
etatBP = ReadAllDigital
'En fonction de l'état des boutons, on coche les cases adéquates
chkEntDigi1.Checked = etatBP And 1
chkEntDigi2.Checked = (etatBP >> 1) And 1 '
chkEntDigi3.Checked = (etatBP >> 2) And 1
chkEntDigi4.Checked = (etatBP >> 3) And 1
chkEntDigi5.Checked = (etatBP >> 4) And 1
Timer1.Enabled = True 'mise en marche du timer
End Sub
'**********************************************************************
'Quand la fenêtre se ferme, on coupe la liaison avec la carte
'**********************************************************************
Private Sub frmEntDigi_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.
FormClosedEventArgs) Handles Me.FormClosed
CloseDevice()
End Sub
End Class

page 9 / 11

1

Fernandez Jose Antonio (2bini)

interface velleman

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\frmEntAna.vb
'**********************************************************************************
' Feuille contenant le code source servant à contôler les entrées analogiques
'**********************************************************************************
Public Class frmEntAna
'***********************************************
'Fait la liaison entre la carte et le programme
'***********************************************
Private Sub btnConnecte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnConnecte.Click
Dim adresse As Integer
Dim etatCarte As Integer
adresse = 0 'adresse en fonction des cavaliers SK5 et SK6
'On connecte la carte
etatCarte = OpenDevice(adresse) 'L'état varie de 0 à 3 lorsque la carte est connectée
If etatCarte >= 0 Then
Timer1.Enabled = True
lblConnecte.Text = "Carte connectée"
lblConnecte.ForeColor = Color.Green
Else
lblConnecte.Text = "Carte non connectée"
lblConnecte.ForeColor = Color.Red
End If
End Sub
'***************************************************************
'Le timer actualise les données afin de lire l'état des entrées
'***************************************************************
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim entree1 As Integer
Dim entree2 As Integer
Timer1.Enabled = False 'remise à zero du timer
'Lecture des entrées analogiques
ReadAllAnalog(entree1, entree2)
' Transformation de la valeur pour la ProgressBar
entree1 = (entree1 / 255) * 100
ProgressBar1.Value = entree1
'Lecture de la valeur et affichage sur la progressbar
entree2 = (entree2 / 255) * 100
ProgressBar2.Value = entree2
'Affichage de la valeur
lblEntAna1.Text = CStr(entree1)
lblEntAna2.Text = CStr(entree2)
Timer1.Enabled = True 'mise en marche du timer
End Sub
'******************************************************************
' A la fermeture de la femetre, on ferme la liaison avec la plaque
'******************************************************************
Private Sub frmEntAna_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.
FormClosedEventArgs)
CloseDevice()
End Sub
End Class

page 10 / 11

1

Fernandez Jose Antonio (2bini)

interface velleman

C:\Users\Toinou\Desktop\Projet_Interface_Vostier-A\Projet_Interface_Vostier-A\frmSortiesDigi.vb
'***************************************************************************
' Feuille contenant le code source servant à contôler les sorties digitales
'***************************************************************************
Public Class frmSortiesDigi
'******************************************************************
' bouton servant à faire la liaison entre la carte et le programme
''*****************************************************************
Private Sub btnConnecte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnConnecte.Click
Dim adresse As Integer
Dim etatCarte As Integer
adresse = 0 'adresse en fonction des cavaliers SK5 et SK6
'On connecte la carte
etatCarte = OpenDevice(adresse) 'L'état varie de 0 à 3 lorsque la carte est connectée
If etatCarte >= 0 Then
lblConnecte.Text = "Carte connectée"
lblConnecte.ForeColor = Color.Green
Else
lblConnecte.Text = "Carte non connectée"
lblConnecte.ForeColor = Color.Red
End If
End Sub
'*******************************************************
'¨Permet de cocher les cases quand on force les sorties
'*******************************************************
Private Sub btnAllumSortiesDigi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnAllumSortiesDigi.Click
SetAllDigital()
chkSortieDigi1.Checked = True
chkSortieDigi2.Checked = True
chkSortieDigi3.Checked = True
chkSortieDigi4.Checked = True
chkSortieDigi5.Checked = True
chkSortieDigi6.Checked = True
chkSortieDigi7.Checked = True
chkSortieDigi8.Checked = True
End Sub
'**********************************************************
'Permet de decocher les cases quand on déforce les sorties
'**********************************************************
Private Sub btnEteintSortiesDigi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnEteintSortiesDigi.Click
ClearAllDigital()
chkSortieDigi1.Checked = False
chkSortieDigi2.Checked = False
chkSortieDigi3.Checked = False
chkSortieDigi4.Checked = False
chkSortieDigi5.Checked = False
chkSortieDigi6.Checked = False
chkSortieDigi7.Checked = False
chkSortieDigi8.Checked = False
End Sub
'***********************************************************
'Permet de forcer la sortie quand on coche la case adéquate
'***********************************************************
Private Sub chkSortieDigi1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles chkSortieDigi1.CheckedChanged
If chkSortieDigi1.Checked Then
SetDigitalChannel(1)
Else
ClearDigitalChannel(1)
End If
End Sub
Private Sub chkSortieDigi2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles chkSortieDigi2.CheckedChanged
If chkSortieDigi2.Checked Then
SetDigitalChannel(2)
Else
ClearDigitalChannel(2)
End If
End Sub

page 11 / 11

1


Aperçu du document projet_interface_Fernandez.pdf - page 1/11
 
projet_interface_Fernandez.pdf - page 2/11
projet_interface_Fernandez.pdf - page 3/11
projet_interface_Fernandez.pdf - page 4/11
projet_interface_Fernandez.pdf - page 5/11
projet_interface_Fernandez.pdf - page 6/11
 




Télécharger le fichier (PDF)


projet_interface_Fernandez.pdf (PDF, 17.2 Mo)

Télécharger
Formats alternatifs: ZIP



Documents similaires


array exemple
projet tri
image
ajoutmodifsupprcompterenducs
extraits codes reprises donneescs
programme