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 !  

> In meiner Heizungssteuerung habe ich mehrere benutzerdefinierte Variablen definiert. > > Einige dieser Varibalen setze ich um in ein Byte-Feld und diese dann über die Schnittstelle > an das Auswerteprogramm auf dem PC zu senden. > > Frage: kann ich auf die Variable im Hauptspeicher direkt zugreifen und die benutzerdef. Variable > direkt mit dem copy-Befehle in ein Bytefeld übertragen? > > Hier ein Beispiel wie es momentan programmiert ist: > > <code> > //Konstanten für Einstell_Vektor > const EV_lang = (2*4) + (11*2) + 42; //Anzahl der Bytes: 72 > const EV_V1 = 1; > const EV_V2 = 0; > type Einstell_Vektor > { > byte Version_gr; > byte Version_kl; > long Prog_Datum; > long Prog_Zeit; > int MischerKenn_x2; > int MischerKenn_x1; > int MischerKenn_x0; > int HeizKenn_x2; > int HeizKenn_x1; > int HeizKenn_x0; > byte Mischerfaktor; > byte Mischer_max_Laufzeit; > byte Mischer_min_Zeit; > byte Mischer_Wartezeit; > byte Mischer_Toleranz; > byte Aufheiztag; > int Konfiguration; > int Zustand; > int Aufheiztemp; > int Zeitversatz_Kamin_Brenner; > byte Durch_Std_von; > byte Durch_Std_bis; > int Durch_Temp; > byte Zu_R[16]; > byte Zu_T[16]; > } > > //Fuktion zum Umsetzen der Variable in Bytefeld > // zum Übertragen an PC > function EinstV_to_Umsetz() > { > byte i; > //Schreibt den Einstell-Vektor in Umsetz-Bytearray > um[0] = Einst.Version_gr; > um[1] = Einst.Version_kl; > mem.putlong(um, 2, Einst.Prog_Datum); > mem.putlong(um, 6, Einst.Prog_Zeit); > mem.putint(um, 10, Einst.MischerKenn_x2); > mem.putint(um, 12, Einst.MischerKenn_x1); > mem.putint(um, 14, Einst.MischerKenn_x0); > mem.putint(um, 16, Einst.HeizKenn_x2); > mem.putint(um, 18, Einst.HeizKenn_x1); > mem.putint(um, 20, Einst.HeizKenn_x0); > um[22] = Einst.Mischerfaktor; > um[23] = Einst.Mischer_max_Laufzeit; > um[24] = Einst.Mischer_min_Zeit; > um[25] = Einst.Mischer_Wartezeit; > um[26] = Einst.Mischer_Toleranz; > um[27] = Einst.Aufheiztag; > mem.putint(um, 28, Einst.Konfiguration); > mem.putint(um, 30, Einst.Zustand); > mem.putint(um, 32, Einst.Aufheiztemp); > mem.putint(um, 34, Einst.Zeitversatz_Kamin_Brenner); > um[36] = Einst.Durch_Std_von; > um[37] = Einst.Durch_Std_bis; > mem.putint(um, 38, Einst.Durch_Temp); > for i = 0...15 > um[40 + i] = Einst.Zu_R[i]; > for i = 0...15 > um[56 + i] = Einst.Zu_T[i]; > } > > //Funktion zum Umsetzen der Daten vom PC in benutzetrdef. Variable > function Umsetz_to_EinstV() > { > byte i; > //Schreibt das Bytefeld in Einstell-Vektor um > Einst.Version_gr = um[0]; > Einst.Version_kl = um[1]; > Einst.Prog_Datum = mem.getlong(um, 2); > Einst.Prog_Zeit = mem.getlong(um, 6); > Einst.MischerKenn_x2 = mem.getint(um, 10); > Einst.MischerKenn_x1 = mem.getint(um, 12); > Einst.MischerKenn_x0 = mem.getint(um, 14); > Einst.HeizKenn_x2 = mem.getint(um, 16); > Einst.HeizKenn_x1 = mem.getint(um, 18); > Einst.HeizKenn_x0 = mem.getint(um, 20); > Einst.Mischerfaktor = um[22]; > Einst.Mischer_max_Laufzeit = um[23]; > Einst.Mischer_min_Zeit = um[24]; > Einst.Mischer_Wartezeit = um[25]; > Einst.Mischer_Toleranz = um[26]; > Einst.Aufheiztag = um[27]; > Einst.Konfiguration = mem.getint(um, 28); > Einst.Zustand = mem.getint(um, 30); > Einst.Aufheiztemp = mem.getint(um, 32); > Einst.Zeitversatz_Kamin_Brenner = mem.getint(um, 34); > Einst.Durch_Std_von = um[36]; > Einst.Durch_Std_bis = um[37]; > Einst.Durch_Temp = mem.getint(um, 38); > for i = 0...15 > Einst.Zu_R[i] = um[40 + i]; > for i = 0...15 > Einst.Zu_T[i] = um[56 + i]; > } > > </code>
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB