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

Überprüfung Kategorie: Programmierung (von H.-J. wünsche - 7.02.2017 12:50)
Ich nutze:
C-Control II Station, OSOPT V3.1
//***********************************
  function start ()
//***********************************

const E = 080000;  // Endzeitpunkt
const D = 220000;  // Einschaltzeitpunkt
const Y = 10; // Dauer in Sekunden Motor
const Z = 14; // Dauer in Sekunden Magnetventil

//----------------
thread main
//----------------
{
  int d,n,z,y,b,e,a;
  d = 0; // Variable Einschalt
  n = 0; // Variable Zeitvergleich Motor
  z = 0; // Variable Zeitwert Magnetventil
  y = 0; // Variable Zeitwert Motor
  b = 0; // Variable Zeitvergleich Magnetventil
  e = 0; // Variable Zeit Programmende
  a = 0; // Variable Zeitvergleich Magnetventil

//--------------------
  function programm ()
//--------------------
  {
  type TIME
 
    int hour;
    int minute;
    int second;
  }

//-----------------
  function einschalt ()
//-----------------
  {
  gettime ( TIME time );
  d = hour - D; //Einschaltung abends 22.00 Uhr

  if d <= 0
  run 35; //einschalt;

  if d == 0
  run 24; //programm;

  if d >= 0
  run 24; //programm;
  }

//----------
  function lcd ()
//-----------
  {
  station_lcd.init();
  station_lcd.home(1.1);
  station_lcd.LIGHTon();
  station_lcd.clear();
  station_lcd.showtime();
  station_lcd.LIGHToff();
  }

//-------------------------
  function volle Stunde ()
//-------------------------
  {
  gettime ( TIME time );
  n = minute - Z;  // Z = 1,  n ist die neue Minutenzahl

  if n = 0  //n ist die jeweils um weitere 1 reduzierte Minutenzahl
  run 64; //volle Stunde
 
  plm.beep(12);
  sleep 100;
  plm.beep(-1);
  else

  run 24; programm
  }
//-------------------------
  function steuerungmagnetv ()
//-------------------------
  {
  station_io.RELon (byte 1); // Relais Magnetventil, Dauer 12 sec
 
  gettime ( TIME time ); // 14 Läufe
  z = second + Z; // Sek + 12 gleich z, neuer Wert
 
  gettime ( TIME time );
  a = second - z; // sekunden laufen weiter, bis gleich groß z
  if a != 0
  run 81; //Steuerungmagnetv;
 
  else // weiter im Programm
  station_io.RELoff (byte 1);
  }
//----------------------
  function anlaufenmotor ()
//----------------------
  {
  station_io.RELon (byte 2); // Motor, Dauer 10 sec
 
  gettime ( TIME time ); // 12 Läufe
  y = second + Y; // Sek + 10 gleich y, neuer Wert
 
  gettime ( TIME time );
  b = second - y; // Sekunden laufen weiter, bis gleich groß y
  if b != 0
  run 98; //Anlaufenmotor;
 
  else  // weiter im Programm
  station_io.RELoff (byte 2);
  }
//----------------------
  function programmende ()
//----------------------
  {
  gettime ( TIME time );
  e = hour - E; // e = Ende morgens 8.00 Uhr
  if e = 0 // Programmende
  run 11; //main,
 
  else
 
  plm.beep(12);
  sleep 100;
  plm.beep(-1);
 
  run 2; //Programm wiederholen
  }
}


    Antwort schreiben


Antworten: