Das Open-Control-Projekt - Die Alternative zur C-Control-I


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: port veränderung Kategorie: Programmierung Basic (von Grübel Denk - 4.12.2010 12:30)
 Als Antwort auf Re: port veränderung von michi314 - 3.12.2010 9:57
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

Bisherige Antworten: