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

Re: 32 Digital-Eingänge? Kategorie: CC2-Unit & Appl.Board / CC2-Station (von joe - 1.09.2004 19:47)
Als Antwort auf Re: 32 Digital-Eingänge? von André H. - 7.10.2003 20:11
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo zusammen,


möchte von CNC-Maschinen die Standzeiten bzw. Laufzeiten erfassen. Relaisausgänge
von den CNC-Maschinen sind da. Ich denke da an ca. 24-32 Eingänge.
Hab mir das so vorgestellt:
Das c-Control sammelt die Schaltpunkte (mit Zeitstempel und Maschinen-Nummer) und
gibt sie dann an den PC im Laufe eines Tages weiter.


hab jetzt die Station mit i2c-max7311-board aufgebaut und programmiert.
Schalter an Port P3 und P13 des I2C-Boards geklemmt.
Interrupteingang auf P0/cc-Station gelegt.
Läuft soweit gut.

Mein Problem:
Wenn ich einen von den 2 Schaltern betätige, bekomm ich manchmal die Werte
inp1=0
inp2=0  
out1=0
out2=0 übertragen, obwohl P0 gar nicht aktiv ist.

weiÃ? nicht mehr weiter...
Vielleicht kennt jemand das Problem.

GruÃ? und Dank.
joe

Hier nun ein kurzer Auszug vom Code:

// Beginn Code---------------------------------
thread main
{ // Initialisierung
 stports.init();
 lcdext.init();
 i2c.init();
 hwcom.init();
 hwcom.setspeed(8);

 inp1=max7311.getb(0, 0);
 inp2=max7311.getb(0, 1);
 new1=  inp1;
 new2=  inp2;
 loop
 {
 wait((ports.get(8) & 0x01 )==0 ); // warten bis Interrupt ausgelöst wird...
       inp1= max7311.getb(0, 0); //Hole 1.Byte vom MAX7311
       inp2= max7311.getb(0, 1); //Hole 2.Byte vom MAX7311
       out1= inp1 ^ new1;        // XOR : Welches Bit hat sich geändert?
       out2= inp2 ^ new2;        // XOR : Welches Bit hat sich geändert?
       system.gettime ( time );
       sbuf[0]=system.day();
       sbuf[2]=system.month();
       sbuf[4]=system.year();
       sbuf[6]=time.hour;
       sbuf[8]=time.minute;
       sbuf[10]=time.second;
       sbuf[12]=out1;
       sbuf[13]=out2;
       sbuf[14]=inp1;
       sbuf[15]=inp2;
       sbuf[16]=13;
       sbuf[17]=10;
/*       showports(inp1,1);
       showports(out1,2);*/
       hwcom.send(sbuf, 18);
       new1= inp1;
       new2= inp2;
}
}
// Ende Code---------------------------------


    Antwort schreiben


Antworten:

Re: 32 Digital-Eingänge? (von André H. - 4.09.2004 8:34)
    Re: 32 Digital-Eingänge? (von joe - 6.09.2004 20:29)
        Re: 32 Digital-Eingänge? (von André H. - 6.09.2004 21:00)
            Re: 32 Digital-Eingänge? (von joe - 8.09.2004 19:27)
                Re: 32 Digital-Eingänge? (von joe - 8.09.2004 21:18)