serial port per VBScript
cheops
- sonstiges
Hallo zusammen,
ich habe eine elektronische Waage, die einen seriellen Port (rs232) besitzt. An diesen habe ich einen USB-Adapter angeschlossen, der den Rechner mit der Waage verbindet.
Jetzt muss ich aus einer Webseite heraus mit der Waage kommunizieren können (Steuerbefehle), weshalb ich mich (unter Schmerzen) für VBScript entschieden habe (IE only).
Jetzt komme ich jedoch aus der PHP-Welt und tu mich mit VB etwas schwer... hier der bisherige Code:
MSComm1.CommPort = 3 (Systemsteuerung sagt mir es wäre COM3)
MSComm1.InputLen = 1
MSComm1.Settings = "2400,N,8,1"
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
...er steigt jedoch schon nach der ersten Zeile aus, scheint also "MSComm1" nicht zu kennen. Mir ist jetzt leider unklar, a) woran es liegt und b) wie ich alternativ (und ob überhaupt von einer Webseite aus) mit dem seriellen Port kommunizieren kann.
Bin über zig Foren darauf gestoßen, dass evtl. die "MSCOMM32.ocx" benötigt wird, die aber weder bei mir installiert ist, noch sich unter win7-64 bei mir installieren lässt.
Bin für jede Hilfe dankbar.
Danke/Gruß
cheops
nd b) wie ich alternativ (und ob überhaupt von einer Webseite aus) mit dem seriellen Port kommunizieren kann.
Ich würde mal tippen das geht nicht, bzw. nicht so einfach.
MSComm1 wird ja irgendein Objekt sein, das kann dein Code nicht einfach mal so aus dem Nichts kennen. Mehr zeigst du ja nicht.
Wärs nicht besser wenn auf dem Rechner ein gescheites Programm läuft das die Schnittstelle abhört und dann das damit macht was getan werden muss?
Der Browser ist schnell mal geschlossen oder zeigt ne andere Seite an oder irgendwas, dann ist deine Funktion weg. Solche Lösungen hören sich für mich immer als ziemliches Frickelwerk an. Warum muss das in einer Webseite laufen?
hi cheope,
das man mit einer scriptsprache auf Hardware zugreifen kann ist mir neu (soll aber nix heisen).
Eine ähnliche Aufgabe hatte ich auch.
Die Ansteuerung der Hardware RS232 über VB6!! ist sehr einfach zu programmieren - da hast du dann auch deine ocx'e! ;-)
Daten weitergeben ist einfach:
Du schreibst sie mit Zeit und Wert in eine Datei auf den webserver und liest sie dann geschmeidig über Ajax aus.
Befehle zu senden ist etwas verzwickter:
Du übergibst deinen Steuerbefhl per Ajax an ein phpprog.
1. Jetzt kannst du (wenn du's kannst) über ein socket per tcp den Befehl an dein VB6(winsock1) prog schicken. und über mscomm1.send weiterleiten.
mit socket und php hats bei mir schon mal geklappt - ist aber lange her.
2. holzhammermethode: mit dem php -> befehl in eine datei schreiben -> und über timer im VBprog regelmäßig auslesen.
übrigens in VB6 (nicht höhere Ver.) kannst Du Deinen Code für den Commport 1:1 übernehmen
grüße aus LA
ralphi