Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Relais schalten unkontrolliert Kategorie: I²C-Bus (von DJ - 28.02.2006 15:39)
Als Antwort auf Re: Relais schalten unkontrolliert von wema - 9.02.2006 17:13
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo Zusammen,

klingt ja interessant, ich habe auch Probleme mit dem MAX7311. Ich lese regelmä�ig den Zustand
des Ausgangsregisters. Mit dem Ergebnis, das sporadisch 0b00000000 gelesen wird, obwohl
mindestens ein Bit gesetzt ist. (Es können auch alle gesetzt sein, bzw. es ist auch egal ob es das
obere oder untere Byte ist. Ich kann es mir nicht erklären, ein Softwarefehler schlie�e ich mitterweile
aus, allerdings evtl. ein Problem mit dem Betriebssystem???? Ich habe das Problem erstmal umschifft,
ich die Register immer dreimal hintereinander auslese, und dann prüfe ob jedesmal das gleiche gelesen
wird....

Detlef


> Hallo Jürgen, hallo André,
>
> @Jürgen,
> einen Fehler in der Software kann ich zu 100% ausschlieÃ?en. Da ich erstens nur mit dem Taster-Thread
> auf das Max7311-Modul zugreife und zweitens immer ein Flag setze (Rollladen hoch oder runter).
> In meiner Fehlerüberprüfung überprüfe ich das Flag UND den Port des max7311 mittels
> max7311.getoutw(adresse). Aber trotzdem vielen Dank für die Gedanken.
>
> @André,
> das mit den Störungen auf den Versorgungsleitungen befüchte ich auch. Der Bus ist gepuffert,
> zusätzliche Wioderstände habe ich jedoch nirgends eingebaut.
> Die Länge beträgt am ersten Abschnitt ca. 15m und dann im zweiten Abschnitt nochmals so ca. 12m.
>
> Bzgl. der Softwareüberprüfung siehe Text oben. Ich frage in einem extra Thread ständig Flags und
> max7311-Ports ab. Sollten die Ports geschaltet sein (auch nur einer von ihnen) ohne dass das
> entsprechende Flag gesetzt ist, gehe ich von einer Fehlsteuerung aus und schalte alle Ports ab.
> UND trotzdem laufen teilweise einige Rollläden runter!!???
> Nur mal hier zur Vollständigkeit einen Auszug meines Fehlerüberwachungsteiles:
>
> //--------------vierter Versuch zur Reduzierung von Fehlauslösungen  09.01.06---
> //Hierbei wird bei der Ansteuerung der Rollläden jeweils die glabale Variable
> //"rollAn" je angesteuertem Rollladen um 1 addiert. Bei jedem abgeschaltetem
> //Rollladen wird "rollAn" wieder um 1 vermindert.
> //Sollte nun kein Roll. durch die Software mehr aktiv sein, mü�te auch die Variable
> //auf 0 stehen. Würde jetzt bei einer �berprüfung der geschalteten Ausgänge auch
> //nur ein Ausgang eingeschaltet sein, mü�te von eine Fehlansteuerung ausgegangen
> //werden!!!!!
>   int maxWord1,maxWord2,ok;
>   run 255; // Damit während der Ã?berprüfung nicht noch
>   // eine Taste gedrückt werden kann und damit den Ã?berprüfungsteil durchein-
>   // ander bringt, wird diesem Thread kurzfrstig höchste Priorität gegeben!
>   maxWord1=max7311.getOutw(3); //Daten als Word lesen
>   maxWord2=max7311.getOutw(4);
>   if rollAn==0 and (maxWord1 != 0 or maxWord2 != 0)
>   // Wenn rollAn gleich 0 ist (d.h. kein Rollladen ist durch Software ange-
>   // steuert) aber mindestens ein Ausgang der max7311 geschaltet ist, muÃ?
>   // eine Fehlsteuerung vorliegen. Daher beide Max7311 abschalten!
>   {
>     max7311.setw(3,0);
>     max7311.setw(4,0);
>   }
>   run 32; //wieder Standardpriorität !!!!
>

>
> Hoffe und versuche weiter, dies in den Griff zu bekommen.
>
> GruÃ?,
> wema


    Antwort schreiben


Antworten:

Re: Relais schalten unkontrolliert (von krassos - 28.02.2006 16:00)