INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo und danke für die schnelle Antwort, hier habe ich mal den Code den ich mir so zusammengebastelt habe und eben hier habe ich das Problem das die Relais ständig an und aus gehen. Ich denke mal das es daran liegt das jede Programmzeile abgearbeitet wird und somit dann der Urzustand hergestellt wird. Aber es müsste doch gehen das die Relais den ON oder auch den OFF zustand beibehalten bis sich die Bedingung geändert haben. Wie bekomme ich das hin, habe noch den Ausdruck für die Ansteuerung der Relais in der die PORT on/off Funktion beschrieben wird, aber da habe ich auch keinen erfolg mit gehabt '-------------------------- '------ I/O PORTS --------- '-------------------------- define LIGHT port[16] define SDA as port[9] define SCL as port[10] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- define TEMP as byte define TEMP1 as byte 'define TEMPHI as byte 'define TEMPLO as byte 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] '----------------------------------------------------- #INIT LIGHT=off LCD.INIT LCD.OFF SDA=on SCL=on EXTPORT=OFF '---------------------------------------------------- import "d:\programme\basicpp\LIB\DS2482_GENERIC.BAS" import "d:\programme\basicpp\LIB\DS1820_GENERIC.BAS" '---------------------------------------------------- '----------------------------------------------------- DS2482RESET() DS2482WIRERESET() '------------------------------------------------------------- '----- 1 Sensor --- '------------------------------------------------------------- function SEN_1() 'define TEMP as byte pause 5 DS2482SPUON() MATCHROM(16,194,49,195,0,8,0,132) CONVERT() MATCHROM(16,194,49,195,0,8,0,132) TEMP=DS1820GET_TEMP() LCD.INIT switchonly LCD.POS 1,1 LCD.PRINT "T1:" & TEMP/2 & "." & (TEMP and 1)*5 & " " LCD.OFF 'return TEMP/2 end function '------------------------------------------------------------- '----- 2 Sensor --- '------------------------------------------------------------- function SEN_2() 'define TEMP as byte pause 5 DS2482SPUON() MATCHROM(16,130,16,198,0,8,0,69) CONVERT() MATCHROM(16,130,16,198,0,8,0,69) TEMP1=DS1820GET_TEMP() LCD.INIT switchonly LCD.POS 1,9 LCD.PRINT "T2:" & TEMP1/2 & "." & (TEMP1 and 1)*5 & " " LCD.OFF 'return TEMP1/2 END FUNCTION '----------------------------------------------------------------- #loop SEN_1() if Temp/2 > 24 then REL3=on else if temp/2 < 23 then rel3=off SEN_2() if temp1/2 > 30 then rel2=on else if temp1/2 < 29 then rel2=off goto loop |
Antwort schreiben |