Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

USB-Interface ansteuern

Forumthread: USB-Interface ansteuern

USB-Interface ansteuern
22.02.2007 14:53:34
Karsten
Hallo zusammen,
ich habe eine aufwendige Messeinrichtung für die Messung von Temperaturen und die Ansteurung von Schrittmotoren entwickelt. Derzeit steuere ich ein Interface mit A/D-Wandler (Eingänge) mit einer Auflösung von 8 Bit an (Compulab von ModulBus). Die digitalen Ausgänge können ebenfalls angesteuert werden. Das ganze läuft unter vba über die serielle Schnittstelle. Echt gut geworden. Leider muss ich die Auflösung A/D erhöhen und in diesem Zusammenhang auf ein USB-Interface (ME-RedLab 1024LS) zurückgreifen.
Hat denn schon einmal jemand ein USB-Interface per VBA angsteuert und kann mir ein paar Code-Schnipsel zeigen? Ich hab keine Ahnung wie und ob das möglich ist.
Herzlichen Dank im voraus.
Karsten
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;
Anzeige

Infobox / Tutorial

USB-Interface mit Excel und VBA ansteuern


Schritt-für-Schritt-Anleitung

  1. VBA-Umgebung öffnen: Starte Excel und öffne die VBA-Entwicklungsumgebung, indem du ALT + F11 drückst.

  2. Neues Modul erstellen: Klicke im Projekt-Explorer mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.

  3. USB-Interface ansteuern: Füge den folgenden VBA-Code ein, um das USB-Interface anzusteuern. Stelle sicher, dass du die richtigen COM-Ports und Parameter für dein Gerät verwendest.

    Sub USBAnsteuerung()
       Dim SerialPort As Object
       Set SerialPort = CreateObject("MSComm.MSComm")
       SerialPort.CommPort = 1 ' Ändere dies auf die richtige COM-Nummer
       SerialPort.Settings = "9600,N,8,1"
       SerialPort.PortOpen = True
    
       ' Beispiel zur Steuerung eines Schrittmotors
       SerialPort.Output = "MotorOn" ' Befehl zum Einschalten des Motors
    
       SerialPort.PortOpen = False
    End Sub
  4. Code ausführen: Schließe das Modul und führe den Code aus, um sicherzustellen, dass das USB-Interface korrekt angesteuert wird.


Häufige Fehler und Lösungen

  • Fehler: COM-Port nicht gefunden
    Lösung: Überprüfe, ob der richtige COM-Port in den VBA-Einstellungen angegeben ist. Du kannst dies im Geräte-Manager unter "Anschlüsse (COM & LPT)" nachsehen.

  • Fehler: Verbindung konnte nicht hergestellt werden
    Lösung: Stelle sicher, dass das USB-Interface korrekt angeschlossen ist und die Treibersoftware installiert ist.


Alternative Methoden

Wenn die VBA-USB-Ansteuerung nicht funktioniert, kannst du auch andere Software verwenden, um mit USB-Schnittstellen zu kommunizieren:

  • Python mit PySerial: Eine beliebte Methode, um über USB zu kommunizieren. Du kannst ein Python-Skript erstellen, das die USB-Schnittstelle ansteuert und die Daten in Excel importiert.

  • Drittanbieter-Tools: Es gibt verschiedene Softwarelösungen, die eine einfache Ansteuerung von USB-Geräten ermöglichen, ohne dass du tief in die Programmierung einsteigen musst.


Praktische Beispiele

Ein Beispiel für die Ansteuerung eines Schrittmotors könnte folgendermaßen aussehen:

Sub MotorSteuerung()
    Dim SerialPort As Object
    Set SerialPort = CreateObject("MSComm.MSComm")
    SerialPort.CommPort = 2 ' Beispiel COM-Port
    SerialPort.Settings = "9600,N,8,1"
    SerialPort.PortOpen = True

    ' Schritt für Schritt Ansteuerung
    Dim i As Integer
    For i = 1 To 10
        SerialPort.Output = "Step" & i ' Sende Schritte an den Motor
        Application.Wait Now + TimeValue("00:00:01") ' 1 Sekunde warten
    Next i

    SerialPort.PortOpen = False
End Sub

In diesem Beispiel wird der Schrittmotor über eine einfache Schleife gesteuert, wobei jeder Schritt eine Sekunde dauert.


Tipps für Profis

  • Verwende Error Handling: Implementiere Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler abzufangen und zu verwalten.

  • Debugging: Nutze die Debugging-Tools in der VBA-Umgebung, um Probleme schnell zu identifizieren und zu beheben.

  • Dokumentation: Halte eine Dokumentation deiner Befehle und der verwendeten Schrittmotor-Berechnungsformel bereit, um zukünftige Anpassungen zu erleichtern.


FAQ: Häufige Fragen

1. Kann ich mehrere USB-Geräte gleichzeitig ansteuern?
Ja, du kannst mehrere USB-Geräte ansteuern, indem du für jedes Gerät einen eigenen COM-Port in deinem VBA-Code verwendest.

2. Welche Excel-Version benötige ich?
Die oben genannten Methoden funktionieren in den meisten aktuellen Excel-Versionen (Excel 2010 und höher). Achte darauf, dass die VBA-Umgebung verfügbar ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige