
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
danke muss ich mal in Ruhe anschauen. In welchen Zeilen hast was geändert wonach es dann nicht mehr ging? > > Kannst mal das prog dazu posten? > > > > > > > hallo > > > ich habe seit jahren eine heizungssteuerung > > > auf Port[13] habe ich den ölbrenner angeschlossen > > > und das hat auch jahre lang funktioniert > > > heute habe ich eine kleine änderung vorgenommen > > > und zwei byte variablen eingefügt > > > anschliesend war der brenner nicht mehr auf > > > Port[13] sondern auf DA[1] > > > wie ist das möglich ???? > > > > > > mfg michi > > > das ist das programm > > > > > > > 'Heizungssteuerung für Reinhold > 'Öl und Holzofen erwärmen einen 1000 > 'Liter Speicher von wo aus die Heizung gespeist wird > > '--------------------------------------------------------------- > > > > > define Datenbus byteport [1] 'Datenbus > define RS port[9] > define RW port[10] > define E port[11] > > define daten byte > '-------------------------------------------- > > > > define uhr port[12] > define spannungölkessel AD[1] 'eingänge > define spannungölrück AD[2] > define spannungaussen AD[3] > define spannungholzvorlauf AD[4] > define spannungholzrücklauf AD[6] > define spannungheizkreis AD[5] > define schalterspannung AD[7] 'programmwahlschalter > define heizkreisspannung AD[8] 'regler für heizungsvorlauf > > '-------------------------------------------- > > define brenner Port[13] 'ausgänge > define ölofenpumpe Port[14] > define heizkreispumpe Port[16] > define holzofenpumpe Port[15] > define mischerauf DA[2] > define mischerzu DA[1] > > > '------------------------------------ > define tempölkessel word > define tempölrück word > define tempaussen word > define tempholzvorlauf word > define tempholzrücklauf word > define tempheizkreis word > define schalter word > define heizkreissoll word > define zahl word > define voel byte > define i byte > define x byte > define y byte > > > > > x=0:y=0 > tempölkessel = 60 > tempölrück = 60 > tempholzvorlauf = 60 > tempholzrücklauf = 40 > tempaussen = 0 > tempheizkreis = 40 > '------------------------------------- > gosub init 'iniziiren der LCD > '------------------------------------ > #anfang > print"Anfang "; > > > 'abfrage des programmwahlschalters > '--------------------------------------- > if schalter > 0 and schalter < 124 then goto aus > if schalter > 123 and schalter < 145 then goto hand > if schalter > 144 and schalter < 169 then goto winter > if schalter > 168 and schalter < 256 then goto winter > > > '--------------------------------------------------------- > #winter > print "winter ", > > if voel = 0 then gosub schreibeholz > if voel = 1 then gosub schreibeöl > gosub schreibe2bis4 > pause 50 > gosub abfrage > gosub speicherladen > gosub heizkreis > if tempölrück > (heizkreissoll+5) then voel = 0 'umschaltung holz-öl wen im puffersp. > '5° mehr ist als heizkreissoll dan wird kein öl eingesch. > if tempölrück < (heizkreissoll-5) then voel = 1 'umschaltung holz-öl wen im puffersp. > print "voel=";voel > print " "; '5° weniger sind als heizkrs.dan wird auf öl umgeschaltet > gosub warmwasserladen > if uhr = 1 and voel = 1 then gosub oelpumpe'es ist tag und der speicher ist kalt > if voel = 1 then gosub brenner 'wen der speicher kalt ist wird der brenner gestartet > if voel = 0 then brenner = off > > > > goto anfang > '------------------------------------------------------------- > #Heizkreis > print "Heizkreis "; > if uhr = 0 then goto nacht 'lampe bei uhr leuchtet nicht wenn nachtprogramm > if uhr = 1 then i = 0 > heizkreispumpe = on > 'mischersteuerung > if tempheizkreis > (heizkreissoll+2) then gosub kaelter > if tempheizkreis < (heizkreissoll-2) then gosub wärmer > return > '--------------------------------------------------------- > > #kaelter > if x > 100 then return > y = 0 > mischerauf = off > pause 25 > mischerzu = on > print " mischer macht-ZU "; > pause 100 > x = x+1 > mischerzu = off > > return > '----------------------------------------------------- > #wärmer > if y > 100 then return > x = 0:i=0 > mischerzu = off > pause 25 > mischerauf = on > print " mischer macht-AUF "; > pause 100 > y = y+1 > mischerauf = off > > return > '---------------------------------------------------- > #nacht > print" nacht "; > heizkreispumpe = off > mischerauf = off > pause 25 > > i=i+1 > print" V-i= ";i > if i>62 then i=62 'sonst fängt er nach speicherüberlauf wieder an zu zumachen > if i > 60 then return > mischerzu = on > print " mischer macht-ZU Nacht... " > pause 200 > mischerzu = off > return > '------------------------------------------------------- > #warmwasserladen 'ladet vom pufferspeicher zum warmwassersp. > print "Warmwasserladen "; > if voel = 1 then goto warmw2 > if tempölkessel > 65 then ölofenpumpe = off > if tempölrück < tempölkessel +6 then ölofenpumpe = off > if tempölkessel < 36 then ölofenpumpe = on > > return > > #warmw2 > print "warmwaser 2 "; > if uhr = on then return > ölofenpumpe = off > if tempölkessel > 55 then brenner = off > if tempölkessel < 45 then brenner = on > return > '------------------------------------------------------------ > #oelpumpe > print "oelpumpe "; > if tempölkessel < (tempölrück +1) then ölofenpumpe = off > if tempölkessel > (tempölrück +4) then ölofenpumpe = on > > return > '--------------------------------------------------------- > #brenner > print "brenner "; > if tempölkessel < 50 then brenner = on > if tempölkessel > 59 then brenner = off > return > '----------------------------------------------------------- > '********************************************************** > '********************************************************* > #speicherladen 'pufferspeicher ladomat > print"speicherladen "; > if tempholzvorlauf < 50 then goto holzoff > if tempholzrücklauf > (tempholzvorlauf-6) then goto holzoff > if tempholzrücklauf < (tempholzvorlauf -6) then holzofenpumpe = on > return > #holzoff > > holzofenpumpe = off > return > > '---------------------------------------------------- > > > > '----------------------------------------- > #aus 'alles ausschalten > print "aus "; > gosub abfrage > > gosub schreibeaus > gosub schreibe2bis4 > brenner = off > ölofenpumpe = off > heizkreispumpe = off > holzofenpumpe = off > mischerauf = off > mischerzu = off > pause 50 > > goto anfang > '----------------------------------------- > #hand > > print "hand "; > gosub abfrage > gosub schreibehand > gosub schreibe2bis4 > if tempölkessel < 80 then brenner = on > if tempölkessel > 85 then brenner = off > pause 25 > ölofenpumpe = on > pause 25 > heizkreispumpe = on > pause 25 > holzofenpumpe = on > gosub wärmer 'mischer öffnet > pause 25 > goto anfang > > '---------------------------------------------------------------------- > '----------------------------------------------------------------------- > '---------------------------------------------------------------------- > #abfrage > 'abfrage der AD eingänge > '------------------------------------- > print "abfrage "; > if (spannungölkessel *2 -273) > tempölkessel then tempölkessel = tempölkessel + 1 > if (spannungölkessel *2 -273) < tempölkessel then tempölkessel = tempölkessel - 1 > if (spannungölrück *2 -273) > tempölrück then tempölrück = tempölrück + 1 > if (spannungölrück *2 -273) < tempölrück then tempölrück = tempölrück - 1 > if (spannungaussen *2 -273) > tempaussen then tempaussen = tempaussen + 1 > if (spannungaussen *2 -273) < tempaussen then tempaussen = tempaussen - 1 > if (spannungholzvorlauf *2 -273) > tempholzvorlauf then tempholzvorlauf = tempholzvorlauf + 1 > if (spannungholzvorlauf *2 -273) < tempholzvorlauf then tempholzvorlauf = tempholzvorlauf - 1 > if (spannungholzrücklauf *2 -273) > tempholzrücklauf then tempholzrücklauf = tempholzrücklauf + 1 > if (spannungholzrücklauf *2 -273) < tempholzrücklauf then tempholzrücklauf = tempholzrücklauf - 1 > if (spannungheizkreis *2 -275) > (tempheizkreis+1)then tempheizkreis = tempheizkreis + 2 > if (spannungheizkreis *2 -275) < (tempheizkreis-1)then tempheizkreis = tempheizkreis - 2 > if (spannungheizkreis *2 -275) > tempheizkreis then tempheizkreis = tempheizkreis + 1 > if (spannungheizkreis *2 -275) < tempheizkreis then tempheizkreis = tempheizkreis - 1 > > schalter = schalterspannung > heizkreissoll = heizkreisspannung > > if tempaussen > 0 then goto aussen2 > heizkreissoll = (heizkreissoll/6)-(tempaussen/2)+30 > goto aussen3 > #aussen2 > heizkreissoll = (heizkreissoll/6)+30 > #aussen3 > if heizkreissoll>65 then heizkreissoll= 65 > > > > > print " " > > print "holzv holzr ölk ölr HK-soll-ist aus schalt. holzofp. ölop. heizkrp. brenner " > > print " ";tempholzvorlauf; > print " ";tempholzrücklauf; > print " ";tempölkessel; > print " ";tempölrück; > print " ";heizkreissoll; > print " ";tempheizkreis; > print " ";tempaussen; > print " ";schalter; > > print " ";holzofenpumpe; > print " ";ölofenpumpe; > print " ";heizkreispumpe; > print " ";brenner > return > '-------------------------------------------------------------------- > '-------------------------------------------------------------------- > '-------------------------------------------------------------------- > '---------------------------------------------------------------- > '----------------------------------------------------------------- > > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 'lcd ausgabe > > '------------------------------------------------------------------ > #schreibeaus 'schreibt anlage ist aus > 'erste zeile > > daten=&H00 'beginn erste Zeile -- > gosub cursor > daten=65 'A > gosub zeichen > daten=110 'n > gosub zeichen > daten=108 'l > gosub zeichen > daten=97 'a > gosub zeichen > daten=103 'g > gosub zeichen > daten=101 'e > gosub zeichen > daten=32 ' > gosub zeichen > daten=105 'i > gosub zeichen > daten=115 's > gosub zeichen > daten=116 't > gosub zeichen > daten=32 ' > gosub zeichen > daten=65 'A > gosub zeichen > daten=85 'U > gosub zeichen > daten=83 'S > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > > > > return > '-------------------------------------- > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > #schreibehand 'schreibt Handbetrieb > > > 'erste zeile > > daten=&H00 'beginn erste Zeile -- > > > gosub cursor > daten=72 'H > gosub zeichen > daten=97 'a > gosub zeichen > daten=110 'n > gosub zeichen > daten=100 'd > gosub zeichen > daten=98 'b > gosub zeichen > daten=101 'e > gosub zeichen > daten=116 't > gosub zeichen > daten=114 'r > gosub zeichen > daten=105 'i > gosub zeichen > daten=101 'e > gosub zeichen > daten=98 'b > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > > > return > '-------------------------------------- > > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > '-------------------------------------- > > > > > > #schreibeholz 'schreibt Holz -ein > 'erste zeile > if uhr = 0 then goto schreibeholzaus > daten=&H00 'beginn erste Zeile -- > > > gosub cursor > daten=72 'H > gosub zeichen > daten=111 'o > gosub zeichen > daten=108 'l > gosub zeichen > daten=122 'z > gosub zeichen > daten=32 ' > gosub zeichen > daten=72 'H > gosub zeichen > daten=101 'e > gosub zeichen > daten=105 'i > gosub zeichen > daten=122 'z > gosub zeichen > daten=117 'u > gosub zeichen > daten=110 'n > gosub zeichen > daten=103 'g > gosub zeichen > daten=32 ' > gosub zeichen > daten=69 'E > gosub zeichen > daten=105 'i > gosub zeichen > daten=110 'n > gosub zeichen > > > > return > '-------------------------------------- > #schreibeholzaus > daten=&H00 'beginn erste Zeile -- > > > gosub cursor > daten=72 'H > gosub zeichen > daten=111 'o > gosub zeichen > daten=108 'l > gosub zeichen > daten=122 'z > gosub zeichen > daten=32 ' > gosub zeichen > daten=72 'H > gosub zeichen > daten=101 'e > gosub zeichen > daten=105 'i > gosub zeichen > daten=122 'z > gosub zeichen > daten= 117 'u > gosub zeichen > daten=110 'n > gosub zeichen > daten=103 'g > gosub zeichen > daten=32 ' > gosub zeichen > daten=65 'A > gosub zeichen > daten=117 'u > gosub zeichen > daten=115 's > gosub zeichen > > > > return > '-------------------------------------- > > > > > > > > '------------------------------------------------------------------ > #schreibeöl 'schreibt Öl > 'erste zeile > if uhr = 0 then goto schreibeölnacht > daten=&H00 'beginn erste Zeile -- > > > gosub cursor > daten=79 'O > gosub zeichen > daten=101 'e > gosub zeichen > daten=108 'l > gosub zeichen > daten=32 ' > gosub zeichen > daten= 72 'H > gosub zeichen > daten=101 'e > gosub zeichen > daten=105 'i > gosub zeichen > daten=122 'z > gosub zeichen > daten=117 'u > gosub zeichen > daten=110 'n > gosub zeichen > daten=103 'g > gosub zeichen > daten=32 ' > gosub zeichen > daten=69 'E > gosub zeichen > daten=105 'i > gosub zeichen > daten=110 'n > gosub zeichen > daten=32 ' > gosub zeichen > > > > return > '-------------------------------------- > > #schreibeölnacht 'schreibt Öl - Nacht > 'erste zeile > > daten=&H00 'beginn erste Zeile -- > > > gosub cursor > daten=79 'O > gosub zeichen > daten=101 'e > gosub zeichen > daten=108 'l > gosub zeichen > daten=32 ' > gosub zeichen > daten=72 'H > gosub zeichen > daten=101 'e > gosub zeichen > daten=105 'i > gosub zeichen > daten=122 'z > gosub zeichen > daten=117 'u > gosub zeichen > daten=110 'n > gosub zeichen > daten=103 'g > gosub zeichen > daten=32 ' > gosub zeichen > daten=65 'A > gosub zeichen > daten=117 'u > gosub zeichen > daten=115 's > gosub zeichen > daten=32 ' > gosub zeichen > > > > return > '-------------------------------------- > > > > '------------------------------------------------------------------ > '-------------------------------------- > > > > > > #schreibe2bis4 > 'Dritte zeile > > '--------------------schreibt die warmwassertemperatur > > > > > daten=87 'W > gosub zeichen > daten=97 'a > gosub zeichen > daten=114 'r > gosub zeichen > daten=109 'm > gosub zeichen > daten=119 'w > gosub zeichen > daten=97 'a > gosub zeichen > daten=115 's > gosub zeichen > daten=115 's > gosub zeichen > daten=101 'e > gosub zeichen > daten=114 'r > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' 12 > gosub zeichen > daten=32 ' 13 > gosub zeichen > > zahl=tempölkessel > if zahl < 0 then daten = 45 else daten = 43 '+ oder - als vorzeichen > gosub zeichen > > if zahl < 0 then zahl= not zahl > Daten = (Zahl / 10) +48 > gosub Zeichen > Daten = (Zahl mod 10) + 48 > gosub Zeichen > > > > '----------------------- > '--------------------------------------- > > > 'Zweite zeile schreibt die heizungstemperatur > '---------------------------------- > > > daten=&H40 'beginn zweite Zeile > > > > gosub cursor > daten=72 'H 1 > gosub zeichen > daten=101 'e > gosub zeichen > daten=105 'i > gosub zeichen > daten=122 'z > gosub zeichen > daten=117 'u > gosub zeichen > daten=110 'n > gosub zeichen > daten=103 'g > gosub zeichen > daten=32 ' 8 > gosub zeichen > > zahl=heizkreissoll > if zahl < 0 then daten = 45 else daten = 43 '+ oder - als vorzeichen > gosub zeichen > if zahl < 0 then zahl= not zahl > Daten = (Zahl / 10) +48 > gosub Zeichen > Daten = (Zahl mod 10) + 48 > gosub Zeichen > daten=32 ' 12 > gosub zeichen > daten=32 ' 13 > gosub zeichen > > zahl=tempheizkreis > if zahl < 0 then daten = 45 else daten = 43 '+ oder - als vorzeichen > gosub zeichen > if zahl < 0 then zahl= not zahl > Daten = (Zahl / 10) +48 > gosub Zeichen > Daten = (Zahl mod 10) + 48 > gosub Zeichen > > > > > '-------------------------------------- > > 'Vierte zeile > > '----------------------------------- > > > '--------------------schreibt die aussentemperatur > > zahl=tempaussen > > daten=65 'A > gosub zeichen > daten=117 'u > gosub zeichen > daten=115 's > gosub zeichen > daten=115 's > gosub zeichen > daten=101 'e > gosub zeichen > daten=110 'n > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' 10 > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' > gosub zeichen > daten=32 ' 13 > gosub zeichen > > > if zahl < 0 then daten = 45 else daten = 43 '+ oder - als vorzeichen > gosub zeichen > > if zahl < 0 then zahl= not zahl > Daten = (Zahl / 10) +48 > gosub Zeichen > Daten = (Zahl mod 10) + 48 > gosub Zeichen > > > > > return > > '--------------------------------------- > > > > > '----------------------- > '--------------------------------------- > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > goto anfang > > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > ' > '############################################################### > '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > #Init > E=0 > Daten = &H38 'initialisierung der LCD mit 2 zeilen > gosub Kommando > Daten = &H0F 'cursor an cursor blinkt > gosub Kommando > Daten = &H01 > gosub Kommando > Daten=0 > return > '++++++++++++++++++++++ > #Kommando > RW = 0 > RS = 0 > Datenbus = Daten > pulse E > Daten=0 > return > '++++++++++++++++++++++ > #Zeichen > RW = 0 > RS = 1 > Datenbus = Daten > pulse E > Daten=0 > return > '++++++++++++++++++++++ > #Cursor > RW = 0 > RS = 0 > Datenbus = Daten + &H80 > pulse E > Daten=0 > return > goto anfang > end |
| Antwort schreiben |