USB-LRB-Relaiskarte Zeitverzögerung?
Verfasst: Montag 27. Januar 2014, 14:45
Hallo,
wir verwenden für ein Schulprojekt die USB-LRB_Relaiskarte zur Weichensteuerung. Wir programmieren diese unter VisualC++.
Ein Problem gibt es jedoch, da die Relais nur kurz angeschaltet werden sollen und nach kurzer Zeit wieder automatisch ausgeschaltet werden sollen. Dazu haben wir versucht, eine Zeitverzögerung in das Programm einzubauen, so dass ein Programmabschnitt z.B. so aussieht:
REL1 -> REL_1 = 1 ;
REL1 -> REL_7 = 1 ;
Thread::Sleep(1000);
REL1 -> REL_1 = 0 ;
REL1 -> REL_7 = 0 ;
Leider führt dies dazu, dass die ersten beiden Befehle nicht ausgeführt werden. Die beiden letzten Befehle laufen aber problemlos (wenn man die Relais vorher anschaltet, werden diese vom Programm ausgeschaltet). Meine Vermutung ist, dass die Verzögerung des Programms mit der Schaltzeit der Relaiskarte kollidiert.
Über einen Lösungsvorschlag wären wir sehr dankbar.
Gruß, Holger
wir verwenden für ein Schulprojekt die USB-LRB_Relaiskarte zur Weichensteuerung. Wir programmieren diese unter VisualC++.
Ein Problem gibt es jedoch, da die Relais nur kurz angeschaltet werden sollen und nach kurzer Zeit wieder automatisch ausgeschaltet werden sollen. Dazu haben wir versucht, eine Zeitverzögerung in das Programm einzubauen, so dass ein Programmabschnitt z.B. so aussieht:
REL1 -> REL_1 = 1 ;
REL1 -> REL_7 = 1 ;
Thread::Sleep(1000);
REL1 -> REL_1 = 0 ;
REL1 -> REL_7 = 0 ;
Leider führt dies dazu, dass die ersten beiden Befehle nicht ausgeführt werden. Die beiden letzten Befehle laufen aber problemlos (wenn man die Relais vorher anschaltet, werden diese vom Programm ausgeschaltet). Meine Vermutung ist, dass die Verzögerung des Programms mit der Schaltzeit der Relaiskarte kollidiert.
Über einen Lösungsvorschlag wären wir sehr dankbar.
Gruß, Holger