OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: WAGO_SPS am 14. Januar 2015, 17:01:01

Titel: Blind_Input mit Single Click
Beitrag von: WAGO_SPS am 14. Januar 2015, 17:01:01
Hallo, ich hab ein Problem mit dem Baustein Blind_Input!

Ich habe diesen mit Blind_night und Blind_control_S für meine Rolladensteuerung programmiert.

Nun möchte ich die Funktion von Blind_night nutzen und die Rollos abend runter und morgens rauf fahren zu lassen.

Abends fahren meine Rollos je nach Sunset runter. Das funktioniert auch.
Nur dann hab ich das Problem das ich den Taster 3x drücken muss um den Rollo wieder händisch nach oben zu fahren.
Warum erkennt der Blind_input nicht, dass der Rollo sich unten befindet und fährt dann bei einem Tastenklick nach oben??
Der bekommt ja über die Rückführung von Blind_Control_S die aktuelle Position.
Kann ich das irgendwie einstellen.
Und im Automatikmodus fahren mir die Rollos morgens nicht hoch obwohl E_Day und E_Night True sind.

Woran liegt das?

Den Master_Mode habe ich auf False. ist das richtig oder falsch?
Anbei noch ein Screenshot.

Vielen Dank schon mal im vorraus für die Antworten.

Gruß Tobias






[gelöscht durch Administrator]
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 14. Januar 2015, 22:11:55
Hallo Tobias,

du hast vergessen zu erwähnen, dass du den BLIND_INPUT mit SINGLE_SWITCH=TRUE betreibst. Da hat er tatsächlich eine Lücke, POS wird nicht ausgewertet, um die von dir gewünschte Richtungsumkehr automatisch zu machen, wenn der Laden z. B. durch den BLIND_NIGHT geschlossen wurde. Dazu könnte man in den BLIND_INPUT eine Flankenerkennung auf POS <= 0 einbauen, die dann dir := TRUE setzt.

Damit der Laden morgens automatisch hochfährt, muss am BLIND_INPUT MASTER_MODE = TRUE sein.

Gruß,
mattsches
Titel: Re: Blind_Input mit Single Click
Beitrag von: WAGO_SPS am 15. Januar 2015, 18:16:50
Hallo mattsches,

ja ich meinte eigentlich nicht Single Click sonder Single_Switch.

Okay das mit dem Master_Mode = true probier ich aus, ob die Rolladen dann hoch gehen.
Mit dem anderen komm ich nicht klar, da muss ich ja den Baustein verändern oder?
Dazu sind meine Kenntnisse etwas zu wenig.
Kann man irgendwie aus dem einen Taster eine 2 taster Ansteuerung machen die dann die Stellung erkennt und dann gleich in die andere Richtung fährt, sodass ich den 2. Taster gwasi Softwaremäßig erstelle??
Wie könnte so was aussehen?

Gruß Tobias
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 15. Januar 2015, 21:17:11
Hängen ich mich gleich mal mit dran. Vielleicht versuchen ich die Tage mal 1-2 Sachen. Dann stelle ich nen modifizierten Baustein zur Verfügung.
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 15. Januar 2015, 21:45:22
Ihr könnte es ja mal mit der angehängten Variante probieren. Hab's nicht getestet, sollte aber funktionieren.

Bei REV_POS_OPEN/CLOSED einfach die Grenzwerte eintragen, ab denen die Bewegungsrichtung für den nächsten Tastendruck entsprechend gesetzt werden soll (z. B. REV_POS_CLOSED = 5 führt dazu, dass der nächste Tastendruck ein Öffnen bewirkt, wenn der Laden zuvor im Automatimodus auf POS <= 5 gefahren wurde).

Viel Spaß!

[gelöscht durch Administrator]
Titel: Re: Blind_Input mit Single Click
Beitrag von: WAGO_SPS am 16. Januar 2015, 15:43:40
Hallo Mattches,

also ich hab deinen Baustein mal eingefügt und getestet.
Als Grenze hab ich <5 für unten und >250 für oben eingegeben.

Funktioniert leider nicht.
Verhält sich wie der alte.
Erst beim 3. Klick fährt der Rollo nach oben.
Schade!

Gruß Tobias
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 20. Januar 2015, 20:09:18
Kunststück, F_ und R_TRIG verwechselt...   ::)

Probier's mal so:

rev_pos_open_fp : R_TRIG;
rev_pos_closed_fp : R_TRIG;

Rest bleibt gleich.

Gruß,
mattsches
Titel: Re: Blind_Input mit Single Click
Beitrag von: WAGO_SPS am 02. Februar 2015, 18:23:37
Hallo Mattsches,

also jetzt bin ich endlich mal zum testen gekommen.

Ja wenn ich das ändere F_ und R_TRIG, dann funktioniert es.
Vielen dank dafür!!

