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 zusammen, > > ich habe Probleme eine einigermassen genaue Zeitmessung hinzukriegen. > auf 100msec genau würde reichen. > Hier die Messfunktion: > > > function strom_messen(string richtung) returns int > { > halt write_timedate; > long summe; > messungen = 1; > summe = 0; > messzeit = messpause; // Vorlauf von Vorprogramm > strom_maxwert = 0; > string_out(3,2,richtung); > strom = ports.adc(div.messport) - div.strom_offset; > if strom > (strom_grenzwert+ 150) return 999;// Abbruch, Kurzschluss ?? > rblcd.clear(); > strom_out(2, 10, strom_grenzwert); > string_out(3, 2, richtung); > loop > { > strom = ports.adc(div.messport) - div.strom_offset; // Strommessung > if strom > strom_maxwert > strom_maxwert = strom; > // rblcd.delline(2); > //strom_out(2, 0, strom); // Stromwert anzeigen > //strom_out(2, 10, strom_grenzwert); > //rblcd.goto(4,0); > //rblcd.bargraph(strom/2, 100); > messungen = messungen + 1; > summe = summe + strom; > if math.abs(messzeit - time_wait) < 220 // ZwischenTest, schaltet Switch ? > { > if endschalter_status()==1 // > { > div.fehlercode = 1; // Falsche Richtung ?? > break;// > } > } > if messzeit - time_wait >320 // Messzeit > Wartezeit - 200 msec > and endschalter_status()==1 break;//Break wenn Endschalter ein > sleep messpause; > messzeit = messzeit + messpause; > } > messzeit = messzeit + 2*messpause; > resume write_timedate; > return summe/messungen; //Mittelwert zurückgeben > } > > Ich habe schon verschiedenes ausprobiert, die auskommentierten Zeilen LCD-Anzeigen > brachten eine gute Sekunde. Priorität des threads hochsetzen hat auch nicht viel gebracht. > Eine externer thread mit Zeitmessung brachte auch nicht viel. > Ich liege immer noch etwa 1 Sekunde unter dem tatsächlichen Wert. > Hat jemand eine Idee wie ich das genauer hinkriegen kann ?? > Danke für jeden Tip. > > MfG > ChristianK
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB