Eine Taste zwei Funktionen

settelma

Level-1
Beiträge
356
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

kann mir jemand ein Programmierbeispiel zu folgender Aufgabe geben.
S7 1200 oder S7 300 in FUB:
Eingang E0.0 kurz drücken = Funktion 1
Eingang E0.0 lang drücken = Funktion 2.

Sorry für so eine Frage

Gruß Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.... und Flankenabfrage. Sonst kommt Funktion 1 immer !! :ROFLMAO:

Ist aber immer problematisch wenn mir beim starten von Funktion 2 unterwegs einfällt, dass ich das gar nicht will dann gibts ungewollt Funktion 1

peter(R)
 
Zuletzt bearbeitet:
Ich hab dir das mal eingetippt.

Kurze Erklärung:

NW1: negative Flanke von E0.0
NW4: E0.0 auf SE-Timer, dieser schaltet nach 5 Sekunden (kannst du ändern) den M 1.0
NW2: Wenn neg. Flanke von E0.0 (also Taster loslassen) und nicht Timer (M1.0), dann Taster kurz betätigt --> M3.0
NW3: Wenn neg. Flanke von E0.0 und Timer (M1.0), dann Taster lang betätigt --> M3.1

Hinweis:
1. Die Aktion erfolgt immer erst bei Loslassen des Tasters.
2. Wenn du die bei Tasterdruck gewünschte Aktion 1 oder 2 ausgeführt hast, dann mußt du noch M3.0 nnd M3.1 zurücksetzen!
 

Anhänge

  • Schalter.jpg
    Schalter.jpg
    39,9 KB · Aufrufe: 137
Zuletzt bearbeitet:
ein beispiel wäre so:

Funktion:
Taste < 500ms drücken, loslassen -> Merker mKurzGedrückt wird gesetzt
Taste > 500ms drücken, loslassen -> Merker mLangGedrückt wird gesetzt


Beispiel (das ist keine Code, nur die Idee):

L 500ms
U eTaster
SV T1

U T1
S mZeitAbgelaufen

U eTaster
U FallendeFlanke
UN mZeitAbgelaufen
S mKurzGedrückt

U eTaster
U FallendeFlanke
U mZeitAbgelaufen
S mLangGedrückt

UN eTaster
R mZeitAbgelaufen

O eResetTaster
O eAusTaster
O mStoerung
R mKurzGedrückt
R mLangGedrückt

---
Variante als Impuls:

U eTaster
U FallendeFlanke
UN mZeitAbgelaufen
= mKurzGedrückt

---
nicht getestet ! Abgeschrieben vom S7 200 Prog.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.... und Flankenabfrage. Sonst kommt Funktion 1 immer !! :ROFLMAO:

Ist aber immer problematisch wenn mir beim starten von Funktion 2 unterwegs einfällt, dass ich das gar nicht will dann gibts ungewollt Funktion 1

peter(R)

Da würde nur noch ein 2 Timer helfen, der dann bei gaaaaaanz langem Drücken des Tasters gar keine der beiden Aktionen auslöst!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ergibt aber das gleiche Problem, wenn ich nach dem ersten Drücken meine Meinung ändere und KEINE Funktion will. Ausser natürlich gaaanz lang drücken dadurch reset ( Bedienungsanleitung nicht vergessen ) .

peter(R)
 
Ich hab dir das mal eingetippt.

Kurze Erklärung:

NW1: negative Flanke von E0.0
NW4: E0.0 auf SE-Timer, dieser schaltet nach 5 Sekunden (kannst du ändern) den M 1.0
NW2: Wenn neg. Flanke von E0.0 (also Taster loslassen) und nicht Timer (M1.0), dann Taster kurz betätigt --> M3.0
NW3: Wenn neg. Flanke von E0.0 und Timer (M1.0), dann Taster lang betätigt --> M3.1

Hinweis:
1. Die Aktion erfolgt immer erst bei Loslassen des Tasters.
2. Wenn du die bei Tasterdruck gewünschte Aktion 1 oder 2 ausgeführt hast, dann mußt du noch M3.0 nnd M3.1 zurücksetzen!



Danke schon mal.
Schaut gut aus.
Jetzt hab ich noch das problem das ich wenn ich Funktion 1 will, die Funktion 2 rücksetzen will falls diese aktiv ist und umgekehrt. Wie bastel ich mir das noch rein?
 
Eine Möglichkeit wäre:

Nach NW1 einfügen: wenn E0.0 = True, dann Reset M3.0 und Reset M3.1.

So wird immer bei Betätigen des Tasters sowohl M3.0 als auch M3.1 False. Mit Loslassen des Tasters wird dann entweder M3.0 oder M3.1 wieder gesetzt und bleibt True, bis der Taster erneut betätigt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier mal noch eine 1-NW-Version (;)) mit dem Löschen von M3.0 und M3.1, Wenn E 0.0 = True!

attachment.php


Aso 'tschuldigung: FUP:

attachment.php
 

Anhänge

  • Schalter2.jpg
    Schalter2.jpg
    25,2 KB · Aufrufe: 130
  • Schalter3.jpg
    Schalter3.jpg
    29,4 KB · Aufrufe: 134
Zuletzt bearbeitet:
Hallo,
also in der Bustechnik (wo das m.E. herkommt) wird das so gemacht, das eine Auswertung erst erfolgt, wenn die vorher definierte Zeitspanne "lang" abgelaufen ist. Man könnte es aber auch so machen, dass der Timerr "lang" nicht erreicht wurde, aber ein Loslassen erfolgt, das Signal "kurz" als Impuls mit definierter Länge gegeben wird.

Gruß
Larry
 
Ich hätt mir das mit ner Pos Flanke von E0.0 gedacht. Also eigentlich fast so wie du
Bei meiner Anwendung ist es egal ob dann auch beide rückgesetzt werden.
So müste es funtionieren.

Danke vielmals

Gruß Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hätt mir das mit ner Pos Flanke von E0.0 gedacht. Also eigentlich fast so wie du
Bei meiner Anwendung ist es egal ob dann auch beide rückgesetzt werden.
So müste es funtionieren.

Danke vielmals

Gruß Markus

Pos. Flanke wird nicht gehen, denn du brauchst ja noch die Entscheidung, ob der Impuls kurz oder lang war und das geht erst zu entscheiden, wenn der Taster losgelassen wird oder zumindest die Zeit für "kurz" abgelaufen ist!
 
Zurück
Oben