Wie kann ich denn den Baustein in der Bibilothek verändern?
Eigentlich müsste ich den Baustein doch nur in der Bibliothek ändern, dann sollte er das für das ganze Projekt übernehmen?
Ich habe jetzt im Moment deine Lösung als neuen Baustein eingefügt.

Wenn ich aber die Bibliothek oscat_building_100  öffnen will in Codesys, dann findet er folgende Bibliotheken nicht:

\\.psf\Home\Documents\TeamDrive Spaces\OSCAT_DEV\OSCAT_LIBRARY\oscat.lib 2.2.11 19:48:25

Online habe ich da auch nichts gefunden.
Was kann ich hier machen??


Dann hab ich noch ein Problem:
Wenn der Rollo automatisch runtergegangen ist und ich einen Handeingriff über Blind_Input mache,
dann geht er morgens nicht mehr automatisch hoch.
Wie kann man das ändern, dass er egal ob er automatisch oder per Hand geschlossen wird einfach am morgen einen Impuls zum hochfahren bekommt??



Gruß Tobias

Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 05. Februar 2015, 20:26:04
Hallo Tobias,

eigenartig, bei mir wird auf die oscat_basic_333.lib verwiesen. Und die findet er auch, da sie im Bibliotheks-Verzeichnis von Codesys (bzw. TwinCAT) liegt.

Normalerweise kannst du den Fehler beim Öffnen aber quittieren und dann im Bibliotheksmanager ggf. die oscat_basic (rot markiert) rausnehmen und die bei Dir installierte dafür rein.

Grundsätzlich handhabe ich das bei allerdings tatsächlich so, dass ich veränderte Bausteine unter neuem Namen im lokalen Projekt speichere. Die Bibliothek lasse ich unberührt. Grund: Dann habe ich im Zweifel immer noch die Originalversion greifbar. Wenn du einfach BLIND_INPUT mittels global suchen/ersetzen durch BLIND_INPUT_S ersetzt, wird überall der neue Baustein verwendet.

Wegen des automatischen Hochfahrens: Schau dir mal den BLIND_NIGHT an und darin den Kommentar in der zweiten Zeile. Dann sollte schnell klar sein, wie du das Verhalten wie gewünscht abändern kannst.

So ein bisschen Pfadfinderehrgeiz muss ja sein.  ;)

Gruß,
Mattsches
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 05. Februar 2015, 21:03:41
Ich werde den Baustein auch spätestens am WE testen. Aber wenn er bei Tobias klappt, nehme ich stark an, dass er hier auch funktioniert.

@Tobias Problem, das habe ich auch, aber aus Faulheit noch nicht gelöst, da noch andere Sachen auf dem Tisch liegen.

Liegt einfach daran, dass du durch den manuellen Eingriff an PO 0 (bzw. deinen angefahrenen Wert) anliegen hast. Der Blind_Night schleift morgens einfach PI nach PO durch. Da dann dort aber eben auch 0 anliegt (durch deinen Eingriff), fährt der Rollladen nicht.

Meine Idee war einfach, dass er nachts unabhängig davon immer an PO des Blind_Input 255 anlegt. Mir ist noch kein Szenario eingefallen, dass er morgens NICHT wieder hochgehen sollte. Wenn doch, könnte man dies mit nachgeschalteten Bausteinen (z.b. SET oder Security) steuern.
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 06. Februar 2015, 09:48:21
@NightWatcher: Du hast Recht, so trivial ist das gar nicht. Und die Zeile im BLIND_NIGHT, auf die ich verwiesen hatte, sollte besser drin bleiben. Wenn man den Rollladen nachts manuell hoch fährt, geht es sonst wieder runter, sobald der MANUAL_TIMEOUT rum ist. Und das möchte man in dem Fall wahrscheinlich nicht.

Knackpunkt ist der BLIND_INPUT mit seinem MASTER_MODE = TRUE. Dadurch gibt er an seinem PO immer die manuell angefahrene Position aus (was in vielen Situationen genau hilfreich ist, ich verwende ihn auch so). Letztlich muss dem BLIND_INPUT also beibringen, dass er bei Abschalten des BLIND_NIGHT seinen PO auf den gewünschten Wert setzt (vermutlich 255). Das ginge durch Abgreifen des STATUS hinter dem BLIND_NIGHT, Vergleich auf <> 141, positive Flanke (R_TRIG) und Verschalten des Ergebnisses an BLIND_INPUT.IN. An BLIND_INPUT.PI muss dann nur noch die gewünschte Position (=255).

Verwirrend? So:

(http://www.oscat.de/community/index.php?action=dlattach;topic=2297.0;attach=3086)

Sollte eigentlich funktionieren.

[gelöscht durch Administrator]
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 06. Februar 2015, 11:23:38
Ich vermute fast, dass es nicht so einfach ist. Er würde ja nun immer den In Triggern, wenn sich der Status ändert und nicht 141 ist.

Was passiert bei deiner Schaltung, wenn du über den Blind_Input S1 oder S2 betätigst?

EDIT: Habe deine Schaltung gerade noch mal verinnerlicht. Könnte doch klappen. Habe mal wieder zu weit gedacht. Ich baue es ein, damit man es unter Real Bedingungen feststellen kann :-)
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 06. Februar 2015, 13:37:00
Jau, du hast Recht, das wird wohl (leider) nicht so gehen.

