Re: PWM regelung Kategorie: Programmierung (von André H. - 12.07.2004 7:57) | ||
Als Antwort auf PWM regelung von Guido - 11.07.2004 18:08 | ||
| ||
Hallo Guido, > Ich habe einen thread geschrieben der mir zwei Pumpen über PWM steuern soll. > Leider habe ich folgendes Problem die Pumpen werden ca 30 sec angesteuert und dann 30 sec nicht.?? Bitte formatiere Quellcode so, da� man ihn auch lesen kann. Dazu gehört einerseits, da� richtig eingerückt wird, und andererseits, da� das code-Tag gerade bei längeren Abschnitten benutzt wird. Ich habe den Code einmal in die IDE-kopiert. Allerdings verstehe ich nicht, was Du genau erreichen willst. Eine Drehzahlregelung à la IWP wird das jedenfalls nicht. Denn es wird bei jedem Schleifendruchgang jede IF-Bedingung ausgeführt, wenn nicht gerade die Temperaturen 0°C haben. Und wo wird t4 gesetzt. Vielleicht schreibst Du noch kurz die möglichen Werte (und Typ) der Variablen, welche nicht im Code definiert sind, dazu. Hier Dein Code nochmals lesbar formatiert: Ich kann nur jedem empfehlen, sich die Zeit zu nehmen, Quellcode lesbar zu formatieren. Das spart immer Zeit bei einer evtl. Fehlersuche. C2 verleitet einen zwar nach C-Manier zu schreiben, jedoch wäre eine "Basic-Formatierung" besser angebracht. thread main { int t1, t2, t3, t4 ; byte tim1, minute1; plm.settimebase(0,5); plm.settimebase(1,5); plm.setmode(0,0); plm.setmode(1,0); plm.setperiod(0,15000); plm.setperiod(1,15000); plm.out(0,regelung3.plm1); plm.out(1,regelung3.plm2); loop { t1=tempaus.value[4];//Holzkessel t3=tempaus.value[0];// �lkessel tim1=0; minute1=system.second(); while tim1<30 { wait minute1!=system.second(); minute1=system.second(); tim1=tim1+1; } t2=tempaus.value[4]; //Holzkessel t3=tempaus.value[0]; //�lkessel if t1 {//drehz hoch P1 regelung3.plm1=regelung3.plm1+10; if regelung3.plm1<30 regelung3.plm1=30; regelung3.plm1=regelung3.plm1*150-1; plm.out(0,regelung3.plm1); } if t2 { regelung3.plm1=regelung3.plm1-10; if regelung3.plm1<30 regelung3.plm1=30; regelung3.plm1=regelung3.plm1*150-1; plm.out(0,regelung3.plm1); //drehz runter P1 } if pcf.get(000,2)!=0 plm.out(0,0); if t3 { regelung3.plm2=regelung3.plm2+10; if regelung3.plm2<30 regelung3.plm2=30; regelung3.plm2=regelung3.plm2*150-1; plm.out(0,regelung3.plm2); //drehz hoch P2 } if t4 { regelung3.plm2=regelung3.plm2-10; if regelung3.plm2<30 regelung3.plm2=30; regelung3.plm2=regelung3.plm2*150-1; plm.out(0,regelung3.plm2); //drehz runter P2 } if pcf.get(000,3)!=0 plm.out(1,0); } } MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: PWM regelung (von Guido - 12.07.2004 12:23) Re: PWM regelung (von André H. - 16.07.2004 10:00) Re: PWM regelung (von Guido - 16.07.2004 19:43) Re: PWM bzw. IWP regelung (von André H. - 20.07.2004 10:10) Re: PWM bzw. IWP regelung (von Guido - 21.07.2004 13:05) Re: PWM bzw. IWP regelung (von Michael Hoth - 6.04.2005 14:31) Re: PWM bzw. IWP regelung (von André H. - 21.07.2004 19:46) Re: PWM bzw. IWP regelung (von Guido - 22.07.2004 20:26) Re: PWM regelung (von Guido - 12.07.2004 12:27) Re: PWM regelung (von guido - 12.07.2004 20:22) |