Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES



Documents pareils
Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Visual Basic for Applications

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Rapport de Mini-Projet en ArcGIS Engine

Formation VBA 3 Interagir

Algorithmique et programmation : les bases (VBA) Corrigé

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Cours d algorithmique pour la classe de 2nde

GUIDE UTILISATEUR SYSTEMES CCTV

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

Examen Médian - 1 heure 30

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

Comment créer et utiliser une fonction

Utilisation de KoXo Computers V2.1

ENVOI EN NOMBRE DE MESSAGES AUDIO

Programmation avec Microsoft Visual Basic. NET. Réponses aux questions Solutions des exercices

.NET - Classe de Log

1. Structure d'un programme FORTRAN 95

Premiers pas avec AviTice School Android

Paginer les données côté serveur, mettre en cache côté client

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Cadastre du bruit SIT-JURA. Connecteur Arcview9.x - MSAccess. Mode d emploi. Appel formulaire. Page 1 sur 15

Styler un document sous OpenOffice 4.0

C RÉATION DE PDF (1) Cours SEM 205 Mieux utiliser le format PDF

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Utilitaires méconnus de StrataFrame

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

FORMATION au VBA Pour EXCEL. Version 2007 & +

Algorithmique et Programmation, IMA

Premiers pas avec AviTice School

Listes de validation dans OpenOffice Calc

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Utiliser le service de messagerie électronique de Google : gmail (1)

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Comment accéder à d Internet Explorer

Qualité du logiciel: Méthodes de test

Excel et les bases de données

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

Contrôler un ordinateur à distance avec Google Chrome

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Manuel d utilisation de la messagerie.

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

CRÉER UN DVD VIDEO avec DVD FLICK (avec ou sans menu)

ANALYSE TRAMEs LIAISON SERIE

Installation d un manuel numérique 2.0

CREATION DMP En Accès Web

Open-Sankoré. Mise en route. Guide utilisateur Février 2013 NTICE (E. S.)

1.1 L EXPLORATEUR WINDOWS

Installation de Microsoft Office Version 2.1

NOTICE D UTILISATION DE LA PLATEFORME DES AIDES REGIONALES (PAR) UNEEM PREMIERE CONNEXION - CREATION & GESTION DE VOTRE COMPTE UTILISATEUR

LOGICIEL DC4D MONITOR

Direction des Systèmes d'information

Démarrage des solutions Yourcegid On Demand avec Citrix

La gestion des dossiers sous Windows Vista, W7, W8.

Guide d installation CLX.PayMaker Office (3PC)

Création du projet : 1 sur 13

Mise à jour de la base de données des marques nationales du tourisme

Communication technique TC1552 Ed 01 Date: 22/11/2011

Tutorial Terminal Server sous

Modes Opératoires WinTrans Mai 13 ~ 1 ~

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

Gestionnaire d emploi du temps

GPA770 Microélectronique appliquée Exercices série A

Introduction à MATLAB R

ESPACE COLLABORATIF SHAREPOINT

Cours Informatique 1. Monsieur SADOUNI Salheddine

Connexion à SQL server

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Démarreur-testeur par ordinateur via le port USB d un PC pour moteurs asynchrones triphasés

ANNEXE 8 : Le Mailing

Cours Informatique Master STEP

Plateforme de support en ligne. Guide d utilisation

Programmation VBA. Excel Daniel-Jean David. et Groupe Eyrolles, 2014, ISBN :

Les accès à Admission-Postbac

Documentation Technique du programme HYDRONDE_LN

MO-Call pour les Ordinateurs. Guide de l utilisateur

Module Communication - Messagerie V6. Infostance. Messagerie

BIRT (Business Intelligence and Reporting Tools)

ALERT NOTICE D UTILISATION DU DRIVER VOCALYS. (Cesa 200 bauds / Contact-ID)

Migration du pack office Planification, préparation, déploiement et formation

Présentation... 2 Mise en place Fiche Article... 2 Commande Client... 3 Commande Fournisseur Gestion de la contremarque...

Suivant les windows, le signal pour indiquer l imprimante par défaut est un petit rond noir ou vers avec un V à l intérieur.

Comment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun

Liberscol. Notes d informations. Tetra-Informatique Liberscol

Création d installateurs pour Windows avec InnoSetup

FEN FICHE EMPLOIS NUISANCES

Arbres binaires de recherche

Transcription:

TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME DE BASE I.1- Edition du programme de base I.1.1- code source Dim AdrDon, AdrCom, AdrEtat As Integer Private Declare Function Inp Lib "C:\prog\inpout32.DLL" Alias "Inp32" (ByVal PortAddress As Integer) As Integer Private Declare Sub Out Lib "C:\prog\inpout32.DLL" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer) Private Sub CmdEXE_Click() 'Procedure d'exécution AdrDon = &H378 '1)Adresse du registre de données du port LPT1 AdrCom = &H37A '2)Adresse du registre de commande AdrEtat = &H379 '3)dresse du registre d'état If OptDonnee.Value = True Then Out AdrDon, Val(txtDonnee.Text) '4)Ecriture de la donnée saisie IbIRESULTAT.Caption = Inp(AdrDon) '5)Lecture et affichage du registre de données ElseIf OptCommande.Value = True Then Out AdrCom, Val(txtCommande.Text) '6)Ecriture de la commande IbIRESULTAT.Caption = Inp(AdrCom) '7)Lecture et affichage du registre de commande ElseIf OptEtat.Value = True Then IbIRESULTAT.Caption = Inp(AdrEtat) '8)Lecture et affichage du registre d'état End If Private Sub CmdQUITTE_Click() End I.1.2- Ecran de l interface Visual Basic après l édition du code Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 1

I.2- Résultats d exécution Lorsque nous exécutons le programme ci-dessus, nous obtenons la page (Form) ci-dessous : Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 2

Quelques tests Test 1 : Transmission d une donnée LPT. Le test1 consiste à écrire transmettre la donnée 130 au registre de données du port Saisissons le nombre 130 dans la zone de texte ayant pour nom txtdonnee (c est la zone de texte la plus en haut), puis cliquons sur Transmettre une donnée (l OptionButton correspondant est optdonnee) et enfin, cliquons sur EXE. Ces différentes actions enclenchent l écriture du nombre saisi dans le registre de donnée du LPT, puis la lecture de ce registre et l affichage de la valeur lue dans la fenêtre résultat (c est le label IbIRESULTAT) comme illustré dans la capture ci-après : Test 2 : Lecture de l état Le test consiste à lire le registre d état du LPT. Pour cela cliquons lire l état puis sur EXE. Le contenu du registre d état s affiche dans la zone de texte Résultat. Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 3

La valeur du registre d état est donc 127. NB : il faut noter ici qu aucun périphérique n est connecté sur le port LPT ; On peut en faire de même pour la transmission d une commande. II- PROPOSITION DES AMELIORATIONS ET IMPLEMENTATION Dans le soucis de rendre ce logiciel plus professionnel, convivial et plus adapté, plusieurs améliorations ont été effectué à savoir : Le logiciel est bâti autour de plusieurs pages (Form), chacune de ces pages correspondant à une situation bien précise. Un convertisseur décimal-binaire et Binaire-décimal 8 bits ont été implémenté pour faciliter la tâche de l utilisateur et éviter les erreurs de commande qui peuvent s avérer fatales. une interface de visualisation à deux dimensions a été implémentée ; la première permet de visualiser les bits (binaires) de chacun des registres et la deuxième est une plate forme de type PROTEUS qui permet de voir l état des éléments (pour ce cas, nous avons choisis des leds) connectés sur le port LPT. Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 4

Un menu d aide a été implémenté. Ce menu contient la structure et le brochage du port LPT ainsi que les adresses des registres. Un nom a été donné au logiciel : LPT SOFTWARE Pour implémenter toutes ces améliorations, nous avons crée 11 Forms comme le montre la capture suivante a.1. capture a. Form 1 : Accueil C est la page d accueil de notre logiciel. Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 5

Comme vous le remarquez il ya un menu aide sur la page d accueil. Un clic droit sur ce menu affiche les rubriques du menu. Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 6

a.1. code source associé Private Sub Cmdentrer_Click() page1.show acceuil.hide Private Sub Cmdsortir_Click() End Private Sub menu_click(index As Integer) Select Case Index Case 1 aide1.show Case 2 aide2.show End Select b. Form 2: aide1 Un clic sur la rubrique structure et brochage du LPT du menu d aide affiche le Form (page) suivant : Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 7

c. Form3 : Aide2 Un click sur la rubrique registre du LPT affiche le Form (page) suivant : d. Form4 : Page1 d.1. capture Un clic sur le bouton entrer de la page d accueil affiche la page suivante (page1) : Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 8

En fonction de l opération à effectuer, on clic sur un des buttons présents sur cette page. d.2. code source associé Private Declare Function Inp Lib "C:\prog\inpout32.DLL" Alias "Inp32" (ByVal PortAddress As Integer) As Integer Dim AdrEtat As Integer Private Sub Cmdbindec_Click() bindec.show page1.hide Private Sub Cmdcom_Click() command.show page1.hide Private Sub Cmddecbin_Click() decbin.show page1.hide Private Sub Cmddon_Click() ecriture.show page1.hide Private Sub Cmdlire_Click() Dim montab(8) As Integer ' tableau qui contiendra les nbres binaires de l'état Dim i As Integer Dim a As Integer Dim etat As Integer Dim valeur As Integer AdrEtat = &H379 '2)Adresse du registre d'état etat = Inp(AdrEtat) 'lecture du registre d'état MsgBox " Lecture reussie ", 65600, " LPT SOFTWARE" valeur = etat a = 0 i = 3 Do While i < 8 'boucle de conversion decimal-binaire montab(i) = etat Mod 2 eta.bit(i).text = montab(i) 'affichage du bit calculé etat = etat \ 2 ' division entière i = i + 1 Loop eta.valeur.caption = valeur eta.show page1.hide Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 9

Private Sub Cmdretour_Click() acceuil.show page1.hide e.1. capture e. Form 5 : ecriture e.2. code source Private Declare Function Inp Lib "C:\prog\inpout32.DLL" Alias "Inp32" (ByVal PortAddress As Integer) As Integer Private Declare Sub Out Lib "C:\prog\inpout32.DLL" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer) Dim AdrDon As Integer Private Sub Cmdvalide_Click() Dim montab(8) As Integer ' tableau qui contiendra les nbres binaires du nombre à écrire Dim a As Integer Dim i As Integer Dim valeur As Integer AdrDon = &H378 '1)Adresse du registre de données du port LPT1 Out AdrDon, Val(txtnbre.Text) 'écriture sur dans le registre de données nbre = Inp(AdrDon) 'lecture du registre de donnée valeur = nbre a = 0 i = 0 Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 10

Do While i < 8 'boucle de conversion decimal-binaire montab(i) = nbre Mod 2 interface.bit(i).text = montab(i) 'affichage du bit calculé nbre = nbre \ 2 ' division entière i = i + 1 Loop For a = 0 To 7 ' boucle de commande des leds If montab(a) = 1 Then interface.led(a).fillcolor = vbred ' commande de la led Else interface.led(a).fillcolor = vbblack End If Next interface.valeur.caption = valeur MsgBox " transmission reussie", 65600, "LPT SOFTWARE" interface.show ecriture.hide f.1. capture f. Form 6 : interface Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 11

f.2. code source Option Explicit Public AdrDon, AdrCom, AdrEtat As Integer Public nbre As Integer Private Sub Cmdretour_Click() page1.show interface.hide g.1. Capture g. Form 7 : Command g.2. Code source Private Declare Function Inp Lib "C:\prog\inpout32.DLL" Alias "Inp32" (ByVal PortAddress As Integer) As Integer Private Declare Sub Out Lib "C:\prog\inpout32.DLL" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer) Dim AdrCom As Integer Private Sub Cmdvalide_Click() Dim montab(4) As Integer ' tableau qui contiendra les nbres binaires de la commande Dim i As Integer Dim commande As Integer Dim valeur As Integer Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 12

AdrCom = &H37A '2)Adresse du registre de commande Out AdrCom, val(txtnbre.text) 'écriture sur dans le registre de commande MsgBox " Transmission reussie ", 65600, " LPT SOFTWARE" commande = Inp(AdrCom) valeur = commande i = 0 Do While i < 4 'boucle de conversion decimal-binaire montab(i) = commande Mod 2 interfacecmd.bit(i).text = montab(i) 'affichage du bit calculé commande = commande \ 2 ' division entière i = i + 1 Loop interfacecmd.val.caption = valeur interfacecmd.show command.hide h.1. capture h. Form 8 : interfacecmd h.2. code source Private Sub Cmdretour_Click() page1.show interfacecmd.hide Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 13

i.1. capture i. Form 9 : eta (lecture de l état) i.2. code source Private Sub Cmdretour_Click() page1.show interfacecmd.hide j.1. capture j.form 10 : decbin (decimal-binaire) Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 14

j.2. code source Private Sub retour_click() page1.show decbin.hide Private Sub valid_click() Dim nbredec As Integer Dim montab(8) As Integer Dim i As Integer Dim valeur As Integer nbredec = txtnbredec.text valeur = nbredec i = 0 Do While i < 8 montab(i) = nbredec Mod 2 bit(i).text = montab(i) nbredec = nbredec \ 2 i = i + 1 Loop 'boucle de conversion decimal-binaire 'affichage du bit calculé ' division entière Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 15

k.1. capture k. Form 11 :bindec (binaire-decimal) k.2. code source Private Sub retour_click() page1.show bindec.hide Private Sub valid_click() Dim valeur As Integer Dim i As Integer i = 0 valeur = 0 Do While i < 8 valeur = (2 ^ i) * bit(i).text + valeur i = i + 1 Loop nbredec.caption = valeur Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 16

III. RESULTATS D EXECUTION III.1 Test1 : écriture du nombre 255 sur le port LPT et visualisation Sur la page d accueil du logiciel, cliquons sur transmettre une donnée. La page suivante s affiche, sur laquelle on inscrit la donnée à transmettre c'est-à-dire 255. Le box de message suivant apparaît. Cliquons sur Ok. La page de visualisation s affiche. Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 17

Cliquons sur retour pour rentrer à la page 1. III.2 Test 2 : Lecture de l état Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 18

III.3. Test 3 : conversion de 17 en binaire III.4. Test 4 : Conversion de 11001101 en décimal Rédigé par Fouejieu, Sop, Kamokoue, Djouatsa, Nzuyo, Essous, Kegang, Ngashu Page 19