Uhrenbeweger

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Komplizierte mech. Uhren unter Spannung halten

Eingesetzt, wenn mehrere mechanische Armbanduhren mit einer größeren Zahl von Komplikation abwechselnd getragen werden. Die Uhr wird so in Intervallen permanent aufgezogen. Man erspart sich das recht aufwendige Stellen z.B. einer Uhr mit "Ewigen Kalender".

Ein kommerzielles Gerät

 

Ein ganz simple fischertechnik Modell. Austoben kann man sich mit dem Bewegungsprogramm : im Wechsel links- und rechtsrum, 1/4 h Pause ...

Besonders interessant könnte es mit dem Siemens LOGO! Steuerrelais sein, das läuft auch ohne PC. Hier eine einfache Version.

Natürlich sind auch noch Komfort-Versionen möglich :

Siemens LOGO! : Uhrenbeweger in Komfort-Version

Die Version für das LOGO! Steuerrelais hat jetzt eine Nachtabschaltung (B07, der Motor nervt doch sehr) und wahlweise die Anzeige der jeweiligen abgelaufenen Zeit des  Asynchronen Impulsgebers B01 (standardmäßig zeigt das Steuerrelais Datum und Uhrzeit an).Außerdem wird über den Symmetrischen Taktgeber B02 die Drehrichtung regelmäßig gewechselt.

Option Explicit

Const mMotor = 4
Const PauseDauer = 3580, LaufDauer = 20, IntDauer = 5, SleepDauer = 60

Dim StartZeit, EinZeit, AusZeit

EinZeit = TimeSerial(EA, 0, 0)
AusZeit = TimeSerial(EB, 0, 0)

Do
  If Time >= EinZeit AND Time < AusZeit Then
    StartZeit = DateAdd("s", LaufDauer, Now)
    PrintStatus "--- Läuft : " & TimeSerial(0, 0, LaufDauer) & " ---"
    Do
      SetMotor mMotor, ftiLinks
      Pause IntDauer * 1000
      SetMotor mMotor, ftiRechts
      Pause IntDauer * 1000
    Loop Until (DateDiff("s", Now, StartZeit) <= 0) OR Finish
    PrintStatus "--- Pausiert : " & TimeSerial(0, 0, PauseDauer) & " ---"
    SetMotor mMotor, ftiAus
    Pause PauseDauer * 1000
  End If
  PrintStatus "--- Nachtabschaltung : " & EinZeit & " - " & AusZeit & " ---"
  Pause SleepDauer * 1000
Loop Until Finish

Die VBScript Version für mscFish ist ähnlich ausgestattet, durch die unterschiedliche Umgebung ergeben sich aber einige Abweichungen. Die in VBScript vorhandenen Datums- und Zeit-Funktionen werden hier ausgiebig genutzt. Die Zeit für die Nachtabschaltung wird über die EA/EB-Felder eingegeben. Die in vollen Stunden eingegebene Zeit wird mit TimeSerial(h, m, s) in das interne Datumsformat gewandelt. Die Wochenschaltuhr B07 wird hier durch ein schlichtes If ersetzt. Impulsgeber B01 und Taktgeber B02 werden ausprogrammiert. Die StartZeit für die LaufZeit wird über DateAdd gewonnen. Die EndeZeit für die LaufZeit wird mit DateDiff bestimmt. Der jeweilige Betriebsstatus wird mit PrintStatus angezeigt. Während der Nachtabschaltung wird minutenweise pausiert. Die angezeigten Zeiten kann man auch noch über FormatDateTime  formatieren : FormatDateTime(EinZeit, vbShortTime) zeigt z.B. nur Stunden und Minuten an.

Die Version für VBScript - pur ist genauso aufgebaut wie die mscFish-Version. Interessant dabei ist, das sie vollständig "unsichtbar" ablaufen kann. Sie erscheint noch nicht einmal direkt im Task-Manager. Also eine Lösung, die man sehr schön nebenher auf dem Rechner laufen lassen kann.

Die Sources zu den Betriebsprogramme in VBScript, VBScript(mscFish-Version) und Siemens LOGO! finden sich in UhrBew.ZIP.