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

Re: Probleme bei der programmeirung Kategorie: Programmierung (von nitraM - 9.06.2010 15:14)
Als Antwort auf Probleme bei der programmeirung von Carsten - 9.06.2010 14:50
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0, OSOPT V3.1
> Moin,
>
> ich hätte da mal ein problem und dachte mir so, hier finde ich bestimmt jemanden
> der mir bei der programierung helfen kann? Die Aufgabenstellung ist folgende:
> Ein zweistufiger Druckregler mit Abschaltdruck 30bar (Taster) und Einschaltdruck 25bar (Schalter)
> soll den kompressor (LED) in betrieb nehmen. Zusätzlich soll das LCD anzeigen: EIN oder AUS.
> Mein Versuch dafür war folgender:
>
> /********************
>    Port8.c2
>    Schnelle ports ansteuern
>    eine aktionueberwachung am port 9
>    am port 8 wird eine led angeschlossen
>    am port 9 wird ein schalter angeschlossen
>    am port 10 wird ein taster angeschlossen
> *********************/
>
> //----------------------*
> thread main
> //----------------------*
>
> {
>
> int n,o,inp,outp,inp2;
> string auf,zu;
>
> // zustand des digiport 8 abfragen
> inp=ports.get(8);
>
> // zustand des digiport 9 abfragen
> inp2=ports.get(9);
>
> // wenn schalter geschlossen dann,
> if inp==0
>
> {
>   //Leutmelder an
>   ports.set(10,1);
>
>   lcdext.init();
>   lcdext.goto(1,0);
>   zu = "Kompressor ein";
>   lcdext.print(zu);
>   sleep 1000;
> }
>
> // Wenn Schalter offen dann,
>
> if inp==-1
> {
>   // Leuchtmelder aus
>   ports.set(10,0);
>   lcdext.init ();
>   lcdext.goto(1,0);
>   auf = "Kompreesor aus";
>   lcdext.print(auf);
>   sleep 1000;
> }
>   // if Abfrage
> if inp2==0
> {
>   // Leuchtmelder aus
>   ports.set(10,0);
>   lcdext.init ();
>   lcdext.goto(1,0);
>   auf = "Kompressor aus";
>   lcdext.print(auf);
>   sleep 5000;
> }
> }
>
>
> Das Problem an der Sache ist nur , das dass so irgendwie nicht tut.
> Ich würde mich freuen wenn mir jemand helfen könnte


Ich würde es so machen...
....schnipp...

thread main
{string strMeldung;         // Textvariable
 int min;
 int max;
 lcdext.init();             // Init des Display
 loop
 {min = ports.get(8);       // Port 8 abfragen
  max = ports.get(9);       // Port 9 abfragen
  if min == 0               // Druckschalter ist aus => Kompressor anwerfen
   {strMeldung = "Kompressor ein";
    ports.set(10,1);
    lcdext.goto(1,0);
    lcdext.print(strMeldung);
    sleep 100;
   }
  else if max == 1           // Drucktaster ein => Kompressor ausschalten
   {strMeldung = "Kompressor aus";
    ports.set(10,0);
    lcdext.goto(1,0);
    lcdext.print(strMeldung);
    sleep 100;
   }
 }
}

      ...schnapp...

Grü�e nitraM


    Antwort schreiben


Antworten:

Re: Probleme bei der programmeirung (von Carsten - 9.06.2010 15:33)
    Re: Probleme bei der programmeirung (von nitraM - 10.06.2010 6:53)