Come inviare comandi seriali ad un passo-passo in Visual Basic

May 3

Un motore passo-passo è unica in quanto può trasformare un determinato numero di gradi e arresto, piuttosto che girando continuamente come la maggior parte dei motori elettrici fanno. Il motore è controllato elettronicamente da un circuito esterno. Questa disposizione si presta a controllo software, se è firmware incorporato nel microcontrollore o da un programma esterno. Visual Basic può essere utilizzato per sviluppare software che comunica con il circuito di controllo di un motore tramite la porta seriale o parallelo su un computer. Una volta che la porta è aperta, il programma può esercitare un controllo sui movimenti del motore.

istruzione

1 Fare riferimento alla classe SerialPort nel programma. Questo gruppo può essere utilizzato con Visual Basic e altri linguaggi .NET. Digitare la seguente istruzione nella parte superiore del file di codice:

Importazioni System.IO.Ports

2 Impostare le impostazioni della porta e aprire la porta seriale. Questo codice può essere inserito in un numero di posizioni nel programma tale caso "carico" di una forma o in risposta a un pulsante premuto. L'esempio seguente imposta i parametri per la porta seriale COM1:

Dim myComPort come nuovo SerialPort

Provare

If Not myComPort.IsOpen Then

myComPort.PortName = "COM1"

myComPort.BaudRate = 1200

myComPort.Parity = Parity.None

myComPort.DataBits = 8

myComPort.StopBits = StopBits.One

myComPort.Handshake = Handshake.None

myComPort.ReadTimeout = 3000

myComPort.WriteTimeout = 5000

myComPort.Open ()

Finisci se

Cattura --- (errori)

End Try

3 Invia i codici di controllo al microcontrollore collegato al motore passo-passo. Diverse combinazioni di controllori e motori avranno i requisiti del codice diverse quindi è necessario fare riferimento alla documentazione del produttore per i codici specifici e la forma in cui il controller si aspetta di riceverli. A titolo di esempio, il codice seguente invia un comando "GO", come a 8-bit, caratteri ASCII:

myComPort.Writeline ( "GO")

risposta = myComPort.Readline

4 Chiudere la porta quando si è finito di inviare i comandi. La "fine Uso di" dichiarazione rilascia le risorse della porta seriale e la chiude alla comunicazione. Aggiungere questo codice sia al gestore di eventi "FormClosing" oppure a un menu o un controllo specifico evento:

utilizzando myComPort

Se myComPort.IsOpen Poi

Do While (myComPort.BytesToWrite > 0)

Ciclo continuo

Finisci se

Fine Utilizzando