pilotage du port parallele en vba
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

pilotage du port parallele en vba



  1. #1
    invitea97b4264

    Exclamation pilotage du port parallele en vba


    ------

    Bonjour,

    Je cherche une solution pour piloter une interface entrée/sortie sur le port parallèle LPT1 en excel vba.
    J'ai effectué de nombreuses recherches via internet mais je n'ai trouvé aucune réponse à mon problème.

    Merci pour votre aide précieuse !

    Configuration : Windows XP, Office 2002.

    -----

  2. #2
    inviteccac9361

    Re : pilotage du port parallele en vba

    Bonjour,

    c'est assez facile à réaliser lorsqu'on a compris le principe.
    Il te faut 3 elements.

    Le fichier texte, un .txt tout simple (attention pas de l'unicode, utiliser le notepad, pas wordpad, ou alors le generer sous vba) qui contient tes commandes à envoyer sur le port LPT1

    un fichier de commandes dos de type .BAT qui contient
    PRINT C:/nomfichier.txt /D:LPT1
    quelque-chose comme ça.
    Attention à mettre des gillemets pour les noms de fichiers avec des blancs

    Le script VBA de ton excel qui va demander l'execution du fichier de commande dos.
    Avec une comande du type shellexecute "nomfichierbat"

    Et voila, tu n'a plus qu'à executer le script VBA, celui-ci lance le "programme" DOS , qui se charge d'envoyer le fichier .txt vers LPT1

    Le fin du fin etant de pouvoir creer ce fichier .TXT dans le script VBA pour varier les commandes ou parametres à volonté avant de demander l'execution du fichier DOS.
    en faisant un
    open for output #1 "fichiertexte.txt"
    ,quelque-chose comme ça
    puis ecrire les lignes du fichier texte par
    lineprint #1,"les donnees commandes"
    lineprint #1,"les donnees commandes"
    puis son close #1

    tu peut aussi creer le .bat dynamiquement sous vba si le nom de ton fichier texte à envoyer doit changer. Ca permet de stoquer les .bat et .txt pour les relancer, pourquoi pas, manuellement et d'avoir un controle de ce qui a ete envoyé à l'imprimante.
    Attention par contre que ton .bat ne contienne pas de guillemets parasites ici si je me souvient d'un probleme que j'avait rencontre a l'epoque.

    J'ai utilisé cette methode pour commander l'edition d'etiquettes thermiques sur des imprimantes de type ZEBRA et UBI, et ca fonctionne tres bien.
    Ca fonctionne evidement aussi avec d'autres types d'imprimantes tant que tu connait le codage texte à leur envoyer.
    Dans le genre imprimantes IBM matricielles par exemple.

    Le mieux c'est de commencer des tests d'envoi de fichier .txt avec un fichier .bat lancé à la main.

    Sinon, une methode simple pour envoyer du texte d'impression à une imprimante lambda, c'est de creer une imprimante sous windows de type texte (à choisir dans la liste quand tu precise le driver)
    Ensuite tu imprime via widows tout simplement sur l'imprimante nommée, ou par Excel ca doit marcher aussi.
    Mais ca va dependre de l'imprimante, toutes ne sont pas compatibles texte (à cause d'un format proprietaire)

    Cordialement

  3. #3
    invitea97b4264

    Re : pilotage du port parallele en vba

    Bonjour,

    Je ne comprend pas !!!! Je ne pense pas qu'il soit nécessaire de passer parle DOS pour piloter le port parallele. Mon but était de mettre une entrée du port parallele à 1 (switch aux bornes ??) et lire l'entrée directement en VBA sous Excel. Ex : switch à 1 afficher une valeur dans une cellule pour, par exemple, executer un compteur.

    Merci de ta réponse !

  4. #4
    inviteccac9361

    Re : pilotage du port parallele en vba

    Effectivement,
    tu travailles plutot dans l'autre sens en plus.

    L'avantage du DOS ici, c'est que ton interface est gérée par l'OS, donc tu n'a pas à te soucier du "driver"

    Quoique driver c'est un grand mot.
    Le port parallel peut être interreogé comme n'importe quel port en assembleur par exemple. Par contre windows in ne doit pas apprecier les acces directs. Il te faut une dll.

    Pour info LPT1 se situe à l'adresse 0x378

    Un code en Delphi parce-que j'aime bien Delphi
    Code:
    Function lire_port(adresse_reg: Word): Byte;
    Begin
      Asm
        mov DX,adresse_reg
        in AL,DX
        mov Result,AL
      End;
    End;
      
    Procedure ecrire_port(adresse_reg: Word; valeur: Byte);
    Begin
      Asm
        mov DX,adresse_reg
        mov AL,valeur
        out DX, AL
      End;
    End;
    Sinon il est possible d'utiliser la dll : DllPortIo peut être sur VBA
    Tu trouvera peut-être ton bonheur ici :
    http://files.codes-sources.com/fichi...f=Dlportio.bas

    Sinon, au pire, tu peut fait un programme basique .BAS à l'ancienne
    INP(adresse_port)
    OUT(adresse_port),valeur

    Ca va le faire.

  5. A voir en vidéo sur Futura
  6. #5
    invitea97b4264

    Re : pilotage du port parallele en vba

    Mon but principal est d'envoyer une impulsion externe (schunter à l'aide d'un switch les bornes 10 et 18 du port parallele) et de recuperer la valeur ou le bit dans excel afin de pouvoir agrémenter un compteur.
    Je pense qu'il faut utiliser la dll inpout32.dll. Je ne possède pas Delphi ni C++ mais simplement vba donc un code vba pourrait m'aider à résoudre mon problème. Ton idée de programme en .BAS peut etre interresante mais je préfererais réaliser l'ensemble sur vba.

  7. #6
    inviteccac9361

    Re : pilotage du port parallele en vba

    Tient jete un oeil ici :
    http://www.stielec.ac-aix-marseille....bati/inout.htm

    Tu as même la dll fournie.

  8. #7
    invitea97b4264

    Re : pilotage du port parallele en vba

    Ok merci de ton aide !

    Je vais essayer.

Discussions similaires

  1. Relier un interrupteur sur port parallèle (ou port série)
    Par invitedc8ebe95 dans le forum Électronique
    Réponses: 11
    Dernier message: 04/02/2013, 10h20
  2. Piloter port parallèle avec Excel VBA
    Par invitea97b4264 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 12/02/2010, 00h06
  3. Gestion entrée/sortie sur port parallèle avec VBA
    Par invitea97b4264 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 21/03/2009, 17h06
  4. Port parallèle Excel VBA
    Par invitea97b4264 dans le forum Matériel - Hardware
    Réponses: 1
    Dernier message: 21/03/2009, 17h00
  5. Pilotage d'un relais à l'aide du port parallèle
    Par inviteb16170c4 dans le forum Électronique
    Réponses: 5
    Dernier message: 13/04/2007, 22h20