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 Mexx > > > ich habe meine Steuerung derzeit im Versuchsaufbau und benutze den i2C Bus mit CCTools-Reglerboard > > zur Ansteuerung von > > a.) 1 x i2c Tranceiver und dahinter 2 x i2C Transceiver mit 2x i2C Terminal auf LCDs > > b.) 1 x i2C Terminal auf LCD > > c.) 1 x i2C RAM-Device > > d.) 2 x i2C Relaisplatine > > e.) 2 x i2C 1-Wire Bridge (mit insgesamt 15 Sensoren) > > > > Thread 1 bedient a.) und b.) > > Thread 2 bedient c.) und e.) > > Thread 3 bedient d.) > > Wenn die Thread die überwiegende Zeit auf dem I²C-Bus arbeiten(d.h. mehr als 2/3) > und gleichzeitig die Threads (oder zumindest einer) nicht sehr lang sind, > kann es sein, daß der Threadwechsel innerhalb eines I²C-Captures erfolgen soll. > Da aber die anderen Threads dann auf die Freigabe warten, wirt die Rechenzeit von diesen > sofort wieder abgegeben, so daß der erste Thread wieder die Rechenzeit bekommt, und > im ungünstigsten Fall wieder zu einem I²C-Capture kommt, bvor die Rechenzeit wieder > abgegeben wird. > Ein solcher Kandidat wäre bei Dir Thread 1, da ich vermute, daß dieser, außer Ausgaben > auf den Terminals und das Einlesen der Tasten, nicht viel außerhalb von I²C betreffenden > Routinen macht. > Wenn das der Fall ist, wäre ein Abbremsen mit sleep oder zumindest ein paar verteilte > yields sinnvoll. > Displayausgaben muß man nicht ständig durchführen. Je nach Anwendung reicht > eine Ausgabe im Halb-oder Einsekundenintervall bzw. sogar nur bei Änderung. > Tastaturen an den Terminals sollten nicht per Polling abgefragt werden. > Besser ist es, alle Interruptleitungen der Terminals auf einen I/O-Port zu legen > (Pull-Up nicht vergessen), und nur bei einem Low-Pegel alle Terminals abzufragen, > solange das auslösende Terminal gefunden wurde. > > Dein Thread 2, denke ich, wird bereits sleeps enthalten? > Ich gehe davon aus, daß auf das RAM-Device in einem bestimmten Intervall, und > auf die 1W-Sensoren max. im Sekundentakt zugegriffenwird. > > Ähnliches wird wahrscheinlich beim Thread 3 für die Relaisplatinen sein. > > Welcher Thread übernimmt eigentlich die Regelungsaufgaben? > Ich gehe mal davon aus, daß es Thread 3 ist. > > > Um etwas zu veranschaulichen, hier die Aufteilung der Threads meiner Heizungsregelung: > Es sind derzeit 12 Threads: > 1. Thread rbports.main{} Portansteuerungen inkl. Multiplexer(ReglerBoard) > 2. Thread sync{} in pcf8583.c2 (I²C-Bus-Zugriffe) > 3. Thread watchdog{} in pcf8583.c2 (I²C-Bus-Zugriffe) > 4. Thread temp.gettemp{} (I²C-Bus-Zugriffe) > Einlesen aller Temperaturwerte: 17 analoge Sensoren und 5 One-Wire-Sensoren > 5. Thread com.com{} > Kommunikation über RS232/XPort > 6. Thread anzeige.beep{} > Soll nur ein Signal über den Piezo ausgeben, ohne den eigentlichen Anzeigethread > auszubremsen. :-) Der Thread hält sich nach einem Durchlauf selbst an. > 7. Thread screen.keyb{} > Thread für Touchdisplay an SWCOM. (Displayausgaben, Toucheingaben) > 8. Thread regelung.HK1{} > Mischerregelung Heizkreis 1 (gestartet über regelung.regelung{}) > 9. Thread regelung.HK2{} (I²C-Bus-Zugriffe (Relais)) > Mischerregelung Heizkreis 2 (gestartet über regelung.regelung{}) > 10. Thread regelung.regelung{} (I²C-Bus-Zugriffe (Relais)) > Komplette regelung, steuerung der Threads HK1 und HK2. Ausführungsintervall 1sec.. > 11. Thread main.beeb{} > Startmelody bei Programmstart. :-) > 12. Thread main.main{} (I²C-Bus-Zugriffe(Inits)) > Initialisierungen, starten von Threads, CAN-Kommunikation > mit CC2-Station V1.1(Advanced, BHKW-Steuerung) > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB