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: Speicher Kategorie: C-Control I V1.2/2.0 (von Stefan - 25.09.2005 20:48)
 Als Antwort auf Re: Speicher von DIE HARD - 20.09.2005 15:59
Stefan nutzt:  CC1-M-Unit V1.2/2.0

>
> >
> >
> > Hallo Leute,
> >
> > habe ein Problem!!!
> >
> > Ich speicher ca. 12 Variabeln  mit OPEN#  im internen Speicher.
> > Im Test zu hause ist alles OK.
> > Wenn das System im einsatz ist nach ca.3 Wochen lese ich die Daten aus und ---
> > es erscheint nur 0 oder -1.
> >
> > Mit dem Befehl FILEFREE habe ich schon probiert obwohl ich genügend Speicher frei habe.
> > Mein Programm ist nur 2 KB groß.
> >
> > Ich lese die Variabeln auch erst aus, verändere Sie dann und scheibe Sie wider, aber
> > auch kein Erfolg.
>
>
> Hallo......
> kannst du das Programm posten?


define STD bit[1]
define ZeitM word
define ZeitS word
define z byte
define x byte
define n byte
define füllstand word
define fvoll byte
define fleer byte

define Pumpe port[6]
define paus byte
define pein byte

define Taste port[8]
define Tein word
define Taus word

define einstell port[7]
define eein byte
define eaus byte

define Datum word
define Zeit word
define ST byte
define AZ1 word
define AZ2 word
define AD1 word
define AD2 word

define Z1 word
define Z2 word
define Z3 word
define Z4 word
define Z5 word
define Z6 word
define Z7 word
define Z8 word
define Z9 word
define Z10 word
define D1 word
define D2 word
define D3 word
define D4 word
define D5 word
define D6 word
define D7 word
define D8 word
define D9 word
define D10 word



define einschalt word
define ms word
define ts word
define ho word
define mi word
' Starteinstellungen
fleer=0
fvoll=1
paus=0
pein=1
tein=0
taus=-1
eein=0
eaus=-1
year=5

print " !!!!!! Eingeschaltet !!!!!! "
gosub lesen
einschalt = einschalt +1
print "vor";month;day, ms;ts
month=ms
day=ts
hour=ho
minute=mi
print "nach";month;day, ms;ts
gosub schreiben
print
print " !!!!!!! Werte gesetzt !!!!!!!!! "
print

#Start
SLOWMODE ON
if hour > ho then goto Zeitsp
 print " Start : ";Taste;" ";taus;" ";tein;" ";einstell;" ";pumpe;" ";
 print "SP=";ts;":";ms;" ";ho;":";mi;
 print "/  AK=";day;":";month;" ";hour;":";minute
if einstell = eein then goto einstellen
 if Taste = tein then goto Filterlauf
pumpe = paus
goto Start

#Zeitsp
Print " !!!!!!!!!!!!!!!!!!!!!!!! Zeit Speicherung !!!!!!!!!!!!!!!!!!!!!"
gosub lesen
 ms=month
 ts=day
 ho=hour
 mi=minute
  if ho=23 then ho=1
gosub schreiben
goto Start

#Filterlauf
gosub lesen
SLOWMODE off
Pumpe = pein
print " filterllauf " ; ZeitM;ZeitS;"Pumpe ";Pumpe
 if ZeitM=0 then goto secundenlauf
  for Z=1 to ZeitM
    for x=1 to 60
     pause 50
        Print "M X=";x,"Z=";Z," ZeitM=";zeitM; "ZeitS=";ZeitS, "TASTE:";taste
      if Taste = Taus then goto start
      'if füllstand = fleer then gosub KaWa
    next
  next
#secundenlauf
print "Secunden lauf "
if Zeits=0 then goto zurück
   for x=1 to ZeitS
     pause 50
      Print "S X=";x,"Z=";Z," SZeit=";zeitS,"Taste=";taste
      if Taste = taus then goto start
      'if füllstand = fleer then gosub KaWa
    next

#zurück
Pumpe = paus
gosub speicherung
füllstand = 10
  gosub auslesen
füllstand = 1
#waa
  if Taste = taus then goto start
    Beep 440,15,100
goto waa
goto Start


#speicherung
print "**** Speicherung ****"
datum = day
datum = datum*100
datum = datum + month
zeit = HOUR
zeit = zeit * 100
zeit = zeit + MINUTE

gosub lesen
print " ST = ";ST
st=st+1
if St>10 then ST=1
 if st=1 then gosub zd1
 if st=2 then gosub zd2
 if st=3 then gosub zd3
 if st=4 then gosub zd4
 if st=5 then gosub zd5
 if st=6 then gosub zd6
 if st=7 then gosub zd7
 if st=8 then gosub zd8
 if st=9 then gosub zd9
 if st=10 then gosub zd10
gosub schreiben
return


#zd1
z1=zeit
d1=datum
return
#zd2
z2=zeit
d2=datum
return
#zd3
z3=zeit
d3=datum
return
#zd4
z4=zeit
d4=datum
return
#zd5
z5=zeit
d5=datum
return
#zd6
z6=zeit
d6=datum
return
#zd7
z7=zeit
d7=datum
return
#zd8
z8=zeit
d8=datum
return
#zd9
z9=zeit
d9=datum
return
#zd10
z10=zeit
d10=datum
return

#umrechnen
AD2=AD1/100
AD1=AD1-(AD2*100)
AZ2=AZ1/100
AZ1=AZ1-(AZ2*100)
return

#schreiben
IF FILEFREE >= 30 THEN goto schreiben1
for x = 1 to 10
    print "!!!!!!!!! kein Speicherplatz !!!!!!!!!!"
 next
return

#schreiben1
print " !!! schreibe Daten "  
OPEN# FOR write
 print# ZeitM
 print# ZeitS
 print# ST
 print# ms
 print# ts
 print# ho
 print# mi
 print# einschalt
 print# Z1
 print# D1
 print# Z2
 print# D2
 print# Z3
 print# D3
 print# Z4
 print# D4
 print# Z5
 print# D5
 print# Z6
 print# D6
 print# Z7
 print# D7
 print# Z8
 print# D8
 print# Z9
 print# D9
 print# Z10
 print# D10
 close#
return

#lesen
open# for read
 input# ZeitM
 input# ZeitS
 input# ST
 input# ms
 input# ts
 input# ho
 input# mi
 input# einschalt
 input# Z1
 input# D1
 input# Z2
 input# D2
 input# Z3
 input# D3
 input# Z4
 input# D4
 input# Z5
 input# D5
 input# Z6
 input# D6
 input# Z7
 input# D7
 input# Z8
 input# D8
 input# Z9
 input# D9
 input# Z10
 input# D10
close#
return

#tastenabf
input std
print STD
return

#einstellen
print "----------------------------"
print " 0=Programmstart / 1=Weiter "
gosub tastenabf
 if std= 0 then goto start
 if std= -1 then goto einstellen1
goto einstellen

#einstellen1
print
print " 0=Auslesen / 1=Weiter "
gosub tastenabf
 if std = 0 then goto auslesen
 if std = -1 then goto einstellen2
goto einstellen1

#einstellen2
print
print " 0=Zeitbefuellung / 1=Weiter "
 gosub tastenabf
  if std = 0 then goto ez
  if std = -1 then goto einstellen3
goto einstellen2

#einstellen3
print
print " 0=Datum einstellen / 1=Weiter "
 gosub tastenabf
  if std = 0 then goto ed
  if std = -1 then goto einstellen4
goto einstellen3

#einstellen4
print
print " 0=Speicherauslesen / 1=Weiter "
 gosub tastenabf
  if std = 0 then goto splesen
  if std = -1 then goto einstellen
goto einstellen4


#splesen
gosub lesen
 print "ZeitMinuten:";ZeitM
 print "ZeitSecunden:";ZeitS
 print "letzte Speicherung ";ST
 print "Datum: ";ts;".";ms
 print "Zeitspeicherung: ";ho;":";mi
 print "wie oft eingeschaltet ";einschalt
 print " Zeit / Datum "
 print Z1;
 print D1,
 print Z2;
 print D2,
 print Z3;
 print D3
 print Z4;
 print D4,
 print Z5;
 print D5,
 print Z6;
 print D6
 print Z7;
 print D7,
 print Z8;
 print D8,
 print Z9;
 print D9
 print Z10;
 print D10
goto einstellen

#ED
print "Stunde ";
input hour
print hour
print "Minute ";
input minute
print Minute
print "Sekunde ";
input second
print second
print "Tag ";
input day
print day
print "Monat ";
input month
print month
print "Jahr ";
input year
print year
 gosub lesen
  ms=month
  ts=day
  ho=hour
  mi=minute
 gosub schreiben

 for x = 0 to 9
   ST = x
     gosub speicherung
  next
st=0
goto einstellen

#ez
füllstand = 10
gosub lesen
  gosub auslesen
print " Zeit Minute ";
input ZeitM
print ZeitM
print " Zeit Secunde ";
input ZeitS
print ZeitS
'print " Status ";
'input ST
'print ST
einschalt = 0
   print
   print " und Startzähler wurde auf 0 gesetzt !"
   print
gosub schreiben
  gosub auslesen
füllstand = 1
goto einstellen


#szdSpeichern
gosub lesen
if ST=1 then goto stag1
if ST=2 then goto stag2
if ST=3 then goto stag3
if ST=4 then goto stag4
if ST=5 then goto stag5
if ST=6 then goto stag6
if ST=7 then goto stag7
if ST=8 then goto stag8
if ST=9 then goto stag9
if ST=10 then goto stag10
return

#stag1
AZ1=Z1
AD1=D1
goto ZDsetzen
#stag2
AZ1=Z2
AD1=D2
goto ZDsetzen
#stag3
AZ1=Z3
AD1=D3
goto ZDsetzen
#stag4
AZ1=Z4
AD1=D4
goto ZDsetzen
#stag5
AZ1=Z5
AD1=D5
goto ZDsetzen
#stag6
AZ1=Z6
AD1=D6
goto ZDsetzen
#stag7
AZ1=Z7
AD1=D7
goto ZDsetzen
#stag8
AZ1=Z8
AD1=D8
goto ZDsetzen
#stag9
AZ1=Z9
AD1=D9
goto ZDsetzen
#stag10
AZ1=Z10
AD1=D10
goto ZDsetzen
#ZDsetzen
gosub umrechnen
     hour=AZ2
     minute=AZ1
     day=AD2
     month=AD1
return



#auslesen
gosub lesen

print
print
  print " !!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  print " !! Auslesen des Speichers !!"
  print " !!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  print
  print "Eingestellte Spuel-Zeit"
  print "----------------------"
  print ZeitM;" Minuten - ";ZeitS;" Sekunden"
  print " Reset = ";einschalt
  print
  print "Spuelungen  aktuelles Datum:";day;".";month;".";year
  print "----------  aktuelle  Zeit :";hour;":";minute
  print "            letzter Eintrag: ";ST
  print " Stunde : Minute /  Tag . Monat . Jahr "
  print
AZ1=Z1
AD1=D1
gosub umrechnen
gosub ZDzeigen
AZ1=Z2
AD1=D2
gosub umrechnen
gosub ZDzeigen
AZ1=Z3
AD1=D3
gosub umrechnen
gosub ZDzeigen
AZ1=Z4
AD1=D4
gosub umrechnen
gosub ZDzeigen
AZ1=Z5
AD1=D5
gosub umrechnen
gosub ZDzeigen
AZ1=Z6
AD1=D6
gosub umrechnen
gosub ZDzeigen
AZ1=Z7
AD1=D7
gosub umrechnen
gosub ZDzeigen
AZ1=Z8
AD1=D8
gosub umrechnen
gosub ZDzeigen
AZ1=Z9
AD1=D9
gosub umrechnen
gosub ZDzeigen
AZ1=Z10
AD1=D10
gosub umrechnen
gosub ZDzeigen
if füllstand = 10 then return
goto einstellen

#ZDzeigen
print "     ";AZ2;" : ";AZ1;"     /   ";AD2;" . ";AD1;" . 0";year
return

 Antwort schreiben

Bisherige Antworten:

Re: Speicher (von DIE HARD - 26.09.2005 20:07)
    Re: Speicher (von Stefan - 26.09.2005 21:57)