PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fenstersteuerung



leSasch
03.04.06, 02:12
Moinmoin,

ich möchte mit meinem Homeserver ein Fenster für eine bestimmte Zeit öffnen und danach wieder schließen.
Das ganze aber nur, wenn das Fenster nicht von vorneherein schon offen war.
Leider muss ich hierbei den aktuellen Stand des Fensters zu Beginn abprüfen, was zur Folge hat, dass sich der Baustein durch das Eingangsobjekt "Fenster öffnen bzw. offen", welches er u.U. setzt, selbst wieder aufruft, da er dieses ja auch als Eingang verwenden muss. Resultat davon ist ein Schaltaktor der ein maschinengewehrähnliches Geräusch von sich gibt .. :(
Habe schon alles mögliche versucht (Verzögerung, Filter, Und-Gatter) - scheint nicht ganz trivial zu sein - oder ich übersehe eine entscheidende Möglichkeit? :bahnhof:

Hat jemand sowas schon gemacht und evtl. einen Tipp für mich?

Nightbird
03.04.06, 11:02
Hallo leSasch,

du benutzt aber für das fenster schon einen Jalo- / Rolladenaktor ?

Wenn der Aktor eine Statusfunktion 1 Bit hast kannst diese für eine Verknüpfung verwenden, ansonsten die Gruppenadresse des Tasters, der das Fenster öffnet.

"Schaltaktor der ein maschinengewehrähnliches Geräusch von sich gibt"

In welchen zusammenhang besteht der Schaltaktor mit dem Fenster, kannst das mal genauer Beschreiben ?

leSasch
04.04.06, 10:45
Hi,

ja, ich verwende einen Rolladenaktor dafür.
Ein separates Statusobjekt hat der Aktor nicht - ich verwende dafür das normale Schaltobjekt, welches ich auch für die Auf-/Zu - Steuerung nutze.
Und eben genau hier ist das Problem - ich brauche ein und das selbe Objekt sowohl im Eingabe- als auch im Ausgabebereich der Logik. (Eingabe um zu prüfen ob das Fenster schon offen ist, Ausgabe um es ggf. zu bewegen)
D.h. der Baustein ruft sich selbst auf, sobald das Fenster bewegt werden soll.
Wie ist denn die Erfahrung - würde ein Reentranzbit Abhilfe schaffen? Wenn ja, wo soll ichs am besten setzen/löschen?

So viele Fragen... danke schonmal :-)
Sascha

Matthias Schmidt
04.04.06, 11:12
ich brauche ein und das selbe Objekt sowohl im Eingabe- als auch im Ausgabebereich der Logik. (Eingabe um zu prüfen ob das Fenster schon offen ist, Ausgabe um es ggf. zu bewegen)
D.h. der Baustein ruft sich selbst auf, sobald das Fenster bewegt werden soll.


Das Lesen eines Objektes führt NIEMALS alleine dadurch zu einem Schreibvorgang auf dem Bus, es sein denn, man macht etwas falsch :D . Einen Ausgang auf einen Eingang darfst du natürlich nicht auf den Eingang derselben Logik zurückführen. Da helfen auch Filter nichts.

Poste doch mal einen Screenshot deiner Logik.

Ich würde mal behaupten, deine Aufgabenstellung ist "trivial" (da war es wieder).

leSasch
04.04.06, 16:41
Hi,

Aufgabe ist sicherlich trivial.
Im Endeffekt will ich nichts anderes, als per Kommando für Zeitraum X die Fenster auf- und dann wieder zumachen - zumachen aber nur, wenn die Fenster zum Kommandozeitpunkt nicht schon geöffnet waren.

Anbei auch ein Screenshot von meiner "MG"-Logik .. die Relais klackern so dermassen schnell .. Wahnsinn .. :eek:

Gruß
Sascha

Matthias Schmidt
04.04.06, 16:46
Sicher eine Rückkoppelung. Kannst du mal die Eingangsboxen so verschieben, dass man auch sehen kann, was wohin führt? :rolleyes:

Alex Dobusch
05.04.06, 07:21
...hatte ich auch schon einmal :D
Mir half, statt einem UND eine Sperre zu verwenden.

leSasch
05.04.06, 11:42
Mir half, statt einem UND eine Sperre zu verwenden.
Das war die Lösung. :)
Habe den Baustein völlig übersehen - aber ein echt nützliches Teil, er startet eben keinen Durchlauf, wenn der Wert im Steuerobjekt geändert wird.
Das vermeidet mein Rekursionsproblem.

Super :) :Prost: