Guten Morgen,
ich versuche, via Excel-VBA Befehle an einen Roboter zu senden. Der
Roboter ist durch einen USB-RS232 Adapter an den PC angeschlossen.
Anhand der "RSAPI.dll" von http://www.b-kainka.de/download.htm und einer
google-Recherche habe ich es auch geschafft, den Port zu öffnen.
Mein bisheriger Code sieht so aus:
1 | Declare Function OPENCOM Lib "RSAPI.DLL" (ByVal Parameter$) As Integer
|
2 | Declare Function CLOSECOM Lib "RSAPI.DLL" () As Integer
|
3 | Declare Function SENDSTRING Lib "RSAPI.DLL" (ByVal S As String) As Integer
|
4 | Declare Function TIMEOUT Lib "RSAPI.DLL" (ByVal ms%) As Integer
|
5 |
|
6 |
|
7 | Sub Main()
|
8 | OPENCOM ("COM3:9600,N,8,1")
|
9 | TIMEOUT (200)
|
10 | SENDSTRING ("M")
|
11 | TIMEOUT (200)
|
12 | SENDSTRING ("O")
|
13 | SENDSTRING ("V")
|
14 | SENDSTRING ("A")
|
15 | SENDSTRING (" ")
|
16 | SENDSTRING ("R")
|
17 | SENDSTRING (",")
|
18 | SENDSTRING (" ")
|
19 | SENDSTRING ("2")
|
20 | SENDSTRING ("0")
|
21 | SENDSTRING ("0")
|
22 | SENDSTRING ("0")
|
23 | SENDSTRING (".")
|
24 | CLOSECOM
|
25 | End Sub
|
Der Befehl, den ich senden möchte, lautet:
MOVA R, 2000
Ich habe mit der mitgelieferten Software eine Verbindung zum Roboter
aufgebaut und genau diesen Befehl gesendet, das PortMon Log findet ihr
im Anhang dieses Artikels - ebenso das Log von Excel.
Bzgl. des Software Logs:
Ich bin so vorgegangen: Verbindung zum Roboter aufbauen - 1min warten -
Befehl eingeben - 1min warten - Befehl absenden - 1min warten -
Verbindung beenden
So könnt ihr die einzelnen Schritte hoffentlich besser nachvollziehen,
da sie zeitlich relativ deutlich voneinander abgegrenzt sind.
Mein Problem ist nun folgendes:
Der Roboter führt den MOVA-Befehl nicht aus. Ich habe - wie ihr
hoffentlich seht - versucht, meine Befehle in Excel so anzupassen, dass
sie den Befehlen der Software entsprechen, jedoch funktioniert das nicht
so richtig (siehe z.B. die unterschiedlichen Timeout Befehle). Und auch
das Absenden funktioniert bei der Software etwas anders.
Meine Frage:
a) Kann ich die Befehlskette von der Software überhaupt auch so mit
Excel nachstellen? Also kann ich den Roboter mit Excel "steuern"?
b) Wo liegen meine Fehler und wie kann ich diese beheben?
Vielen Dank für eure Hilfe.
Gruß
Justus