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 !  

> Hallo Markus, > ich habe mir jetzt deinen Text drei mal durchgelesen, und muss erlich sagen: > Ich versteh nur Bahnhof! > > Sei mir nicht böse, aber deine Programmkomentare sagen sogut wie nichts aus, was du machen willst! > Wenn du noch ein wenig mehr hinter die Codezeilen schreiben würdest, könnte man dir viel leichter > helfen..... > So sehen meine Programme aus, mehr Komentar und wenig Code, das kann sogar mein Bruder > verstehen, der keine Ahnung von der CC2 hat.... > > <code> > > thread init > {byte i; // Zähler > byte x; // Zähler > byte adr; // Hilfsvariable Adresse > byte dig; // Hilfsvariable Digit > string s; // Hilfsvariable > > > /******************************************************************************/ > /* Variablen mit Defaultwert setzen */ > /******************************************************************************/ > > global.M1_lz = global.M_LZ; // Laufzeit Mischer 1 auf max. setzen > global.M2_lz = global.M_LZ; // Laufzeit Mischer 2 auf max. setzen > > > /******************************************************************************/ > /* Startet benötigte Threads */ > /******************************************************************************/ > run spannungsreglung.spannungsreglung;// Spannungsreglung starten > run pt1000.pt1000; // Start der Temperaturmessung > run strom_ac_messung.strom_ac; // Start der AC-Strommessung > run heizkurve.heizkurve_1; // Start der Heizkurvenberechnung 1 > > > /******************************************************************************/ > /* Init der RS232 Schnittstellen */ > /******************************************************************************/ > swcom.init(); // SW-COM initialisieren > swcom.setspeed(5); // SW-COM auf 9600 Baud umstellen > swcom.flush(); // Empfangspuffer der SW-COM löschen > swcom.ret(); // CR und LF - Befehl senden > sleep 250; // kurze Pause > swcom.flush(); // Empfangspuffer der SW-COM löschen > > hwcom.init(); // HW-COM initialisieren > hwcom.setspeed(6); // HW-COM auf 19200 Baud umstellen > hwcom.flush(); // Empfangspuffer der HW-COM löschen > sleep 250; // kurze Pause > hwcom.flush(); // Empfangspuffer der HW-COM löschen > > > > cap.Capture(global.I2C_Cap); // I²C Bus sperren > > /******************************************************************************/ > /* Initialisierung Real Time Clock 8583 */ > /* Option: => setzen der CC2-Uhr mit PCF8583-Zeit wenn ungleich */ > /* => automatisches Stellen der PCF8583-Uhr mit der DCF77-Zeit */ > /* => Watchdogtimeout setzen */ > /* => beim Drücken der Hosttaste: Watchdog deaktiviert */ > /* Hostmode eingeleiten */ > /******************************************************************************/ > pcf8583.init(1,1,1,global.I2C_Timeout,1); // Init des PCF 8583 > > /******************************************************************************/ > /* Initialisierung LCD-Display */ > /******************************************************************************/ > pcflcd.setpcf(global.Adr_LCD_Display);// LCD Displayadresse auswählen > pcflcd.init(); // LCD Display initialisieren > pcflcd.setLight(0); // Hintergrundbeleuchtung ausschalten > > /******************************************************************************/ > /* Initialisierung SAA1064 */ > /******************************************************************************/ > for adr = 0...3 // Schleife für Adressen > {saa1064.init(adr,global.LED_Strom,4);// SAA1064 Init im Multiplexbetrieb > } > for adr = 0...3 // Schleife für Adressen > {for dig = 0...3 // Schleifen für Digits > {for i = 0...6 // Schleife für Segmente > {saa1064.put(adr,dig,(0b1 shl i)); // Ausgabe des Segments (Test) > sleep 50; // kurze Pause > } > saa1064.put(adr,dig,0); // Ausschalten des Segments > } > } > > </code> > > nitraM > > > Hallo, > > > > nachdem ich die 8574 dazu bewegen konnte als gemischte I/O > > zu arbeiten - hier ein Dank an nitraM für die Hilfestellung > > habe ich ein weiteres Problem mit dem Programm. > > > > Ich starte das Prg und alles funktioniert wie es soll. > > nach einer Zeit x ( +/- 2 std) werden in die sollwerte > > Variablen für Sonnenaufgang nicht nachvollziebare Werte > > geschrieben die im Bereich des Sonnenuntergangs liegen > > und alle Rollos fahren zu. (Auswertung des Sollwerts ist ok) > > > > Wenn ich das Prg am Abend starte und über Nacht laufen > > lasse fällt der Fehler erst einmal nicht auf. Sehe ich mir > > morgens die Steuerung an stelle ich fest, das diverse > > Threads stehen geblieben sind z.b. das Display. Die Uhrzeit > > ist stehengeblieben und zwar immer um 05:59:59 Aber die > > Funktionen der Rollos sind voll funktionsfähig - soll > > heissen sie öffnen zur angegebenen Zeit. > > > > Hier der Code mit dem ich Quasi eine Zufallsreihenfolge für > > die Rollobetätigung erzeuge. > > Im ersten Teil habe ich einen Port der öfters betätigt wird > > dazu benutzt eine Zeitdifferenz zu erzeugen. > > > > Mit der Funktion Sonne werden die Zeiten für Sonnen-auf und > > -untergang in Integer umgerechnet. > > in der Funktion Sasudiff wir die Betätigungszeit für jedes > > Rollo berechnet. > > > > Die Funktion Sonne wird beim Start und um 0:00 Uhr auf- > > gerufen. > > Die Funktion Sasudiff wird beim Start für und um 0:00 Uhr > > für alle Rollos aufgerufen und bei Änderung der Differenz > > für das entsprechende Rollo aufgerufen. > > > > Wenn ich den Code aus der Funktion Sasudiff auf Kommentar > > setze läuft das Prg ohne Mängel durch. > > > > > > <code> > > if ports.get(8)==0 // Wenn Wasserzapf In an > > { > > if var.RChg==0 // Und neuer Zapf > > {var.RChg=1; // Merker für Zapf aktiv > > var.PNum=var.PNum+1; // Aktuelles Rollo um 1 erhöhen > > if var.PNum>16 // Wenn Aktuelles Rollo 16 > > {var.PNum=1;} // Rollo auf 1 zurücksetzen > > if system.second()<30 // Wenn Sekunde kleiner 30 > > {var.RDiff[var.PNum]=system.second();} // Sekude als diff nehmen > > else // wenn größer 30 > > {var.RDiff[var.PNum]=system.second()-30;} // 30 abziehen und nehmen > > wait cfc.SaSuDif(var.PNum); > > sleep 500*var.RDiff[var.PNum]; > > } > > } > > else // wenn Zapf Aus > > {var.RChg=0;} // neuer Zapf zurücksetzen > > > > > > function Sonne() returns int // Zeiten für Sonnenauf - untergeng in Interger Umrechnen > > { > > var.SaZ=var.Sa.H*60+var.Sa.M; // Sonnenaufgang > > var.SuZ=var.Su.H*60+var.Su.M; // Sonnenuntergang > > return 1;} > > > > function SaSuDif (int din) returns int // Differenz pro Rollo für Sonnen - Auf und Untergang > > { > > var.SonneAuf[din]=var.SaZ+var.RDiff[din]-15; // Sonnenaufgang pro Rollo berrechnen > > var.SonneZu[din]=var.SuZ+var.RDiff[din]-15; // Sonnenuntergang pro Rollo berechnen > > > > while var.SonneAuf[din]<var.AufVorZ // Wenn Rollozeit vor Auf Vor > > {var.SonneAuf[din]=var.SonneAuf[din]+15;} // 15 min später > > > > while var.SonneAuf[din]>var.AufNachZ // Wenn Rollozeit nach Auf Nach > > {var.SonneAuf[din]=var.SonneAuf[din]-15;} // 15 min früher > > > > while var.SonneZu[din]<var.ZuVorZ // Wenn Rollozeit vor Zu Vor > > {var.SonneZu[din]=var.SonneZu[din]+15;} // 15 min später > > > > while var.SonneZu[din]>var.ZuNachZ // Wenn Rollozeit nach Zu Nach > > {var.SonneZu[din]=var.SonneZu[din]-15;} // 15 min früher > > return 1;} > > > > </code> > > Hat jemand eine Idde was das sein könnte? > > > > Gruß > > Markus > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB