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 Jörg, > > > > > > > > das Auslesen der 10 Sensoren funktioniert jetzt soweit, allerdings dauert das Auslesen > > > > ("Read" anschließend "Convert") um die 2800ms > > > > => also fast 3 Sekunden > > > > Soweit kein Problem, wer braucht schon jede ms alle 10 aktualisierten Temp.-Werte ;-) > > > > Auch das zunächst komplette Auslesen aller DS18B20 (readTemp) und das anschließende Konvertieren > > > > aller DS18B20 (convertTemp) mit anschließendem Warten von >750ms hilft hier nicht weiter. > > > > Bereits bei einem einzigen angeschlossenen Sensor werden im Durchschnitt 151ms für das Auslesen und > > > > anschließend zusätzlich 250ms für das Konvertieren benötigt.Lediglich ein Sensor ist dabei der die > > > > Statistik zeitlich nach unten drückt. Warum der eine aus der Reihe springt, keine Ahnung. > > > > Sonst sind alle Messungen ca. im gleichen Bereich. > > > > > > > > Da ich allerdings dummerweise auch, in einem anderen Thread, die Auswertung von Tastern (zur Licht- bzw. > > > > Rollladensteuerung) durchführe reagiert hier die C-Control, sprich der I2C-Bus in diesen ca. 3sek. > > > > merklich schlechter als in der Zeit, wo sich der Thread für das Auslesen der Temp.-Sensoren gerade > > > > im "standby-Modus" (hier über einen "sleep 10000;"-Befehl) befindet. Auch Runtersetzen der Prio für diesen > > > > Thread auf "run=2" hilft nicht weiter. > > > > Somit muss dann der Mensch den Licht-Taster zwei bzw. auch drei mal drücken, bis das > > > > "Licht angeht". Bewegungsmelder als Eingänge haben dann auch ihre Probleme. > > > > Das geht so gar nicht. > > > > > > > > Wie lange dauert bei Dir das Auslesen der besagten 15x DS18B20-Sensoren? > > > > Laufen bei Dir auch noch andere Geschichten in dieser Zeit auf dem I2C? > > > > Gibt es dabei Timing-Probleme? > > > > Könntest Du das alte Datenblatt (2004) als Link einfügen oder anderweitig zusenden? > > > > Ich kann die Geschichte mit dem 100Ohm-Widerstand noch nicht ganz nachvollziehen. > > > > > > > > Vielen Dank für Deine/Eure Hilfe. > > > > > > Hallo miteinander, > > > > > > ich habe mich mal hingesetzt und die verschiedenen Zeiten[ms] ermittelt, für welchen Schritt (Befehlszeile) > > > welche Zeit verstreicht. Sicherlich kann man nicht jeden Wert auf die "Goldwaage" legen, so kann man > > > doch eine gewissen Trend erkennen, wo die Zeit liegen bleibt. > > > > > Was ist zu erkennen? > > > Der "writeByte"-Befehl benötigt richtig viel (I2C)-Zeit. > > > Die Zeiten sind übrigens alle unabhängig von der eingestellten Prio über den run-Befehl. > > > Was noch auffällt ist der Zeitunterschied beim Port-0 den anderen gegenüber, was das Schreiben betrifft. > > > Allerdings ist beim Schreiben von "convertTEMP" und "readSCRATCHPAD" widerum kein Unterschied > > > festzustellen. mmmhhhhhh. > > > Insgesamt, über alle 10 Sensoren, dauert es 1248...1262ms zu konvertieren bzw. 2763...2772ms um die > > > beiden Temp.-Bytes auszulesen und anschließend zu konvertieren. > > > > > > <b>Wie kann die Abfrage der 10 (später auch 15) Sensoren effektiver gestalten werden, so dass > > > eine sichere Erkennung eines I2C-Eingang (Licht-Taster bzw. Roll.-Taster) realisiert werden kann ? </b> > > > > > > Grüße Dirk. > > > > Hallo Dirk, > > > > läuft das Lesen der Taster und das Lesen der Sensoren in 2 Threads? > > Wie sind die Prio's der Threads ? (Prio 2 macht gar keinen Sinn, weil dann immer nur > > 2 Maschinenbefehle hintereinander ausgeführt werden). > > Das Konvertieren (Messen und in EEprom des DS18B20 schreiben) sollte vor dem ReadScratchpad > > erfolgen. > > Habe Dir die Datenblätter mal auf meine HP gelegt: > > http://www.hansen-leinesser.de/DS18B20.pdf > > http://www.hansen-leinesser.de/DS2482-800.pdf > > > > Gruß > > Jörg > > Danke für die Datenblätter. > Nun ist auch mir klar, wo die 100Ohm-Widerstände hin gehören ;-) > Was die gestarteten Threads in meiner SW betrifft: > 1.) main-Thraed (Initialisierung => Setzen von globalen Variablen und Starten der weiteren Threads > 2.) "Taster-Thread" wartet ausschließlich auf INT-Signal => Auswertung wer hat welchen Port ausgelöst > 3.) Thread Dauer-Tastendruck (JA, notwendig für Mehrfachnutzung eines Tasters) > 4.) Menu-Thread (Start einer Menu-Abarbeitung an der Station) > 5.) Timer-Thread (Timer-Bearbeitung für Rollläden(Laufzeiten) bzw. Bewegungsmelder) > 6.) Thread für Zeitschalter bzw. Zeitschaltuhren > > Hier großartig an der Prio "zu drehen", hat sich aus meiner Erfahrung, wenn überhaupt, eher als > kontraproduktiv herausgestellt. => alle Threads laufen ohne run-Befehl => Standard-Prio => 32 > > Mein Problem ist wohl derzeitig die "Blockierung" des I2C-Busses beim Auslesen der 1W-Temp.-Sensoren, > genau dann, wenn ein INT-Signal zur Auswertung der max7311-Module kommt. > => merkliche Verzögerung bei der Auswertung des Tastendruck => keine Reaktion beim BM. > > Ich probiere hier mal die eine oder auch andere Geschichte (i2c.start & i2c.stop beim read/write auf > dem 1W-Bus), um hier ggf. eine Verbesserung zu bekommen. > > Sobald ich da etwas positives erreichen sollte, werde ich das hier natürlich auch einstellen. > > Grüße Dirk.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB