Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hier ein Beispiel, die Longwerte Byteweise zu speichern. Ich hoffe es hilft. > > Willi aus Oelde > > > // ------------- Globale Variablen ---------------------- > string r ; // > string s ; // String für LCD Ausgabe > string t ; // Für Meldungen > > byte Merker ; // Betriebsart LCD - Ausgabe > > byte Fehler ; // 1=WSO Board > byte Status2 ; // fuer Boilerladen > byte Byte_Out2 ; // für Ausgabe an WSO Board > > byte Index ; /* Index im Auswahlmenue */ > byte ti ; /* Zähler im Auswahlmenue */ > byte Byte_in ; /* Eingabebyte vom WSO_Board */ > byte Speicher [64]; // 64 nicht 63 !! Erst mal Platz für 16 Long-Werte machen > byte d[17]; // Korrektur / Einstellungen 16 Werte > > int Zeit_bis_Speicher ; // > int T_Kollektor ; > // int T_Kollektor_Ruecklauf ; wird nur angezeigt > int T_Rezirkulation ; > int T_Speicher_Oben ; > int T_Speicher_Unten ; > int T_Boiler_Oben ; > int T_Boiler_Unten ; > int T_Heizungs_Ruecklauf ; > > long Zeit_Zaehler [20] ; /* Zeit Zaehler -12 werden gespeichert */ > > float Temp_Sensor[9] ; /* Temp. der Sensoren */ > float ADC1 ; /* Analogwerteingabe PT 500 */ > > etc...... > > > > > /**********************/ > function EEprom_Write() > /**********************/ > { byte i,j; > // long k; > > plm.beep(plm.TONE_A2); // Piepen zum Speichern > sleep 1500; > plm.beep(plm.TONE_OFF); > > if d[10] and 2 // Modusbit 1 gesetzt ? > { for i = 0 ... 11 > Zeit_Zaehler[i]=0; // Alle Zeitzähler löschen > } > > // Tageszähler löschen > Zeit_Zaehler[12]=0; > Zeit_Zaehler[13]=0; > Zeit_Zaehler[14]=0; > Zeit_Zaehler[15]=0; > > /* Daten in Daten-Speicher (EEPROM) übertragen */ > for i = 0 ... 11 > { mem.putlong(Speicher,i*4,Zeit_Zaehler[i]); > } > /* ab Adresse $1f00 schreiben */ > i2c.start(160) ; // Addressbits : A0-A3=GND > i2c.write(0x1f); // Byte-Addr. : high-byte > i2c.write(0x00); // Byte-Addr. : low-byte > > // Erst Korrekturwerte schreiben ab $1f00 > i2c.write(d[0]); // dT aus: mindeste Temp. sonst aus > i2c.write(d[1]); // dT Boiler minimale höhere Temp. zum laden > i2c.write(d[2]); // dT Speicher minimale höhere Temp. zum laden > i2c.write(d[3]); // max. Boiler > i2c.write(d[4]); // max. Speicher > i2c.write(d[5]); // min. Fussboden > i2c.write(d[6]); // max. Fussboden > i2c.write(d[7]); // dt Zeit Kollektor erwärmen > i2c.write(d[8]); // NF aus: Nachheizung aus > i2c.write(d[9]); // NF ein: Nachheizung ein > i2c.write(d[10]); // Modus > i2c.write(d[11]); // or > i2c.write(d[12]); // and > i2c.write(d[13]); // Sicherheitstemp Start Pumpe > i2c.write(d[14]); // Boiler laden von Speicher > i2c.write(d[15]); // > > //for i = 0 ... 15 > // {i2c.write(d[i]); > // } > > for i = 0 ... 47 > { i2c.write(Speicher[i]); // Byte-schreiben > } > i2c.stop(); // max. 64 Werte am Stück schreiben !! > > plm.beep(plm.TONE_E2); // Piepen zum Speichern > clear(); /* Display löschen */ > goto(1,3); print ("Gespeichert !! "); // Signalisieren, das gespeichert ! > sleep 1500; > plm.beep(plm.TONE_OFF); > } > > /**********************/ > function EEprom_Read() > /**********************/ > { byte i,j; > > for j = 0 ... 10 // 10 mal, um Fehler zu vermeiden > { > i2c.init(); > i2c.start(160); // Schreibzugriff > i2c.write(0x1f); // zum Adresse übermitteln ( 1f = last page ) > i2c.write(0x00); // High Endurance Block bis 100.000 x schreiben > i2c.start(161); // Lesezugriff > > /* Korrekturwerte/ Einstellungen lesen (16 Stück) */ > for i = 0 ... 15 > {d[i] = i2c.read(); // > } > > /* Zeit_Zaehler lesen */ > for i = 0 ... 47 // zur Zeit 32+16 Bytes Lesen / hier 48 Bytes > { Speicher[i] = i2c.read(); // > } > Speicher[63] = i2c.readlast(); // und letztes Byte lesen > i2c.stop(); > > for i = 0 ... <12 // 12 Longveriable aus Speicher[] holen > { Zeit_Zaehler[i] = mem.getlong(Speicher,i*4); > } > if d[10]!=255 > j = 10; > > } > > if d[10] == 255 // Defaultwerte laden > { d[0]=04; // dT > d[1]=07; // dT Boiler > d[2]=08; // dt Speicher > d[3]=60; // max. Boiler > d[4]=90; // max. Speicher > d[5]=22; // Fussb. aus > d[6]=24; // Fussb. ein > d[7]=06; // Zeit * 30 ! > d[8]=24; // Nachheizen Fussboden aus > d[9]=22; // Nachheizen Fussboden ein > d[10]=9; // Modus > d[11]=0; // Or > d[12]=255;// And > d[13]=98; // Pumpen starten wegen Speicher zu heiss > d[14]=45; // Boiler vom Speicher nachheizen > d[15]=80; // max. Temp vor dem Heizungspumpe starten > > for i = 0 ... 15 // 15 Variable löschen > { Zeit_Zaehler[i] = 0; > } > plm.beep(plm.TONE_G2); // Piepen beim Lesen > clear(); /* Display löschen */ > goto(1,3); print ("Defaultwerte geladen !! "); // Signalisieren, das gespeichert ! > sleep 1500; > plm.beep(plm.TONE_OFF); > } > }
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB