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

Re: Word auf paarweise Bits überprüfen Kategorie: Programmierung (von Ralf Metzner - 14.04.2008 16:40)
Als Antwort auf Word auf paarweise Bits überprüfen von wema - 14.04.2008 12:22
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo,
wäre es nicht besser die "Fehlsteuerung" zu beheben als die Folgen zu kaschieren?
Hast Du eine Vorstellung wo die Fehler herkommen?

GruÃ?
Ralf

> Hallo Fangemeinde,
>
> vielleicht kann mir jemand helfen:
> Ich mu� in zwei Words überprüfen, ob paarweise Bits gesetzt sind. Zur Zeilt durchlaufe ich eine
> Schleife und überprüfe jeweils zwei nebeneinanderliegende Bits. Geht das möglicherweise noch
> etwas schneller??
> Der Hintergrund ist, das bei meiner Rollladensteuerung hin und wieder Fehlsteuerungen auftreten.
> D.h. im kompletten DG gehen plötzlich alle Rollläden runter. Am Max7311-Modul sind dann fast
> alle Ausgänge geschaltet. Da ich die Rollläden  jedoch an meinen Max7311-Modulen so beschaltet
> habe, das immer nur ein Relais (jeweils für hoch und runter) schaltet, kann ich von einer Fehl-
> steuerung ausgehen. Doch leider gehen eben auch dei Rollläden runter, wenn beide Relais durch-
> geschaltet sind. Durch die �berprüfung der gesetzten beiden nebeneinanderliegenden Bits erkennt
> meine CControl die Fehlsteuerung und schaltet alle Bits aus.
> Hier einmal auszugsweise mein bisheriger Code:
>
>   maxWord1=max7311.getOutw(3); //Daten als Word lesen
>   maxWord2=max7311.getOutw(4); //  "    "    "    "
>    
>   for doppelbit = 0 ... 14 step 2
>   {
>     if (maxWord1 and (0b11 shl doppelbit)) == (0b11 shl doppelbit)
>     {
>       //Es wird das Bitpaar abgeschaltet, dessen Darstellung einem gesetzten
>       //Doppebit (0b11) entspricht. Da dies in der Softwaresteuerung nie vor-
>       //kommt, muÃ? eine Fehlsteuerung vorliegen.
>       max7311.set(3,doppelbit,0);
>       max7311.set(3,doppelbit+1,0);
>       // festgestellte Fehlsteuerung wird im Fehlercode abgelegt
>       def.fehlerTaster[def.fehleranzahlMax7311]=doppelbit;
>       def.fehler(8,0);
>     }
>   }
>   resume; //wieder Standardpriorität !!!!
>

>
> Das Beispiel bezieht sich nur ein Word, ich habe die Schleifenabfrage in meinem Programm daher
> zweimal drin.
>
> WeiÃ? jemand einen heiÃ?en Tipp??
>
> Danke und GruÃ?,
> wema


    Antwort schreiben


Antworten:

Re: Word auf paarweise Bits überprüfen (von wema - 14.04.2008 17:16)
    Re: Word auf paarweise Bits überprüfen (von Ralf Metzner - 15.04.2008 9:00)
        Re: Word auf paarweise Bits überprüfen (von wema - 15.04.2008 9:12)
            Re: Word auf paarweise Bits überprüfen (von Ralf Metzner - 15.04.2008 9:54)
                Re: Word auf paarweise Bits überprüfen (von nitram - 15.04.2008 14:42)
                    Re: Word auf paarweise Bits überprüfen (von wema - 15.04.2008 17:05)
                       Re: Word auf paarweise Bits überprüfen (von nitraM - 15.04.2008 19:38)
                          Re: Word auf paarweise Bits überprüfen (von Ralf Metzner - 17.04.2008 9:13)
                             Re: Word auf paarweise Bits überprüfen (von nitraM - 17.04.2008 10:16)
                                Re: Word auf paarweise Bits überprüfen (von Ralf Metzner - 17.04.2008 15:03)
                                   Re: Word auf paarweise Bits überprüfen (von wema - 4.05.2008 14:53)