![]() |
K8055 Analog EIngang - Digital Ausgang
Hallo, ich habe bis jetzt hier viel gelesen, kommen aber bei dem
problem nicht mehr weiter. Ich bin gerade dabei meine staal. gepr. Techniker zu machen und noch im ersten Halbjahr. Wir sollen mit der Vellemann K8055 zwei Eingänge auslesen und min. zwei Ausgänge ansteuern. Die Programmierung machen wir mit Delphi. Mein Projekt sind zwei Lichtschranken die als Eingang dienen als Ausgang hängen zwei LED und ein Piepser dran. Die Lichtempfindliche Diode hängt am Analogeingang und dessen Wert kann ich mit einer Progressbar auslesen... Soweit genug geschrieben, jetzt zu meiner Frage. Wie sage ich dem Digitalen Ausgang das er schalten soll wenn die Lichtschranke das Signal gibt? Lese den Analog in mit einem timer aus Procedure Form.timer3timer(Sender: tobjec) Var ldr1, ldr2 : integer Beginn Readallanalog(ldr1,ldr2) Progressbar1.Position := ldr1; Progressbar2.Position :=ldr2; End; Wen ich das durch habe bin ich endlich fertig und kann mich an die Dokumentation und Präsentation machen. Vielen Dank Andreas |
AW: K8055 Analog EIngang - Digital Ausgang
// In der Demo gibt es folg. procedure
Delphi-Quellcode:
ich mache es so:
procedure TForm1.DigitalOut(Sender: TObject);
var i:longint; begin i:=integer(CheckBox6.checked)*1+ integer(CheckBox7.checked)*2+ integer(CheckBox8.checked)*4+ integer(CheckBox9.checked)*8+ integer(CheckBox10.checked)*16+ integer(CheckBox11.checked)*32+ integer(CheckBox12.checked)*64+ integer(CheckBox13.checked)*128; if not DisableOtherFunctionCall then WriteAllDigital(i); end;
Delphi-Quellcode:
Type TDigitalAusgaenge = Array[1..8] of Boolean;
Var DigitalAusgang : TDigitalAusgaenge; Procedure TMainForm.WriteDigital; var i: longint; begin DisableOtherFunctionCall := true; i := Integer(DigitalAusgang[1]) * 1 + Integer(DigitalAusgang[2]) * 2 + Integer(DigitalAusgang[3]) * 4 + Integer(DigitalAusgang[4]) * 8 + Integer(DigitalAusgang[5]) * 16 + Integer(DigitalAusgang[6]) * 32 + Integer(DigitalAusgang[7]) * 64 + Integer(DigitalAusgang[8]) * 128; //SetDigitalChannel(CardAddr); // Karte 0..3 auswählen WriteAllDigital(i); DisableOtherFunctionCall := false; end; begin DigitalAusgang[1] := TRUE; DigitalAusgang[2] := TRUE; WriteDigital; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz