
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
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 |