LPT1 e EXCELVBA



  • LPT1 e EXCEL/VBA
    di Hellboy (utente non iscritto) data: 23/10/2015 10:43:22

    Ciao ragazzi, ho un altro problemino sul software che sto sviluppando.
    In pratica si tratta di un form dove ho due pulsanti con i quali muovo un motorino passo passo tramite LPT1.

    Ho questo problema.

    Se imposto un ciclo e premo il pulsante di avvio ciclo, il motorino passo passo si muove alla velocità richiesta.
    Se invece, pigio un pulsante di continuo, mandando impulsi (step) al motorino, non riesco a farlo muovere alla stessa velocità.

    Vi posto il codice dei due casi, per chiarVi l'idea e sperando che qualcuno mi possa aiutare.
     
    ------------CICLO PASSO PASSO utilizzando la pressione di un Command Button --------------
    
    countit = 0
    MyTimer = 0
    countit = AsseX_NumeroDiStepPerGiroCompleto  ''''' qui indico quanti step far compiere al passo passo
    Out 888, 0
    Do While countit > 0
       MyTimer = AsseX_VelocitàMovimentazione  '' piu' aumento la velocità e piu tempo ci vorrà per far compiere al motorino il ciclo previsto
       Out 888, PinAsseX_Dir
            Do While MyTimer > 0
            MyTimer = MyTimer - 1
            Loop
       Out 888, 0
    countit = countit - 1
    Loop
    
    
    
    
    
    --------- ciclo continuo utilizzando uno SPIN BUTTON ---------------------------
    
    Private Sub SpinButton1_Change()
    TextBox1.value = SpinButton1.value  'visualizzo il valore
    
    countit = 0
    MyTimer = 0
    countit = 1 'AsseX_NumeroDiStepPerGiroCompleto - sono gli impulsi da dare al PassoPasso 1 per 1, alimenta il ciclo do while countit
    Out 888, 0
    Do While countit > 0
       MyTimer = AsseX_VelocitàMovimentazione ' + aumento il valore, + va piano il PassoPasso, perchè per inviare un altro impulso si deve azzerare il MyTimer
       Out 888, PinAsseX_Step
            Do While MyTimer > 0
               MyTimer = MyTimer - 1
            Loop
    countit = countit - 1
    Out 888, 0
    Loop
    
    End Sub
    



  • di Hellboy (utente non iscritto) data: 23/10/2015 10:48:43

    Dimenticavo, appena provato, con la pressione continua andava lentissimo .... poi mi sono accorto che lo SPIN BUTON ha la proprietà Delay attiva ed impostata a 50. Ho impostato a zero ed è molto migliorato, ma vorrei riuscire ad aumentare la velocità, e farlo andare alla stessa velocità "dell'Automatico" (quello del command button).


    HELP !!



  • di patel data: 24/10/2015 09:37:56

    Non mi sembra molto indicato l'uso di excel per questo tipo di applicazioni dove il tempo di risposta è essenziale,.
    Tra il motorino e l'interfaccia c'è nel mezzo windows, excel ecc.. un po' troppa roba.





  • di Hellboy (utente non iscritto) data: 25/10/2015 15:38:54

    Si lo so, ma "I HAVE A DREAM".
    Vorrei che anche per gli utenti microsoft windows, ci fosse un programma gratuito per l'uso di motori passo passo ... cosi come per linux esiste EMC2.
    Io lancio una pietra nello stagno, costruendo un piccolo software, ed essendo gratuito ed open-source, sperco che molte persone di buona volontà mi aiutino a completarlo e renderlo sempre migliore .... cmq, prima di postarlo, lo devo finire :)

    Alla fine il movimento manuale anche se lento andrebbe bene, tanto quando legge il codice va piu' veloce, pero' vorrei capire perchè !!!
    Stesso programma, se leggo il codice per lo spostamento automatico va a 100, se lo eseguo manualemente va a 50.



  • di patel data: 26/10/2015 07:54:26

    potresti orientarti su visual basic in modo da ottenere un eseguibile compilato