BLIND_INPUT, Automatik und manueller Betrieb?

Begonnen von wolfi3300, 16. Dezember 2007, 18:48:14

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 3 Gäste betrachten dieses Thema.

hugo

versuchs mal mit dieser

[gelöscht durch Administrator]

wolfi3300

#46
Zitat von: hugo in 30. Dezember 2007, 14:37:28
versuchs mal mit dieser

ja, mit der ging's jetzt sofort. Habe die Config auf ein Timeout von 25sek. gesetzt, hat dann brav den Ausgangswert zurückgesetzt und ist dann auch nach einiger Zeit in den Automatikmodus gefallen. Suppa! :-)

Wenn wir die BLIND_NIGHT jetzt auch noch irgendwie hinbekommen, geb ich nen Sekt aus :-)

Nachtrag: Evtl. könnte man BLIND_INPUT auch insofern eine Eigenintelligenz verpassen indem man zBsp. die Werte für Rauf und Runter automatisch nach zBsp. 2 Sekunden zurücksetzt, wenn sich die Eingangswerte für die Pos und den Winkel nicht mehr geändert haben. - Quasi die Jalousie in Endstellung ist.

hugo

ja das mit pos und ang haben wir absichtlich nicht gemacht weil blind_input ja auch unabhängig vom den anderen blind modulen funktionieren soll und die configurierbare zeit lässt auch einstellungen zu wie z.b. 2sekunden runter oder rauf was z.b. halber jalousie entsprechen könnte

sende mir dein letztes projekt wo blind night nicht geht. danns chau ich mir das als nächstes an

wolfi3300

Hier der aktuelle Stand.

Was mir noch aufgefallen ist: Wenn ich beim Automatikeingang "in" bei BLIND_INPUT HIGH anlege, nachdem ich vorher die Jalousie hochgefahren habe und das Ding auf Status 134 war, springt der Status auf 131 und die Jalousie fährt in Pos 0/0, also wieder runter. Das erscheint mir jetzt unter Tag nicht logisch, aber liegt vielleicht auch noch daran, dass die BLIND_NIGHT noch nicht so richtig will?

[gelöscht durch Administrator]

wolfi3300

Zitat von: hugo in 30. Dezember 2007, 15:08:39
ja das mit pos und ang haben wir absichtlich nicht gemacht weil blind_input ja auch unabhängig vom den anderen blind modulen funktionieren soll und die configurierbare zeit lässt auch einstellungen zu wie z.b. 2sekunden runter oder rauf was z.b. halber jalousie entsprechen könnte

Könnte aber evtl. so Funktionieren:

IF AutoOff = True dann checken if Position = 0 oder 255 und falls Ausgang > 2sek noch Aktiv auf Falsch ziehen. Dann hätte man eine Automatische Abschaltung, wo man sich nicht um das Setzen der Timeoutvariable kümmern muß.

hugo

IF in THEN
   QU := TRUE;
   QD := TRUE;
   po := pi;
   ao := ai;
   status := 131;

der in input dient lediglich dazu die jalousiesteuerung auf auto zu stellen und die pos und winkel auf den am eingang anliegenden wert pi und ai zu setzen.
der eingang in ist im normalen gebrauch nicht zu nutzen. in überschreibt jeglichen anderen mode und setzt per software einen festenm winkel und position.
der winkel und die position werden nur durch die eingänge pi und ai definiert.
wozu willst du den in überhaput benutzen? im normalen gebvrauch sollte er unbenutzt bleiben.

hugo

IF AutoOff = True dann checken if Position = 0 oder 255 und falls Ausgang > 2sek noch Aktiv auf Falsch ziehen. Dann hätte man eine Automatische Abschaltung, wo man sich nicht um das Setzen der Timeoutvariable kümmern muß.

das macxhen wir absichtlich nicht weil nicht überall der winkel und die position zur verfügung steht.
wie gesagt blind_input muss auch in anderen umgebungen funktionieren.

hugo

Was mir noch aufgefallen ist: Wenn ich beim Automatikeingang "in" bei BLIND_INPUT HIGH anlege, nachdem ich vorher die Jalousie hochgefahren habe und das Ding auf Status 134 war, springt der Status auf 131 und die Jalousie fährt in Pos 0/0, also wieder runter. Das erscheint mir jetzt unter Tag nicht logisch, aber liegt vielleicht auch noch daran, dass die BLIND_NIGHT noch nicht so richtig will?

ja den du hast wahrscheinlich an den eingängen pi und ai die werte 0 anliegen.
in dient lediglich dazu alle anderen modi zu überschreiben und die position und den winkel auf die an pi und ai anliegenden werte zu setzen.

was willst du eigentlich mit in bewirken???

wolfi3300

Zitat von: hugo in 30. Dezember 2007, 18:08:57
IF AutoOff = True dann checken if Position = 0 oder 255 und falls Ausgang > 2sek noch Aktiv auf Falsch ziehen. Dann hätte man eine Automatische Abschaltung, wo man sich nicht um das Setzen der Timeoutvariable kümmern muß.

das macxhen wir absichtlich nicht weil nicht überall der winkel und die position zur verfügung steht.
wie gesagt blind_input muss auch in anderen umgebungen funktionieren.

Ja eh, deswegen kann man AutoOff ja auf TRUE setzen, wenn man die Funktion will. Wenns FALSE ist, dann ist alles beim Alten  ;)

wolfi3300

Zitat von: hugo in 30. Dezember 2007, 18:10:47
was willst du eigentlich mit in bewirken???

Also eigentlich ist die Portbelegung ein Verzweiflungsversuch aus meinen Troubles mit der nichtzurückfallenden Automatikfunktion. Wo ich dachte ich kann den Automatikmodus forcen. Nachdem der Bug aber jetzt eh behoben ist, ist der Eingang für mich fürs erste eh nicht mehr notwendig. Aber gut zu wissen, dass er dann die Position und Winkel der Lamellen weiterschickt. Das war mir so noch nicht klar!

wolfi3300

Es klappt !!!

Ich weiß nicht warum, aber jetzt geht auch plötzlich die BLIND_NIGHT!? - Ich starte jetzt die SPS neu. Am Ausgang von BLIND_INPUT steht Status 134 an, auch nach BLIND_SHADE. Nach BLIND_NIGHT kommt jetzt plötzlich 141, - das war vorher nie. Auch die Variable "night" ist jetzt korrekt auf TRUE, die war früher immer FALSE.

Wenn ich mit dem Datum rumspiele fährt er dann nach 2 Tagen korrekt rauf und runter.

Keine Ahnung was jetzt anders ist, mal schaun ob's so bleibt :-)

hugo

das ist schon klar der blind_night liest den status vom eingang und wenn er erkennt das ein wert geforced wird durch in = true verweigert er seine funktion das ist auch so gewollt und beabsichtigt.

wolfi3300

#57
Irgendwie ist mir die Logik hinter BLIND_NIGHT noch immer nicht klar. Ich habe die Steuerung gestern unter Tags neu gestartet. Die Steuerung ist somit mit Jalousienpostion 0/0 (Nachtstellung) weggefahren. Ich habe dann keine Jalousie betätigt, da ja sonst das Ding wieder ewig braucht, bis es mal wieder was selber macht.

Eigentlich hätte ich erwartet, dass nachdem ich in der Nacht keine Jalousie betätigt habe, diese am Morgen hochfahren. Leider nicht. Die Jalousien sind noch immer unverändert in Position 0/0, Status 134 wird auch nach BLIND_NIGHT noch durchgeschliffen.

Die Logik mit dem "blos nicht anrühren" da das Ding sonst irgendwann erst nach einigen Tagen was automatisch macht, macht mich nicht glücklich.

Angenommen ich starte unter Tags die Steuerung durch, dann ist die Jalousienposition automatisch unten. Ich muss sie dann also händisch hochfahren. Das bedeutet aber schon wieder, dass er am Abend nicht automatisch runterfährt. - Somit muß ich das am Abend wieder selber machen. Nachdem ich am Abend die Jalousie händisch heruntergefahren habe, fährt er am nächsten Morgen nicht automatisch hoch. So zieht sich das dann auf immer und ewig dahin?  ???

hugo

hi die logic blos nicht anrühren ist auch nicht so und die existiert auch nicht so.

blind night funktioniert folgendermassen:

1. die eingänge up und dn müssen beide high sein (automatik modus)

2. E_night und E_day müssen beide true sein (e_night um abends runterzufahren und e_day um morgens hoch zu fahren)

3. dtin, sunrise und sunset geben vor wann hoch bzw runtergefahren werden soll.
hierbei werden natürlich noch sunrise_offset und sunset_offset berücksichtigt.

4. night_position und night_angle geben vor wo nachts hingefahren werden soll.

5. der von dir angesprochene automatismus erfüllt lediglich folgende funktion:
nachts, wenn der baustein aktiv ist kann er durch eine manuelle betätigung unterbrochen werden. wenn man nachts (aber nur während der baustein aktiv ist und die jalousie auch runtergefahren hat) dann und auch nur dann kann man mit einer manuellen betätigung den nachtmodus für die aktuelle nacht beenden.
dies ist auch nötig und sinnvoll weil ja sonst man nachts einfach nicht mehr eingreifen könnte und nach dem manual timeout von blind_input der blind_night wieder beschatten würde was man ja offensichtlich durch den manuellen eingriff nicht wollte.

bitte prüfe ob deine eingänge und parameter wie ober beschrieben stimmen.
bitte lösche und reloade mal deine blind_bausteine komplett.
bitte spiele nicht mit der zeit dtin herum. das kann dein verhalten erklären, denn die zeit darf nicht rückwärts laufen sonst kommt der baustein durcheinander weil er sich ja merkt wann die letzte nacht war.
würdest du z.b. einmal dtin auf dem 20.1.2008 gesetzt haben und dann wieder zurück würde der baustein bis zum 20.1 nicht mehr funktionieren.
bei mir und auch ein paar anderen tut der baustein wunderbar seinen dienst

wolfi3300

Hallo!
Ja die Zustände, wie du sie bei 1-5 beschrieben hast sind bei mir so. Mit dtin habe ich auch nicht herumexperimentiert. Die Steuerung habe ich seit 2 Tagen nicht angerührt. Ich habe nur die Jalousien beobachtet und gewartet ob die mal hochfahren. Das haben Sie bis jetzt nicht gemacht. Am BLIND_NIGHT liegt Status 134 an. Bin mal gespannt, ob die jetzt morgen früh endlich mal hochfahren.

Was meinste du mit löschen und reloaden der BLIND_-Bausteine? Das kommt doch einem kompletten Neuaufbau meines Funktionsblocks gleich oder?