BLIND_INPUT, Automatik und manueller Betrieb?

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

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 7 Gäste betrachten dieses Thema.

hugo

nein ein komplettes neuladen macht immer nur ein laden der veränderten bausteine, dabei werden aber werte erhalten.

was meinst du eigentlich mit hochfahren? fährt der baustein denn bei der abenddämmerung automatisch runter?

lösche einfach mal alles in deiner steuerung und lade alles komplett neu

mach unter codesys mal projekt alles bereinigen

und unter online reset kalt und reset ursprung

dann compile alles neu und lade alles neu.

wann und wie fährt er denn die jalousie herunter?

wolfi3300

#61
Ok, das mit dem Projekt bereinigen, resetieren, etc. werde ich dann gleich mal machen.

Ich hätte gehofft, dass er heute morgen zumindest mal wieder in Position 255 fährt. Leider auch nicht. Das einzige was sich ändert ist der Status nach Blind_Night. Unter Tags ist er auf 134, in der Nacht auf 141. Ansonsten tut das Ding gar nichts.

Wenn ich die Steuerung neu starte, stehen die Werte ja auf 0/0 - Da bleiben Sie immer. Mit Rauffahren meine ich, dass er mal auf Position 255/255 schaltet.

Werde mal alles löschen und dann nochmal versuchen  :-\

Ich hänge noch ein Statusbild an, vielleicht fällt dir ja was auf...

[gelöscht durch Administrator]

wolfi3300

So, das nächste Phänomen. Alles bereinigt, neu kompiliert, Steuerung durchgeputzt und neu eingespielt.

Nach dem Start glaubt jetzt BLIND_NIGHT, dass Nacht ist?? Die interne Variable night ist True, obwohl das wie aus der Anlage ersichtlich gar nicht stimmen kann. Mir ist auch aufgefallen, dass last_night auf einem Datum von 1970 steht, weiß nicht ob das dann auch in weiterer Folge noch irgendeine Auswirkung haben kann.

Hier die Grafik im Anhang:

[gelöscht durch Administrator]

hugo

last night steht richtig auf 1.1.1970 das ist jedes datum der sps wenn es intern auf null steht also noch nie beschrieben wurde.

dein blind_night scheint das richtige zu tun.

er fährt die nacht position an die bei dir 0/0 ist. am morgen benedet er die nachtbeschattung und leitet die an den eingängen pi und ai anliegende position wieder weiter.

da das aber auch 0/0 ist passiert erst einmal gar nichts.

blind_night erzwingt eine nachtbeschattung, aber keine tagstellung.
das deine letzte stellung 0/0 war bleibt sie das auch nachdem blind_night die nacht beendet hat.

wir sollten uns also damit befassen warum blkindnights eingänge ai und pi auf 0/0 stehen.

sende mir mal das aktuelle projekt.

hugo

habe mir das nochmal angesehen, ich bin mir ziemlich sicher das blind_night perfekt funktioniert.

du hast wahrscheinlich die position der jalousie auf 0/0 bevor blind_night aktiv wird.

die funktion von blind night ist keine öffnen bei tag sondern ein schliessen by night.

das bedeutet, das blind night am abend von der in dem augenblich wo night auf true geht anliegenden position x/y auf z.b. 0/0 schaltet und am morgen wieder zurück auf x/y

da x/y bei dir auf 0/0 ist bleibt die jalousie natuerlich dort wo sie ist nämlich auf 0/0.

dies ist absolut richtig und nötig, denn sonst würden vorgeschaltete module bei tag und nacht überschrieben werden und nicht mehr richtig funktionieren.


wolfi3300

Hallo Hugo!

Ah das mit dem "nicht automatisch hochfahren" war mir bis jetzt noch nicht bewusst! Ich dachte am Morgen fährt das Ding auf alle Fälle die Jalousien hoch. Wenn es nur in die letzte Position fährt, wo es vor der Nacht war ist das klar, dass sich nichts tut, wenn da auf 0/0 war.

Ich habe die Jalousie jetzt mal hochgefahren. Mal schauen was passiert!

Danke für deine Bemühungen!
Opossum

wolfi3300

Die Jalousienroutinen machen mich fertig *G*

Steuerung neu gestartet, heute Nachmittag die Jalousien hochgefahren, damit ich sehe, ob die von BLIND_NIGHT heruntergefahren werden. Die werden jetzt vermutlich deswegen wieder nicht heruntergefahren, weil ich am Nachmittag hochgefahren bin, oder warum reagiert das Ding nie?

Wie soll ich hier endlich einen vernünftigen Zustand zusammen bekommen, wo die Dinger am Abend automatisch runter und am Morgen hochfahren?

Status um 16:51, also nach Sonnenuntergang: 255/255, - also oben.

gravieren

Hi

"File attachen"


Antwort drücken.
"Unten" findest du "Erweiterte Optionen"
Datei anhangen --> Durchsuchen...



[gelöscht durch Administrator]

wolfi3300

Ich hänge mein aktuelles Projekt hier mal an:


[gelöscht durch Administrator]

hugo

folgende anmerkungen:

1. bitte bitte lösche den eingang J_automatik, ich weis zwar nicht was du dort drauf legst, jedoch ohne die eingänge pi und ai macht der keinerlei sinn.
wie es im manual deutlich steht wird dieser eingang nur dazu benutzt einen fixen wert in die jalousiesteuerung zu schreiben. den wert der an pi und ai anliegt.
wenn also wie bei dir nichts an pi und ai anliegt darf dieser eingang auch gar nicht beschaltet werden.
jedes signal an diesem pin wird jegliche funktion der jalousiesteuerung überschreiben.
bitte bitte lass diesen pin offen er hat für deine anwendung keinerlei bedeutung.

2. nun zu deinem projekt.
- ich lade dein projekt es lässt sich problemlos übersetzen.
- vor dem start setzt ich utc auf 1.1.1970 12:00 damit ich am tag beginne genau wie du.
- ich fahre mit t_j_wz_terasse_auf die jalousie herauf auf 255/255
- nun muss ich abwarten bis dein manual timeout im blind_input abgelaufen ist und der auto modus wieder erlaubt wird
- ich stelle nun die uhrzeit auf 3.1.1970 um 16:00 (der 1.1.1970 ist der beginn der zeitrechnung der sps darum wird der 1.1.1970 nicht funktionieren)
- danach sagt blind_night 141 und sendet die jalousie nach unten
- nun setzte ich meine zeit auf den 4.1.10:00 und die jalousie fährt wunderbar wieder nach oben.

bitte beobachte mal deine variable last_night und last_day
die merken sich ob dereits einmal am tag der sonnenuntergang erreicht war, bzw der sonnenaufgang.
wenn dies der fall ist wird es kein 2tes mal mehr funktionieren. das ist absicht, damit ein wildes hin und herfahren bei manuellem eingriff verhindert wird.

vorsicht mit dem 1.1.1970 der wird nie gehen weil ein datum in der sps immer am 1.1.1970 beginnt.
damit ist auch wenn nie in die variable last_night geschrieben wurde dort 1.1.1970 drin.

ich kann keinen fehler in deinem projekt finden, bei mir tut es einwandfrei



hugo

zu deinem bild heute vormittag gif1.

dort ist in den variablen klar zu erkennen das der baustein den sonnenaufgang erkannt hat und die eingänge pi und ai auf po und ao geschaltet hat.
da beide eingänge auf 0 warenb bleiben logischerweise die ausgänge auf 0

hugo

zu deinem bild heute 6.1.

das night auf true ist und nicht gelöscht wird kann ich mir nur dadurch erklären das er glaubt das am 6.1. bereits einmal der sonnenuntergang erreicht war das wird in last_night 6.1. belegt.
er prüft den sonnenaufgang erst wieder am nächsten tag weil ja logischweise es gar nicht vorkommen kann das am 6.1. sonnenuntergang ist und danach am 6.1. sonnenaufgang.
der nächste sonnenaqufgang muss zwangsläufig am 7.1 sein.
ich denke das dieser zustand durch rumprobieren entstanden ist.

die steuerung wertet zeitlichge abläufe aus, sie wird also zwangsläufig auf zeiten empfindlich reagieren.
der zustand von gif2 kann eigentlich nur dadurch entstanden sein das die steuerung vor sonnenaufgang am 6.1. eingeschaltet wurde, oder zumindest dieses glaubt.
dadurch wird direkt nach dem einschalten der sonnenuntergang erkannt und beschattet. der aufgang würde aber dann erst am nächsten tag geprüft werden.
in diesem fall sollte einfach eimal von hand hochgefahren werden und am nächasten tag würde es wieder ganz normal funktionieren.

wolfi3300

Zitat von: hugo in 06. Januar 2008, 21:25:08
das night auf true ist und nicht gelöscht wird kann ich mir nur dadurch erklären das er glaubt das am 6.1. bereits einmal der sonnenuntergang erreicht war das wird in last_night 6.1. belegt.
er prüft den sonnenaufgang erst wieder am nächsten tag weil ja logischweise es gar nicht vorkommen kann das am 6.1. sonnenuntergang ist und danach am 6.1. sonnenaufgang.
der nächste sonnenaqufgang muss zwangsläufig am 7.1 sein.
ich denke das dieser zustand durch rumprobieren entstanden ist.

Ich vermute es liegt daran, dass der Uhrzeit-Task nur alle 5 Sekunden angestoßen wird. Ich hatte da nichts rumprobiert, sondern der Zustand war sofort nach starten der Steuerung.

Evtl. lag die korrekte Uhrzeit noch nicht am Eingang an und dann wird die Routine Tag/Nacht nicht mehr überprüft?

hugo

das ist durchaus möglich
bitte stelle sicher das die uhrzeit am eingang immer ok ist.
ich weis das beckhoff bibliotheken hier probleme machen.
am besten ist wenn du die uhrzeit vorher nochmals prüfst und erst freischaltest wenn sie ok ist.

wolfi3300

naja, da bin ich mir nicht ganz klar, wie ich das realisieren soll. Die Uhrzeit und Sonnenstandsberechnungen laufen in einem 5 Sek. Task, weil ja die Berechnungen nicht ständig gemacht werden müssen.

Die Jalousienroutinen werden im PRC_PRG aufgerufen, das vermutlich sofort wegfährt. Da kanns natürlich sein, dass die ersten 5sek. keine gültige Uhrzeit da ist oder?

Im Prinzip hat das ganze eh scheinbar nur beim Wegfahren der SPS Relevanz. Nach einem Tag ists eh OK. Nachdem ich jetzt auch weiß, dass die BLIND_NIGHT Abends nur runterfährt und Tags darauf wieder in die Stellung zuvor ist natürlich auch vieles klar geworden :-)