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 Gemeinde, > > ich versuche zur Zeit eine Rollosteuerung mit Hilfe von I/O Modulen 8574 zu programieren. > In einem thread initialisiere ich die pcf. mit dem Ergebnis möchte ich eine "Freischaltung" der Ansteuerung > der Module realisieren. > Im Display erscheint der Ausgelesene Wert ,00 und die LED 4 geht an. Was soweit ja auch richitg ist. > Nach meinem logioschen Verständnis sollte nun aber auch die LED 5 angehen, da das Ergbnis des > Vergleichs ja ungleich ist -tu es aber nicht das Programm läuft weiter als wären die Wert gleich. > Da ich im Forum des öfteren von Variablen Problemen der CC gelesen habe, habe ich auch mal den > Vergleich herumgedreht -ohne Erfolg. > Das Kuriose daran ist nun, das es gestern funktioniert hat. > Ich sende die aktuellen Daten über hwcom in eine Excel Tabelle und mache damit das bugfixing. > Hier kann ich die aktuellen Weret sehen - und die stimmten auf einmal nicht mehr mit der Realität überein. > Hier habe ich nun die Display und LED Ausgabe eingefügt um zu sehen wo genau der Fehler wohnt. > Hat jemnd eine Idee wo oder was der Fehler sein könnte?? > Zum besseren Verständnis der aktuelle Code. > > danke > Markus > > var. = Modul Variablendekaration > var.RolloOn[Nummer des Rollo(0-15)] Staus des Rollos 0=Offline 1=Online // Rollo[0]= Init Ergebnis > Modul[Nummer des Moduls(0-8)] 0= Offline 1=Online > var.Modul[Nummer des Rollo(1-15)] 0-8 Nummer des Moduls > Alle Globalen Variablen werden beim start auf 0 gesetzt > //************ Testzeile > > int lop, OnTemp, Modul[15]; > string text; > > thread On > { > var.RolloOn[0]=pcf.init(); // lesen welche Module online sind > station_io.LEDtoggle(4);//*********************************** > str.putintf(text,var.RolloOn[0],2);text=text+",";str.putintf(text,var.OldRollo,2);//********************* > station_lcd.cursorpos(2,0);station_lcd.print(text);//*********************************** > if var.RolloOn[0]!=var.OldRollo // nur lesen, wenn differenz > {capture var.flag; > station_io.LEDtoggle(5);//******************************* > var.OldRollo=0; > OnTemp=var.RolloOn[0]; // temp zuweisen > if OnTemp>=256 // Wenn Bit gesetzt ist > {OnTemp=OnTemp-256;Modul[8]=1;var.OldRollo=var.OldRollo+256;} // Variablen setzen > else > {Modul[8]=0;} > if OnTemp>=128 // Wenn Bit gesetzt ist > ........... > if OnTemp>=1 > {OnTemp=OnTemp-1;Modul[0]=1;var.OldRollo=var.OldRollo+1;} // Variablen setzen > else > {Modul0]=0;} > for lop=1 ...15 > {var.RolloOn[lop]=Modul[var.Modul[lop]];} > release; > } > }