Einzelnen Beitrag anzeigen

melssner

Registriert seit: 14. Jul 2009
18 Beiträge
 
Delphi 7 Enterprise
 
#1

USB-Schnittstelle steuern

  Alt 14. Jul 2009, 19:55
Hallöle DP´ler,

Habe folgendes anliegen.
Ich habe mir eine USB-Schnittstellenkarte gebastelt mit Relais welche durch ne Manuelle Steuerung über Checkboxen
geschaltet werden. Das funzt alles.
Um dies automatisiert Schalten zu lassen habe ich nen Timer Integriert.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i: Single;
t : string;
h,CardAddr,data1,data2:longint;
start,ende : string;

begin
//Beginn der Schaltung
start := '17:13:00';
if TimeToStr(Time) = start Then
  begin
    h:= OpenDevice(0);
    SetDigitalChannel(1);
    CheckBox1.Checked:= true;
    CloseDevice;
  end
  else
  begin
    ende := '17:14:00';
    if TimeToStr(Time) = ende Then
      begin
      h:= OpenDevice(0);
      ClearDigitalChannel(1);
      CheckBox1.Checked:= false;
      CloseDevice;
      end;
//Ende der Schaltung
//Beginn Thermometer
    h:= OpenDevice(0);
    data1 := ReadAnalogChannel(1);
    i := StrToInt('101')*data1/256-23;
    label5.Caption := format('%2.1f',[i]);
    if format('%2.1f',[i]) < '0THEN label5.Caption := '00,0';
    if format('%2.1f',[i]) < '0THEN begin Label5.Enabled := false; end else begin Label5.Enabled := True; end;

    data2 := ReadAnalogChannel(2);
    i := StrToInt('101')*data2/256-23;
    label6.Caption := format('%8.1f',[i]);
    if format('%2.1f',[i]) < '0THEN label6.Caption := '00,0';
    if format('%2.1f',[i]) < '0THEN begin Label6.Enabled := False; end else begin Label6.Enabled := True; end;
    CloseDevice;
  end;
//Ende Thermometer

 label4.Caption := TimeToStr(Time);
end;
das funzt auch

jetzt will ich aber diese Zeitangaben aus einer Datenbank nehmen mit mehreren Steuerzeiten.
Die Datenbank hat den Aufbau
Tabelle : AutoTimes
Felder : ID, CardAdress, Monat, Tag, StartTime, EndTime

bis dahin würde ich auch noch mitkommen.

Nur sollte der alte Laptop mal abschmieren schalten wieder alle Relais ab.
Beim Neustart müssten die Einträge geprüft werden und wenn die, die in dem Start- und EndTime Zeitfenster sich mit der momentanen Uhrzeit befinden wieder geschalten werden.

Wie kann ich dies umsetzen, hab als Anfänger noch ni so den Plan.

LG Mario
  Mit Zitat antworten Zitat