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

Re: Schaltuhr Programmierung Kategorie: Programmierung (von guido - 29.11.2004 20:10)
Als Antwort auf Re: Schaltuhr Programmierung von André H. - 28.11.2004 21:30
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> Hallo Guido,
>
> > Folgendes Programm soll für verschieden Situationen verschieden Schaltzeiten zur Verfügung stellen
> > mir erschein es jedoch sehr umfangreich um die Zeiten zu speichern wie kann ich das Problem
> > anders Lösen ??
>
Danke für Deine Hilfe aber das mit dem mehrdimensionalen Array habe ich noch nicht Verstanden????
kannst du das bitte noch etwas ausschweifender erklären ?
Muss ich dann Schaltuhr getrennt von Zeit ins eeprom schreiben oder ist Zeit ein fester Teil von
Schaltuhr??


Danke Mfg Guido

> Eine einfache Möglichkeit wäre ein mehrdimensionales Array.
> Also z.B. so:
> <Modul var.c2>
> type myTime
> {
>  int schaltuhr[8];
> }
>
> myTime zeit[6];
>
> <Modul xy.c2>
>
> //----------------------------
> function schaltuhr (byte safe) returns byte
> //----------------------------
> {byte u;
>  int time;
>  if system.second()==59 and system.minute()==59 wait system.second()==0;
>  time=(system.hour()*100)+ system.minute();
>  if safe > 5 safe=5;
>
> // normal:
>  if var.schaltuhr[safe].zeit1[0]<time and time<var.schaltuhr[safe].zeit1[1] u=0xFF;//Schaltzeit 1
>  else
>  if var.schaltuhr[safe].zeit1[2]<time and time<var.schaltuhr[safe].zeit1[3] u=0xFF;//Schaltzeit 2
>  else
>  if var.schaltuhr[safe].zeit1[4]<time and time<var.schaltuhr[safe].zeit1[5] u=0xFF;//Schaltzeit 3
>  else
>  if var.schaltuhr[safe].zeit1[6]<time and time<var.schaltuhr[safe].zeit1[7] u=0xFF;//Schaltzeit 4
>  else u=0;
>
> // alternativ:
> /* return (var.schaltuhr[safe].zeit1[0]<time and time<var.schaltuhr[safe].zeit1[1])
>          or (var.schaltuhr[safe].zeit1[2]<time and time<var.schaltuhr[safe].zeit1[3])
>          or (var.schaltuhr[safe].zeit1[4]<time and time<var.schaltuhr[safe].zeit1[5])
>          or (var.schaltuhr[safe].zeit1[6]<time and time<var.schaltuhr[safe].zeit1[7]);*/

>
> // noch eine Alternative:
> /* byte i;
>  u=0;
>  for i=0 ... 6 step 2
>  {
>   u=u or (var.schaltuhr[safe].zeit1[i]<time and time<var.schaltuhr[safe].zeit1[i+1])
>  }*/

>  return u;
> }

>
> Such Dir einfach eine der drei Möglichkeiten aus.
>
> Die Zeile mit den Sekunden habe ich hinzugefügt, um einen möglichen Stundenwechsel
> zwischen der Stunden- und Minutenabfrage abzufangen.
>
> MfG André H.
>


    Antwort schreiben


Antworten:

Re: Schaltuhr Programmierung (von guido - 3.12.2004 11:53)
    Re: Schaltuhr Programmierung (von Thomas - 3.12.2004 14:32)
        Re: Schaltuhr Programmierung (von guido - 5.12.2004 14:01)
            Re: Schaltuhr Programmierung (von André H. - 19.12.2004 0:14)
            Re: Schaltuhr Programmierung (von Thomas - 5.12.2004 22:29)