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 Rene, > > > > > Kann es sein das der Code "verschluckt" wird? > > > > Nein. > > > > > Ich meine man kennt ja diverse komische Bugs etc., nicht > > > unbedingt vor der CC2 aber wie gesagt, nichts scheint unmöglich. > > > > Derzeit sind keine Bugs beim aktuellen OS bekannt. > > > > > 2 Tage lief die Anlage mit dem Code und dann begann der Murks > > > ohne das am Code etwas geändert wurde. > > > > Daß die Routine schonmal fehlerfrei lief bezweifle ich: > > <code> > > > wait sec!=system.second(); // Warten auf neue Sekunde > > > min =system.minute(); // Wenn neue Minute, dann gleichsetzen und abarbeiten > > </code> > > Was fällt Dir hier auf? > > Du wartest auf einen Sekundenwechsel. > > die Variable sec wird aber nirgends gesetzt. > > Dann setzt Du die Variable mit mit der aktuellen Minute. > > Diese Variable wird aber nirgendwo ausgewertet. > > > > Und ich hatte es schonmal erwähnt: Bitte auf einheitliches Einrrücken achten. > > > > <code> > > > /**************************************************************/ > > > /******** Zeitdefinition Stunden Minuten Sekunden *************/ > > > /*** EIN 07:30:00 AUS 07:30:45 EIN 17:30:00 AUS 17:30:45 ******/ > > > /**************************************************************/ > > > > > > { > > > if system.hour()==07 and system.minute()==30 // bei 7.30 Uhr > > > stports.setRel(2,1); // schalte ein > > > sleep 30000; sleep 15000; // warte 45 sec > > > stports.setRel(2,0); // schalte aus > > > } > > > { > > > if system.hour()==17 and system.minute()==30 // bei 17.30 Uhr > > > stports.setRel(2,1); // schalte ein > > > sleep 30000; sleep 15000; // warte 45 sec > > > stports.setRel(2,0); // schalte aus > > > } > > > } > > > }</code> > > > > Hier mit sleep zu arbeiten, kann ungünstig sein. Besonders, wenn der Thread > > später einmal mehr können soll. > > Besser wäre es, für die Laufzeiten einen Count-Down-Timer zu programmieren: > > <code> > > const schaltzeiten[]= 073000, 173000, -1; //7:30:00, 17:30:00 > > const schaltdauer= 45;// in Sekunden > > int sectimer; > > thread xy > > { > > long timeserial; > > int i; > > byte second; > > second=system.second(); > > loop > > { > > wait second!=system.second(); > > second=system.second(); > > timeserial=cast.intLong(system.hour())*10000 + system.minute()*100 + system.second(); > > i=0; > > do > > { > > if timeserial==schaltzeiten[i] > > { > > sectimer=schaltdauer; > > stports.setRel(2, 1); > > } > > if timeserial==-1 i=-1; else i=i+1; > > } while i >= 0; > > if sectimer>0 sectimer=sectimer-1; > > else > > if sectimer==0 > > { > > stports.setRel(2, 0); > > sectimer=-1; > > } > > } > > } > > </code> > > > > Statt einem Timer könnte man natürlich auch Ausschaltzeiten definieren. > > > > > > MfG André H. > > Hallo Andre, > > also Du überschätzt mich da ganz arg, ich habe erst begonnen > mich mit der CC2 näher zu Beschäftigen, da bin ich > sicher noch nicht so weit um mal schnell einen Timer > zu Programmieren. ;) > > Also der gepostete Code lief gestern durch und heute > morgen hat er auch für die Schaltung gesorgt, nur heute > Abend ging es mal wieder nicht. > Nach dem ich gelesen habe was Du hier schreibst, könnte es > ja an der variablen sec. liegen. > > Danke für Deine Hilfe > Gruß Rene
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB