Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA und serielle Schnittstelle RS232

Forumthread: VBA und serielle Schnittstelle RS232

VBA und serielle Schnittstelle RS232
06.04.2005 14:58:27
tombo
Rehi Ihr Nettinnen & Netten,
wir möchten die Messdaten der Lichtschranke eines Carrera-Rundenzähler per RS232-Schnittstelle in Excel per VBA auswerten.
Wer hat Tipps, Erfahrung, Programme?
Liebe Grüße
Tombo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA und serielle Schnittstelle RS232
06.04.2005 15:08:50
Andi
Hi Tombo,
damit hab ich mich vor Monaten auch mal ne ganze Weile rumgeschlagen.
Hilfreich is auf jeden Fall diese Seite:
http://www.b-kainka.de/portnt.htm
Die wichtigsten Befehle in dem Zusammenhang sind SENDBYTE und READBYTE (funktionieren mit der port.dll oder auch mit der rsapi.dll). Die Bytes werden jeweils als Dezimalzahlen übertragen.
Wenn Du noch mehr Infos brauchst, dann meld Dich ruhig nochmal...
Viel Erfolg & schönen Gruß,
Andi
Anzeige
AW: VBA und serielle Schnittstelle RS232
06.04.2005 15:36:25
tombo
hallo Andi,
danke für die schnelle Hilfe ;-)
Nun ist erst einmal selber probieren angesagt.
Gruß tombo
AW: VBA und serielle Schnittstelle RS232
07.04.2005 11:05:19
Johannes
Verweis auf die Mscomm32.ocx - dann ist das alles nur ein Kinderspiel.
Initialisieren des Ports...

Private Sub port_init()
With frmUebertragung.MSComm1
.CommPort = 1
.Settings = "9600,N,8,2"
.InputMode = comInputModeText
.InputLen = 0
.RThreshold = 1
.PortOpen = True
End With
End Sub

Mit dem MSComm1_OnComm() Ereignis verarbeitest du dann einfach alle Daten, die ueber den Port wandern. Bei Probleme einfach nachfragen. ;-)
Gruesse,
Johannes D.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

RS232-Schnittstelle mit VBA in Excel nutzen


Schritt-für-Schritt-Anleitung

Um die RS232-Schnittstelle in Excel mit VBA zu nutzen, folge diesen Schritten:

  1. VBA-Entwicklungsumgebung öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Referenz hinzufügen: Gehe zu Extras > Verweise und füge die MSCOMM32.OCX hinzu, um die serielle Kommunikation zu ermöglichen.

  3. Modul erstellen: Füge ein neues Modul hinzu (Einfügen > Modul).

  4. Port initialisieren: Verwende den folgenden Code, um den Port zu initialisieren:

    Private Sub port_init()
    With frmUebertragung.MSComm1
       .CommPort = 1
       .Settings = "9600,N,8,2"
       .InputMode = comInputModeText
       .InputLen = 0
       .RThreshold = 1
       .PortOpen = True
    End With
    End Sub
  5. Daten empfangen: Implementiere das MSComm1_OnComm()-Ereignis, um die eingehenden Daten zu verarbeiten.


Häufige Fehler und Lösungen

  • Port nicht geöffnet: Stelle sicher, dass der richtige COM-Port in .CommPort eingestellt ist und keine andere Anwendung den Port verwendet.
  • Falsche Einstellungen: Überprüfe, ob die Baudrate, Parität und andere Einstellungen korrekt sind. Diese müssen mit denen des angeschlossenen Geräts übereinstimmen.
  • Fehlende Referenz: Wenn du die MSCOMM32.OCX nicht hinzugefügt hast, wird der Code nicht funktionieren. Gehe sicher, dass diese Referenz vorhanden ist.

Alternative Methoden

Falls du keine MSCOMM32.OCX verwenden möchtest, gibt es auch andere Ansätze:

  • PortNT: Diese Methode nutzt die port.dll oder rsapi.dll, um serielle Kommunikation in VBA zu ermöglichen. Eine gute Ressource ist die Webseite b-kainka.de.
  • Windows API: Du kannst auch die Windows API verwenden, um die serielle Schnittstelle direkt anzusprechen, was jedoch komplexer ist.

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du Daten vom RS232-Port empfangen kannst:

Private Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
        Case comEvReceive
            Dim receivedData As String
            receivedData = MSComm1.Input
            ' Hier kannst du die empfangenen Daten weiterverarbeiten
            Debug.Print receivedData
    End Select
End Sub

In diesem Beispiel wird der empfangene Datenstrom über die Debug-Konsole ausgegeben. Du kannst die Daten auch direkt in Excel-Zellen schreiben, um sie weiter auszuwerten.


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine umfassende Fehlerbehandlung, um Probleme beim Lesen und Schreiben über den Port besser zu managen.
  • Datenprotokollierung: Speichere empfangene Daten in einer Excel-Tabelle für eine spätere Analyse.
  • Performance: Achte darauf, die Schleifen für das Lesen von Daten effizient zu gestalten, um die Performance nicht zu beeinträchtigen.

FAQ: Häufige Fragen

1. Was ist RS232?
RS232 ist ein standardisiertes Protokoll für die serielle Datenübertragung, das häufig in der Industrie verwendet wird.

2. Wie kann ich die Verbindung überprüfen?
Nutze Tools wie PuTTY oder HyperTerminal, um zu überprüfen, ob dein Gerät ordnungsgemäß mit dem RS232-Port kommuniziert.

3. Ist VBA die beste Wahl für RS232 in Excel?
VBA ist eine einfache und effektive Möglichkeit, um RS232-Daten in Excel zu integrieren, besonders wenn du bereits mit Excel vertraut bist.

4. Welche Excel-Version benötige ich?
Die oben genannten Methoden funktionieren in Excel-Versionen, die VBA unterstützen, typischerweise ab Excel 97 bis zur aktuellen Version.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige