Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: "pause" Befehl umgehen Kategorie: Programmierung Basic (von Andre - 8.02.2005 21:36)
 Als Antwort auf Re: "pause" Befehl umgehen von sl - 7.02.2005 22:21

>
> > Hallo,
> >
> > > > > if abs(timerini - timer) >= 2000 then K1 = off
> >
> > Die Funktion ABS liefert den absoluten Betrag, also ABS(-300) = 300 und ABS(500) = 500 einer Zahl zurück. Als Parameter wird der Funktion eine numerische Konstante, ein Term oder eine Variable übergeben. Insofern müsste die obige IF Abfrage funktionieren, wenn Timerini und K1 definiert sind.
> >
> > Gruß,
> >
> > Stefan
>
> Hallo folgendes Programm lässt sich mit
>
>
> ccbas V1.33 ohne Fehler compilieren
>
>
> define timerini word
> define k1 port[1]
>
> timerini = timer  '(variable vor dem setzen des ports initialisieren)
> K1 = on '(port setzen)
> if abs(timerini - timer) >= 2000 then K1 = off
>
>
> das was hinter dem "   '   " einfachen Anführungszeichen steht sind Kommentare die durch eben ein
> solches Anführungszeichen gekennzeichnet werden
>
> wenn jetzt immer noch ein Fehler Aufritt dann poste dein Programm hier
>
> und zwar per Strg-C Strg-V DIREKT aus dem ccbas-Editor
> ansonsten welche Unit und welche Entwicklerumgebung benutzt Du?
>
> Es wäre schön wenn Du die Fehlermeldung Wort für Wort auch hier reinposten würdest
>
>
> sl
>
>
Habe es geschafft !
Mein Problem bestand darin > timerini = timer < zu verstehen, die Anpassung des Wertes "timerinni" an "timer" und die Nutzung der Differenz daraus.
das Ergebnis:
--------------------------------------------------------------------------------------------------------------------------------------------------
define K1 port[7]
define K2 Port[8]
define P1 Port[1]
define F1 Port[9]
define F2 Port[10]
define F3 Port[11]
define F4 Port[12]
define timerini word


K1=0
K2=0
P1=0


#schleife
  if not F1 then gosub K1runter
  if not F2 then gosub K2hoch
  if not F3 then gosub K3sonne
  if not F4 then gosub aus
  if abs(timerini-timer)>= 2000 then gosub aus
  goto schleife

#K1runter
  K2=0
  P1=0
  tog K1
  pause 5
  wait F1
  timerini = timer
  goto schleife

#K2hoch
  K1=0
  P1=0
  tog K2
  pause 5
  wait F2
  timerini = timer
  goto schleife

#K3sonne
  K1=0
  K2=0
  tog P1
  tog K1
  pause 5
  wait F3
  timerini = timer - 1400
  goto schleife

#aus
  K1=0
  K2=0
  P1=0
  goto schleife


return
___________________________________________________________________________________

die Rollladen gehen perfekt, nächste Aufgabe für mich die Einbindung von Dämmerungsschalter und
Temperatur, dazu habe ich wieder neue Fragen zur Hardware aber dies in einem neuen Beitrag !!
Danke an alle Fortgeschrittenen, das ihr uns Neubis aus dem Urschleim holen !

Andre

 Antwort schreiben

Bisherige Antworten:

Re: "pause" Befehl umgehen (von Kay - 8.02.2005 22:05)
    Re: "pause" Befehl umgehen (von Andre - 8.02.2005 22:20)