Hallo Gemeinde,
ich habe vor mir eine Terrariumsteuerung zu bauen.
Zu diesem Zweck habe ich mir ein C-Control I UNIT M2.0 bei CONRAD gekauft. Vorher hatte ich eine einfachere Variante dieser Baureihe.
Jetz kommt mein Problem: Ich bin nun nicht der Programmierer, aber ich versuche mich in der Materie etwas hinein zu versetzen.
Ich möchte verschiedene (4) Relais mit einem Zeitprogramm steuern.
Ich habe da scho einiges probiert. Leider funzt das nicht so, wie ich es will. Die Relais fallen nach dem ansteuern eines zweiten immer wieder ab. Es bleibt sozusagen immer nur ein Relais angesteuert.
Wie bekomme ich so eine Art Schleife für das Halten des Relaiszustandes hin? Kann man da etwas mit Variablen, die den Zustand speichern arbeiten? Wie geht das denn?
Code:define SDA as port[9] define SCL as port[10] define EXTPORT as byteport[4] define REL1 as port[29] define REL2 as port[30] define REL3 as port[31] define REL4 as port[32] define LIGHT as port[16] LCD.INIT LIGHT=off SDA=on SCL=on EXTPORT=OFF TYPE tUhrzeit Stunde AS BYTE _Minute AS BYTE Sekunde AS BYTE END TYPE DEFINE AlteUhrzeit AS BYTE DEFINE Jahr AS WORD DEFINE Heizungein AS tUhrzeit DEFINE Heizungaus AS tUhrzeit DEFINE Beregnungein AS tUhrzeit DEFINE Beregnungaus AS tUhrzeit Heizungein.Stunde = 20 Heizungein._Minute = 36 Heizungein.Sekunde = 00 Heizungaus.Stunde = 21 Heizungaus._Minute = 10 Heizungaus.Sekunde = 00 Beregnungein.Stunde = 20 Beregnungein._Minute = 37 Beregnungein.Sekunde = 30 Beregnungaus.Stunde = 20 Beregnungaus._Minute = 37 Beregnungaus.Sekunde = 30 DO IF Heizungein.Stunde = HOUR THEN IF Heizungein._Minute = MINUTE THEN IF Heizungein.Sekunde = SECOND THEN REL1=ON END IF END IF END IF IF Heizungaus.Stunde = HOUR THEN IF Heizungaus._Minute = MINUTE THEN IF Heizungaus.Sekunde = SECOND THEN REL1=OFF END IF END IF END IF IF Beregnungein.Stunde = HOUR THEN IF Beregnungein._Minute = MINUTE THEN IF Beregnungein.Sekunde = SECOND THEN REL4=ON END IF END IF END IF IF Beregnungaus.Stunde = HOUR THEN IF Beregnungaus._Minute = MINUTE THEN IF Beregnungaus.Sekunde = SECOND THEN REL4=OFF END IF END IF END IF IF AlteUhrzeit <> SECOND THEN AlteUhrzeit = SECOND Jahr = YEAR + 2000 LCD.CLEAR LCD.POS 1,1 IF HOUR < 10 THEN LCD.PRINT "0" & HOUR ELSE LCD.PRINT HOUR END IF LCD.PRINT ":" IF MINUTE < 10 THEN LCD.PRINT "0" & MINUTE ELSE LCD.PRINT MINUTE END IF LCD.PRINT ":" IF SECOND < 10 THEN LCD.PRINT "0" & SECOND ELSE LCD.PRINT SECOND END IF LCD.POS 2,1 SELECT CASE DOW CASE BPPSunday LCD.PRINT "So." CASE BPPMonday LCD.PRINT "Mo." CASE BPPTuesday LCD.PRINT "Di." CASE BPPWednesday LCD.PRINT "Mi." CASE BPPThursday LCD.PRINT "Do." CASE BPPFriday LCD.PRINT "Fr." CASE BPPSaturday LCD.PRINT "Sa." END SELECT LCD.PRINT " " & DAY & "." & MONTH & "." LCD.PRINT Jahr END IF LOOP LCD.OFF END







Zitieren

Lesezeichen