-         

Ergebnis 1 bis 9 von 9

Thema: Gesicherte Daten im eram bei Programmstart verwenden

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379

    Gesicherte Daten im eram bei Programmstart verwenden

    Anzeige

    Hallo Ihr da draußen,

    ich bräuchte mal einen Gedankenanstoß und Code-Hilfe von Euch:

    folgendes möchte ich realiesieren:

    mein Programm soll meine Rollädensteuern, dabei muss das Prog wissen, ob die Rolläden oben oder unten sind. Diese Information will ich im eram unter einer bestimmten Adresse abspeichern. Ich gebe jedem Rolladen z.Bsp einen Variablennamen und einen Wert für auf oder zu (0 oder 1).

    Wie kann ich aber nach einem Stromausfall beim Programmstart sagen, dass erst Werte aus dem eram zu lesen sei und dann diese in die entsprechende Variable geschrieben werden soll, die dann im folgenden Programmablauf zur Anwendung kommen.

    Irgendwelche Ideen oder schon mal soetwas gemacht?

    Danke und Gruß MAT

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo mat-sche,

    wo liegt das Problem?
    Du kannst ja das oder die Byte/s im Eram definieren, z.B.:
    Dim Rolladen As Eram Byte

    Darin kannst du z.B. deine Rolladen-Positionen speichern.

    Beim nächsten Programmstart liest du das Byte wieder ein,- es hat noch den Inhalt vom letzten Beschreiben. Ist es anfangs hFF, dann ist das Eram wohl noch leer.

    Gruß Dirk

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Bei sowas würd ich mich aber NICHT auf das EEP verlassen. Da sollten Sensoren dran! Entweder unten, wenn das Rollo zu ist oder oben im Kasten, ob das Rollo aufgewickelt ist... sowas!
    Kann man bestimmt easy basteln...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    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.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Ich würde es auch so machen wie peterfido.
    Damit man nicht ständig ins Eram schreibt (sollte man wirklich nicht!), würde ich im Programm nur mit normalen Variablen arbeiten und nur bei Programmabbruch (Stromausfall) oder z.B. einmal am Tag (Mitternacht oder so) die Variablen ins Eram schreiben.

    Stromausfall müßte man über einen Watchdog erkennen und ggf. die uC-Schaltung über große Kondensatoren bzw. Goldcaps etwas stützen, damit auf jeden Fall noch vor dem Spannungseinbruch die Daten im Eram gesichert werden können.

    Gruß Dirk

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    @all!

    Vielen Dank für Eure Denkhinweise! Ich bin mir noch nicht ganz sicher wie ich es machen werde, ziehe aber Eure Vorschläge mit zu Rate. Werde mich dann wieder melden!

    MAT

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    18.03.2005
    Ort
    berlin, siemensstadt
    Alter
    54
    Beiträge
    59
    hallo mat

    ich gebe ja zu, das ich durch meinen beruf sehr cnc geschädigt bin
    aber ich denke auch im falle eines stromausfalls und wieder einschalten des stromes, ein undefinierter zustand eintritt. am besten ist du verbaust so genannte referenzschalter....ich denke mal am oberen ende würden ja welche reichen und wenn derstrom wieder da ist, fährt das programm alle rollläden wieder bis zu den schaltern nach oben und du hast wieder eine saubere ausgangsposition.

    LG thomas

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    hey thomas,

    etwas alter beitrag aber dennoch danke für deine antwort! Leider ist es nicht so einfach irgend wo und wie einen schalter einzubauen. Mein projekt ist ein nachträglich bau und alle Fenster sind schon drin ohne eine möglichkeit dort schalter nachzurüsten. ich habe jetzt eine ups für meine kontroller gebaut und somit läuft das programm weiter auch wenn kein strom da ist

    LG MAT

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    18.03.2005
    Ort
    berlin, siemensstadt
    Alter
    54
    Beiträge
    59
    hi matze
    ja ja...hast ja recht, habe ich nur zu spät gesehen. eine batterieversorgung....hmmmm auch nicht schlecht.....hoffentlich nachgeladen durch eine solarzelle ....hoch lebe die technik

    gruß thomas

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •