Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Pausenglocke Kategorie: C-Control I V1.2/2.0 (von joergm6 - 22.04.2008 22:47)
 Als Antwort auf Re: Pausenglocke von David - 22.04.2008 21:21
joergm6 nutzt:  CC1-Station V2.0
Hallo David,

ne, erst einmal zum Verständnis. Nicht die Anschlussklemmen mit dem Port verwechseln.
Die digitalen Ports 1-8 sind die "Klemmen" 29-36 und werden im Programm mit Port[1] bis Port[8] angesprochen. Diese können einfach mit "on" und "off" geschaltet werden.

define p1 as Port[1]

p1=on
pause 100
p1=off

Das sind wirklich nur digitale Ports die nur sehr wenige mA an Strom vertragen.

Die eingebauten LEDs und Relais sind die Ports 25 bis 32. Diese können nur als BytePort an der Station betrieben werden. Ein Byte=8Bit also
Port 1-8 = Byteport[1]
Port 9-16 = Byteport[2]
Port 17-24 = Byteport[3]
Port 25-32 = Byteport[4]      dieses Byteport ist im Programm definiert
Einen Port[29] gibt es eigentlich nicht, dieser heißt im Beispiel REL1.

Also ist mir immer noch nicht klar was du eigentlich möchtest, soll der digitale Port 1 oder das Relais 1 geschaltet werden. Wenn Relais 1 dann:


define zeit as word
define SDA          as port[9]      
define SCL          as port[10]
define EXTPORT      as byteport[4]
define STATION_IO   as  byte
define LED1         ref STATION_IO at bit[1]
define LED2         ref STATION_IO at bit[2]
define LED3         ref STATION_IO at bit[3]
define LED4         ref STATION_IO at bit[4]
define REL1         ref STATION_IO at bit[5]
define REL2         ref STATION_IO at bit[6]
define REL3         ref STATION_IO at bit[7]
define REL4         ref STATION_IO at bit[8]

import "show_date.bas"
import "show_time.bas"

#init
SDA=on
SCL=on
lcd.INIT
lcd.clr

Alarm()    ' zum Test einmal schalten

#loop

lcd.pos 1, 1
show_time()
lcd.pos 2, 1
show_date()

if second=0 then
 if dow>=1 and dow<=5 then 'Mo=1 Fr=5

  zeit=hour*100+minute

  if zeit=745 or zeit=915 or zeit=1100 or zeit=1245 or zeit=1445 or zeit=1500 or zeit=1630 then alarm()

 end if
end if

goto loop

sub Alarm()

 REL1=on
 EXTPORT=STATION_IO

 pause 100   ' kleine Pause von 2s

 REL1=off
 EXTPORT=STATION_IO

end sub

Natürlich wird Alarm nur ausgeführt, wenn die Bedingungen (Uhrzeit und Tag) zutreffen. Die Funktion Alarm schaltet das Relais 1 für 2 Sekunden ein und kehrt dann zurück.
Vor der Schleife habe ich mal einen Alarm-Aufruf eingefügt,  damit wenigstens einmal beim Start der C-Control das REL1 geschaltet wird und die Funktion dadurch überprüft wird.


Grüße Jörg

 Antwort schreiben

Bisherige Antworten:

Re: Pausenglocke (von David - 27.04.2008 9:30)
    Re: Pausenglocke (von joergm6 - 27.04.2008 12:28)
        Re: Pausenglocke (von David - 27.04.2008 16:27)
            Re: Pausenglocke (von joergm6 - 27.04.2008 17:41)
                Re: Pausenglocke (von David - 27.04.2008 17:49)
                    Re: Pausenglocke (von Achim - 27.04.2008 22:40)
                    Re: Pausenglocke (von joergm6 - 27.04.2008 18:30)
                       Re: Pausenglocke (von David - 27.04.2008 21:33)
                          Re: Pausenglocke (von joergm6 - 27.04.2008 23:06)
                             Re: Pausenglocke (von David - 29.04.2008 21:21)
                                Re: Pausenglocke (von David - 29.04.2008 22:05)
                                   Re: Pausenglocke (von David - 29.04.2008 22:56)
                                     Re: Pausenglocke (von joergm6 - 29.04.2008 23:13)
                                       Re: Pausenglocke (von joergm6 - 29.04.2008 23:26)
            Re: Pausenglocke (von David - 27.04.2008 17:05)
                Re: Pausenglocke (von joergm6 - 27.04.2008 17:51)