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 

 falsches speichern von Variablen Kategorie: Programmierung Basic (von Thomas - 9.08.2005 17:30)
Thomas nutzt:  CC1-Station V1.1

Hallo,

ich habe ein riesen Problem, vermute aber, daß ich blos den Wald vor lauter Bäumen nicht mehr sehe.
Ein Freund hat eine Solaranlage gebaut, die sich nach der Sonne ausrichtet. Ich soll die Steuerung programmieren. Jetzt hab ich ein Prog geschrieben, welches soweit funktioniert, nur speichert die C-Conrol manchmal die Variablen nicht richtig ab (oder liest sie nicht richtig...ka). Auf meienr Fehlersuche habe ich mir diese über Print angeschaut, wo dann manchmal abenteuerliche Werte standen.
Mit den Variablen x (horizontal) und y (vertikal) lege ich fest, aus welcher Richtung die Anlage gerade an den Endabschalter (je Ebene ein Schalter) gefahren ist. Wenn die Variablen aber andere Werte annehmen, als ich vorgegeben habe, fährt die Anlage über die Endabschalter...was fatale Folgen hat.

define p1 port[1]               'motor horizontal
define p2 port[2]               'motor vertikal
define p3 port[3]               'drehrichtung
define p4 port[4]               'endabschalter horizontal
define p5 port[5]               'endabschalter vertikal
define x byte                   'variable rechts/linkslauf
define y byte                   'variable hoch/runterlauf

#label01

 open# for read                                   'variablen auslesen
 input# x
 close#
 open# for read
 input# y
 close#

#label05                                          'sonne horizontal

if a2>a1 then gosub label35 else gosub label31


goto label01


#label31                        'sonne östlich von der anlage
if (a1-a2)<50 then return
if p4=off and x=0 then return
p3=on
pause 30
p1=on
if x=1 and p4=off then wait p4
#label32
if (a1<=a2) or p4=off then p1=off else goto label32
if p4=off then gosub label100
pause 30
p3=off
return

#label35                        'sonne westlich von der anlage
if (a2-a3)<50 then return
if p4=off and x=1 then return
p1=on
if  p4=off and x=0 then wait p4
#label36
if (a2<=a1) or p4=off then p1=off else goto label36
if p4=off then gosub label101
return


#label100                                'speichern der variablen
x=0
OPEN# for write
print# x
close#
return

#label101
x=1
OPEN# for write
print# x
close#
return

Habe mich schon das ganze We damit rumgeschlagen und hoffe das mir hier jemand helfen kann.

MfG MAC

 Antwort schreiben

Bisherige Antworten:

Re: falsches speichern von Variablen (von Kay - 9.08.2005 19:39)
    Re: falsches speichern von Variablen (von Thomas - 9.08.2005 20:10)