Hallo an alle, ich weiß, dass es zu diesem Thema schon viele Beiträge hier im Forum gibt, aber keines diese Beiträge hat mich an mein Ziel geführt! Ich möchte die Ansteuerung für den COM-Port von Skilltronics http://www.skilltronics.de/versuch/elektronik_pc/4094.html mit VB ansteuern! Nur irgendwie habe ich das ungute Gefühl, dass es noch nicht wirklich jemandem gelungen ist den 4094 über den COM Port mittels VB anzusteuern. Ich habe die Schaltung mit einem 4094 (8 Ausgänge) auf einer Lochrasterplatte zusammengelötet und mit dem Q-Basik-Programm 4094.exe von Skilltronnics erfolgreicht getestet. Ich möchte diese Schaltung für mein Modellbahnprojekt als Steuerung einstetzen. Die Steuerungslogik möchte ich mit VB (6/2008) programmieren, da mir das Programmieren mit VB sehr leicht fällt. Ist es irgendjemandem schon einmal gelungen den 4094 über die COM-Schnittstelle mit VB anzusteuern? Mir würde ein kurzer Denkanstoss zu ansteuerung eines Ausgangs reichen! Den Port öffnen und schliessen ist ja kein Problem; aber das setzten der Ausgänge der COM-Schnittstelle und in welcher Reihnfolge bereitet mir Schwierigkeiten! Kann mir jemand weiterhelfen? Danke im voraus! Mit freundlichen Grüßen Tino
Hallo http://www.skilltronics.de/versuch/elektronik_pc/4094.html Nimm aber TxD als Strobe. Wenn du mit .Net ein Prog machst und einen USB to Rs232 anschließen mußt,wir es aber Saulangsam. Du kannst gleichzeitig auch ein 4021 in den Pc einlesen. Ist eigentlich kein Problem. Gruß
Juppi J. schrieb: > Wenn du mit .Net ein Prog machst und einen USB to Rs232 anschließen > mußt,wir es aber Saulangsam. Wenn ein FT232R verwendet wird, lassen sich hingegen die DLL-Funktionen von FTDI nutzen, und dann wird das Bitbanging hingegen deutlich schneller als irgendein Gefrickel mit der seriellen Schnittstelle.
Da hast du recht,er wollte aber direkt ansteuern!
Hallo und Danke für die schnelle Antwort, das mit dem TxD habe ich schon gelesen Beitrag "VB-Programm zur seriellen Ansteuerung von 4094 gesucht" Also müsste die Anschlussbelegung: TxD Strobe DTR Date RTs Clock so aussehen anstatt RTs Strobe TxD Daten DTR Clock ??? Das werde ich heute umlöten. Mit der Geschwindigkeit mache ich mir keine Sorgen, da die Schaltung von einer "echten" COM Schnittstelle angesprochen wird. Nur wie gehe ich dann an die Ansteuerung mit VB-Net (bevorzugt) ran? SerialPort1.DtrEnabelt =TRUE/FALSE SerialPort1.RtsEnabelt =TRUE/FALSE ??? ..usw. Was muß ich mit: SerialPort1.Write(...) übergeben und in welchem Format (Int, Chr, Byte...) damit ich beispilsweiße den ersten Ausgang schalten kann? Ich brauche nur diese kleine Starthilfe! Den Rest bekomme ich dann selbst hin! Wenn die Ausgabe über den 4094 mit VB funktioniert, werde ich einmal mehrere IC's kaskatieren und danach versuchen mit dem 4021 die ersten Eingänge (Gleisbesetztmelder, Weichenlagenmelder) zurückzulesen! Bin schon sehr gespannt ob das alles so funktioniert wie ich es mir vorstelle! Danke erst mal für die hilfe! Gruß Tino
> Wenn ein FT232R verwendet wird, lassen sich hingegen die DLL-Funktionen > von FTDI nutzen, und dann wird das Bitbanging hingegen deutlich > schneller als irgendein Gefrickel mit der seriellen Schnittstelle. Keine schlechte Idee! Darüber habe ich sogar ein Buch! Mit SUB Messen, Regeln und Steuern! Was mir nur noch unklar ist, in welcher Abfolge muss ich die Eingänge des 4094 schalten damit am zbs zweiten Ausgang ein Signal anliegt? Den Rest bekomme ich selber hin. Gruss Tino
Hallo Leute, ich habe die Lösung gefunden! 1.Anschlussbelegung geändert auf: TxD Strobe DTR Date RTs Clock 2.Vb-Programm COM-Schnittstelle einfügen, konfigurieren und COM öffen 3.Es müssen immer 8-Bit pro 4094 pro ausgabe geschrieben werden. Das heißt also bei zwei 4094 muß ich für eine Ausgabe an der Hardware 16 Bit in die Schaltung schicken. Wenn ich zum Beispiel bei nur einem 4096 LED 2 leuchten lassen möchte, muß ich Bit 2 auf HIGH setzen. Was im Programm so viel bedeutet wie Schleife von 1 bis 8 (8 Bit) und bei Schleifendurchlauf 2 (Bit 2) DTR auf High und wieder auf LOW! Fertig!!! Wird in der Schleife kein Bit gesetzt, gehen alle LED's aus!! Dim Z, i As Integer Z = 2 For i = 1 To 8 SerialPort1.DtrEnable = False If i = Z Then SerialPort1.DtrEnable = True End If SerialPort1.RtsEnable = True SerialPort1.RtsEnable = False Next SerialPort1.BreakState = True SerialPort1.BreakState = False Jetzt kann ich mich an das einlesen der Bits mit dem 4021 machen! Gruß Tino
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.