Kommt darauf an. Es gibt ja auch die Möglichkeit, dass der Strom ausfällt, wenn der Rolladen gerade beim Fahren ist. Da reichen dann 0 und 1 nicht aus. Da die Antriebe normalerweise eine richtig eingestellte Endlage haben sollten, schadet es dem Motor nicht, wenn er Richtung zu angesteuert wird, wenn er bereits zu ist. Falls du auch eine Zeitsteuerung einbaust, empfehle ich eine batteriegepufferte RTC mit RAM. Dieses kannst du ruhig bei jedem Fahrbefehl beschreiben. Falls du die Laufzeit des Rolladen weisst kannst du ja abspeichern wieviel Prozent das Teil offen ist. Du könntest auch nach einem Stromausfall den Rolladen auffahren, sodass die Position wieder bestimmt werden kann, wobei dann das Ding dann auch hochfährt, wenn es gar nicht gewünscht ist, weshalb ich diese Möglichkeit nicht nehmen würde. oder oder oder
Dein Problem würde ich so lösen: Die Variable, welche den aktuellen Zustand beinhaltet nach jedem Fahrbefehl abspeichern und beim Neustart des Programmes diese auslesen.
dim Jal as byte
dim eJal as eram
dann beim Programmstart
jal = ejal
und beim Fahren
jal.0=0
jal.1=0
ejal=jal
bei Endlage dann
jal.0=1
ejal=jal
oder
jal.1=1
ejal=jal
je nachdem, welche erreicht wurde.
Dadurch schreibst du allerdings die Speicherzelle andauernd neu. Deswegen empfehle ich eher die RAM aus der Uhr Variante.
Die anderen Bits der ejal könntest du verwenden um zu prüfen, ob die Variable evtl noch nie geschrieben wurde, sodass die Lage des Rolladens auf unbekannt gestellt werden kann.
Lesezeichen