Taster rauf/runter für alle Ein/-Ausgänge

Praktikant321

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ich bins mal wieder .
In einem anderen Thread hatte ich schonmal danach gefragt , wie ich mein problem (1 Funktion bei dem der Taster beim erstenmal drücken die Jalousie hochfährt , beim zweitenmal drücken sie Stoppt. Das soll dynamisch ausgeführt werden)
lösen kann. (Habe insgesamt 15 Taster)
Ich habe es mit einem Funktionbaustein probiert. In der Schnittstelle wurde Eingang als Input und Ausgang als In/out da ich eine XOR brauche.
Zur veranschaulichung :
Pic1.jpgpic2.jpg
Die Jalousie wird nicht richtig geschalten. Im FB1 bleibt der Eingang immer auf True und wird nicht zurückgesetzt.
Ist es überhaupt der richtige Lösungsansatz für das was ich erreichen will?
LG
 
Der Merker M22.0 hat in einem FB nichts zu suchen. Soll das ein Flanken-Hilfsmerker sein? Dann nimm eine FB-interne (STAT) Bool-Variable.

Harald
 
Der EN des FB1 darf von außen NICHT beschaltet werden (das geht auch: permanent mit TRUE beschalten).

Harald

Aber wie soll ich dann diese Funktion aktivieren?
Ich will ja wenn E13.4 gedrückt wird , das E13.4 als Eingang und A13.4 im FB gesetzt wird.
Wenn ich dann E13.6 drücke soll das gleiche Spiel passieren
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du den EN nicht beschaltest, arbeitet der FB1 trotzdem, er wird dann immer aufgerufen.
Beschaltest Du ihn, wird der FB nur bearbeitet, wenn die Beschaltung 1-Signal führt.
 
OK, jetzt checke ich die Bilderchen, es soll ein FB werden.....
machs mal so, eben wie von PN/DP beschrieben.




Sorry. falsches Bildchen....
Das richtige kommt gleich


PS: wie kann man ein Bild wieder löschen oder tauschen?
 
Zuletzt bearbeitet:
Jap aber mit 30 verschiedenen Instanzdbs.
Einfacher wärs aber einen weiteren FB zu bauen in dem du 30 mal den fb1 aufrufst und diesen im Stat bereich des Aufrufenden FBs deklarierst. Dann brauchts nur noch einen Instanzdb (für den aufrufenden FB) Such nach Multiinstanz.

mfG René
 
Einfacher wärs aber einen weiteren FB zu bauen in dem du 30 mal den fb1 aufrufst
Einfacher wär's, wenn Du erst mal einen FB baust, in dem FB1 nur 2x aufgerufen wird. Nämlich 1x für hoch und einmal für runter. Dazu die gegenseitige Verriegelung, schließlich sollen ja nicht beide Richtungen gleichzeitig laufen, oder?

Und dann vollmi's Tip befolgen, allerdings mit dem neuen FB und nur noch 15 Aufrufe.
 
Erstmal den Richtungs-FB um den Taster für die Gegenrichtung erweitern und mit diesem den Motor für die Richtung immer zurücksetzen.
Da Du mit TIA arbeitest, wenn ich das dem anderen Thread richtig entnommen habe, mußt Du außerdem den Motor nicht wie bei borromeus als Out sondern als InOut deklarieren, sonst meckert TIA:





Dann im 2. FB den Richtungs-FB wie gesagt 2x aufrufen. Ich würde außerdem, wie gesagt, immer nochmal sicherheitshalber die Ausgänge gegeneinander verriegeln:







Schließlich weiter wie von vollmi vorgeschlagen.

(Das Obige ist jetzt mit TIA im Gegensatz zu MicroWin noch nicht getestet, aber es funktioniert ja immer auf die gleiche Weise.)
 
Der Merker M22.0 hat in einem FB nichts zu suchen. Soll das ein Flanken-Hilfsmerker sein? Dann nimm eine FB-interne (STAT) Bool-Variable.

Harald
Genau Richtig, da liegt wahrscheinlich auch der Fehler

Jap aber mit 30 verschiedenen Instanzdbs.
Einfacher wärs aber einen weiteren FB zu bauen in dem du 30 mal den fb1 aufrufst und diesen im Stat bereich des Aufrufenden FBs deklarierst. Dann brauchts nur noch einen Instanzdb (für den aufrufenden FB) Such nach Multiinstanz.

mfG René
Wenn ich einen FB habe, der 100% ausgetestet ist und funktioniert, ok.
Aber ich denke, dass das Problem im "kleinen" FB liegt.
Wenn der dann in Multiinstanz aufgerufen wird, und etwas nicht funzt, hat ein
Anfänger keine Chance etwas zu sehen/finden
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn der dann in Multiinstanz aufgerufen wird, und etwas nicht funzt, hat ein
Anfänger keine Chance etwas zu sehen/finden

Da gebe ich dir recht. Ich empfehle den Baustein erstmal fertig zum rennen zu bringen mit eigenem IDB.
Allerdings muss ich sagen in TIA wurde das Onlinedebugging erheblich einfacher aufgestellt auch für Multiinstanzen. Leider noch weit weg von der Ergonomie eines Codesys.

mfG René
 
Zurück
Oben