Die Flankenerkennung ist nicht das Problem, der Vergleich auf <>141 bleibt true, auch wenn sich der Status von z. B. 132 auf 131 ändert. In dem Fall wird also keine positive Flanke erkannt, BLIND_INPUT.IN bleibt false. Aber der Handeingriff über S1/S2 führt ja selbst bereits dazu, dass der Status <>141 wird. Damit verpufft der Wert an BLIND_INPUT.PI. Man muss wohl doch tiefer eingreifen...
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 06. Februar 2015, 13:39:57
Zur Info,

Ich habe den Baustein BLIND_NIGHT erweitert. Teste den heute Nacht mal und gebe morgen (hoffentlich) Feedback.

Sollte es klappen, stelle ich Ihn hier für alle zur Verfügung.
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 10. Februar 2015, 16:26:40
@mattsches,

hast du deine Schaltung selbst mal getestet? Ich vermute, dass mein Task zu schnell läuft. Morgens geht der Rollladen nämlich NICHT hoch, nachdem ich nachts einen Manuellen Eingriff hatte.

Habe den Task nun mal auf 30ms gestellt. Mal sehen, ob das hilft.
Titel: Re: Blind_Input mit Single Click
Beitrag von: mattsches am 12. Februar 2015, 07:56:35
Nö, gestestet habe ich nicht, war ein Schnellschuss aus der Hüfte.

Deine Zykluszeit kann es m. E. nicht sein. Falls du die Flankenerkennung im Verdacht hast, die funktioniert auch bei 50 µs Zykluszeit. Ich glaube also nicht, dass dir die 30 ms was bringen.

Getestet hast du ja aber vermutlich deine veränderte Version des BLIND_NIGHT, oder? Dass meine Variante nicht so funktionieren wird, hatten wir ja schon "trocken" festgestellt.
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 12. Februar 2015, 13:13:40
Okay, danke. Werde weiter testen. Mir war nur wichtig zu wissen, ob du es getestet hattest :-)
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 02. März 2015, 10:14:24
So, für alle die Interesse an einem erweiterten Baustein hat, der einen Trigger am Ausgang hat, sobald die Rollläden hochgehen, habe ich diesen in den Anhang gepackt.

Beschaltet habe ich den Trigger mit dem IN vom Blind_Input. PI habe ich auf 255 gesetzt.

So wird der Rollladen morgens auch hochgefahren, wenn ich in der Nacht Manuell eingegriffen habe.

[gelöscht durch Administrator]
Titel: Re: Blind_Input mit Single Click
Beitrag von: p-wedel am 29. Juni 2015, 16:20:10
Hallo, ich bin neu hier und auch allgemein mit Programmieren noch recht jung, ich habe zwar schon einige Sachen zum laufen bekommen doch jetzt stehe ich irgendwie vor einem Fragezeichen... Meine Problematik ist folgende und auch sehr ähnlich wie schon vorhin beschrieben wurde... Ich möchte rolladen im ganzen Haus jeweils immer nur mit einem 1fach Taster fahren (hoch-stop-runter-stop), desweiteren will ich mit meiner Visualisierungen aber bei jedem rolladen die Möglichkeit haben entweder rauf oder runter zu fahren. Wenn ich mit der Visu aber eingegriffen habe soll mein Taster aber nicht da weiter machen wo er aufgehört hat sondern mit dem aktuellen Status der rolladen... Wer möchte mir dabei behilflich sein? Ich wäre sehr dankbar für jede Hilfe...
Gruß P. Wedel
Titel: Re: Blind_Input mit Single Click
Beitrag von: NightWatcher am 30. Juni 2015, 10:16:49
Die angefahrene Position dürfte doch egal sein, da dein Taster ja nur ein Signal zum Rauf oder Runterfahren gibt und keine direkte anzufahrende Position.
Titel: Re: Blind_Input mit Single Click
Beitrag von: p-wedel am 03. Juli 2015, 17:32:17
Ja schon, könnte mir da jemand ein Beispiel bereitstellen? Ich brauche es dringend um komme leider nicht weiter... Danke...
Titel: Re: Blind_Input mit Single Click
Beitrag von: dawrut am 03. Mai 2021, 09:51:21
So, für alle die Interesse an einem erweiterten Baustein hat, der einen Trigger am Ausgang hat, sobald die Rollläden hochgehen, habe ich diesen in den Anhang gepackt.

Beschaltet habe ich den Trigger mit dem IN vom Blind_Input. PI habe ich auf 255 gesetzt.

So wird der Rollladen morgens auch hochgefahren, wenn ich in der Nacht Manuell eingegriffen habe.

@NightWatcher Do you still have the updated BLIND_NIGHT block? Can you share it again?