Für dieses Forum muß Javascript im Browser aktiviert werden!
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 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---------------------------------