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

Re: PWM regelung Kategorie: Programmierung (von Guido - 12.07.2004 12:23)
Als Antwort auf Re: PWM regelung von André H. - 12.07.2004 7:57
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT_V2
> 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.
>ok das habe ich jetzt versucht, entschuldigung war natürlich nicht die feine ;-)
 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.
>
Ich habe den code nur ins forum copiert dabei muss irgendwas verloren gegangen sein
if  t1 ist natürlich schwachsinn die bedingungen fehlen alle
also noch ein versuch.
Ich benutze gleich dein Code tag wenn ich darf ;-)

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
  t4=tempaus.value[0]; //Ã?lkessel
   if t1 < t2+5 and pcf.get(000,2)==0
   {
   //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 < t1+5 and pcf.get(000,2)==0
   {
    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 < t4+5 and pcf.get(000,3)==0
   {
    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 < t3+5 and pcf.get(000,3)==0
   {
    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);
   }
}

>
So dieses mal habe ich die Vorschau benutzt sonst hätten wir das gleiche Problem
Dein Forum mag Verleiche nur wenn davor ein leerzeichen steht sonst wird alles was nach < steht verschlungen

Mfg Guido
>
> MfG André H.
>


    Antwort schreiben


Antworten:

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)