Rolladen-Taster mit Click_Mode auswerten

Begonnen von Juergen, 29. Oktober 2014, 07:53:13

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Juergen

Hallo zusammen,

bislang habe ich meine Rolladensteuerung so aufgebaut, das mit einem Taster jeweils ein Rolladen gesteuert werden kann. Nun möchte ich das erweitern, das durch Doppelklick bei einigen ausgewählten Tastern u.a. alle Rolladen im EG auf bzw. zu fahren. Programmiert habe ich das ganze mit den Oscat library's building und basic und mein System ist ein Beckhoff CX9010 mit Ethernet.

Geplant habe ich das folgendermaßen:

Auf die Eingänge des Blind_Input-Bausteins gehe ich nicht mehr direkt mit den Tastern sondern schalte den Baustein "Click_Mode" davor. Der Single-Ausgang geht dann über ein "Oder" auf den Blind_Input-Eingang. Das wäre dann der normale Fall eines Kurzdrucks und der Rollo fährt komplett zu.
Ebenfalls geht über den Oder-Baustein der Ausgang "Long" des Click_Mode-Bausteins. Leider konnte ich den Ausgang aus mir nicht erklärlichen Gründen direkt mit dem Oder verbinden, so dass ich eine Variable verwenden musste. Über diesen "Long"-Ausgang fährt dann der Rollo nur so lange, wie der Taster gedrückt wird.
Über den Ausgang "Double" des Click_Mode-Bausteins setze ich nun wieder eine Variable. Diese Variable wird dann für alle Rolläden verwendet, die im EG auf- bzw. zufahren sollen.

Allerdings bin ich nun am grübeln. Laut der Bausteinbeschreibung des Click_Mode-Bausteins werden die Ausgänge nur für einen Zyklus gesetzt. Heißt das, dass nur die Rolläden in den Bausteinen nach dem Baustein mit der Auswertung über die Doppelklick-Variable angesteuert werden und wenn der Zyklus wieder durch ist, wird "Doppelklick" auf "Low" gesetzt?

Im Anhang ist mal ein Screenshot, wie ich es im Moment als Versuch programmiert habe. Bevor ich nun das ganze in alle Bausteine einbinde, hätte ich gerne eure Meinung dazu, ob das so funktioniert.

Danke schon mal im Voraus,
Jürgen


[gelöscht durch Administrator]

mattsches

Hallo Jürgen,

wenn ein Baustein ein Signal nur für einen Zyklus bereitstellt, dann steht das nicht nur bis Zyklusende an und wird dann automatisch zurückgesetzt.

Es ist vielmehr so, dass das Signal von einem Aufruf bis zum nächsten Aufruf der Bausteininstanz ansteht. Es bekommen also alle anderen Bausteine davon etwas mit, vorausgesetzt, sie werden in derselben Task und unbedingt aufgerufen.

Es sollte also problemlos funktionieren. Ich würde vor dem Duplizieren der Lösung selbige halt noch an einem Beispiel testen (falls du das nicht ohnehin schon gemacht hast), um einen prinzipiellen Fehler auszuschließen.

Gruß,
mattsches

Juergen

Hallo mattsches,

Danke für die Info hinsichtlich des Zyklus.

Aus Zeitgründen konnte ich das ganze leider noch nicht testen.

Gruß,
Jürgen