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

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
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
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)