Hallo Zusammen,
ich bin neu hier im Forum und habe auch nicht die super VBA Kentnisse. Also, bitte habt etwas Nachsicht mit mir!
Ich besitze eine Lichtschranke, welche ich über RS232-USB Adapter an meinem Laptop verbunden habe, die Lichtschranke schaltet einen potentialfreien Kontakt(Relais) zwischen DTR und DSR.
Jetzt meine Frage, kann ich mit der lichtschranke einen einfachen Vorwärtszähler in VBA realisieren? Das Programm sollte einen Rücksetz-Button haben und fertig! Ich wäre für eure Antworten sehr dankbar, da ich nichts adäquates bei google gefunden habe.
Hi.
In VBA vermutlich nicht, oder bekommst du den Trigger der LS nach Excel durchgeschliffen?
Sonst sollte ien Zähler mit Rücksetzen nicht so schwer sein.
Leider bin ich aber auch derzeit nicht fähig an eine Lösung mitzuabeiten, da ich privat wie auch beruflich zu viel um die Ohren haben. Sorry und hoffe, du nimmst es mir nicht übel.
Jonn.
Ich habe selbst noch nie mit Excel und Hardware gearbeitet. Aber wenn du die daten ins Excel bekommst kann man auf sicherlich einen Zähler programmieren. Wie wird denn der Takt an dEn Computer übertragen? Was soll die Schnittstelle sein?
Kontakt zwischen Excel VBA und USB seriell herstellen geht durch Link auf Kernel32, dort die Funktionen
-Createfile (gibt Dir das Handle auf die Schnittstelle)
-SetCommState ( DTR einschalten )
-GetCommState ( DSR-Status abfragen )
Definition der Schnittstelle benötigt so um die 20 Parameter, für Deine Anwendung musst Du mindestens die drei genannten Funktionen mit DeclareFunction anbinden.
Sorry aber Kernelzugriff-Nachhilfe sprengt den hiesigen Rahmen!
Abfrage gestalten:
Mit ‚ner While … Wend Schleife, in der der Status mit GetCommState abgefragt wird, ggfs. Hochgezählt. Bau‘ Dir noch einen separaten Ausstieg in While Wend ein.
Warnung : die Methode hat Grenzen! Mehr als höchstens 10 Ereignisse pro Sekunde wirst Du nicht schaffen damit.
Auch hier: grundlegende Programmierkenntnisse sollten schon da sein.
Du wirst noch ein paar halbe Stunden hereinstecken müssen!
Mit freundlichem Gruße, Matthias