Impuls bei Signaländerung

Phoenix918

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

irgendwie steh ich grad auf dem Schlauch, glaube ich, und benötige mal kurz eure Hilfe.
Hab heut schon verschiedene Möglichkeiten geprüft, aber irgendwie will es einfach nicht klappen.
Im Prinzip möchte ich mir einen Baustein basteln, der bei Signaländerung am Eingang einen kurzen Impuls an den Ausgang gibt.
Wichtig ist, dass der Ausgang nur bei Signaländerung reagiert (also 24V da/nicht da) und einen Impuls sendet (Ansteuerung Stromstoßrelais).
Ich habe das Ganze schon mit Flanken (R_TRIG und F_TRIG) probiert, aber es hat nicht hingehauen.

Meines Wissens, war das mit den Flanken doch so:
TRUE UND im Zyklus vorher FALSE = positive Flanke
FALSE UND im Zyklus vorher TRUE = negative Flanke

Wer kann mir hier weiterhelfen?
Vielen Dank vorab!

Grüße Phoenix918
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Flankenimpuls liegt nur ein Zyklus vor. Das reicht wahrscheinlich nicht für die Ansteuerung eines externen (?) Stromstoßrelais.

Da mußt Du wohl eine Impulsverlängerung verwenden. Zum testen kannst Du ja erst einmal ein Stromstoßrelais in Software bauen. Für das wie einfach im Forum suchen.

Gruß
 
Der Flankenimpuls liegt nur ein Zyklus vor. Das reicht wahrscheinlich nicht für die Ansteuerung eines externen (?) Stromstoßrelais.

Da mußt Du wohl eine Impulsverlängerung verwenden. Zum testen kannst Du ja erst einmal ein Stromstoßrelais in Software bauen. Für das wie einfach im Forum suchen.

Gruß
Vielen Dank für den Hinweis.
Genau, es geht hierbei um ein externes Stromstoßrelais.
Das mit den Zyklen hatte ich auch schon vermutet. Habe es dann mal mit Timern versucht, auch das führte leider nicht zum gewünschten Erfolg.
Bei einigen Versuchen hat es mit dem Einschalten wunderbar funktioniert, habe ich dann ein weiteres Netzwerk zum Ausschalten hinzugefügt, ging weder einschalten noch ausschalten. Deshalb bin ich mir sicher, ich habe irgendein Denkfehler bei der Sache.
Ich schaue mal ob ich das nochmal nachstellen kann, dann würde ich evtl. ein Ausschnitt aus der Programmierung veröffentlichen.

Danke für den Hinweis mit der Software. Ich schaue mal ob ich hiermit zurecht komme.

EDIT:
Hab es jetzt nochmal versucht ganz simpel darzustellen.
Wenn ich nur das Netzwerk 1 in meinem FB habe, wird bei positiver Flanke der Ausgang angesteuert. Das externe Stromstoßrelais schaltet auch.
Sobald ich Netzwerk 2 einfüge, funktioniert gar nichts mehr.
 

Anhänge

  • Flanken.PNG
    Flanken.PNG
    22 KB · Aufrufe: 24
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau Dir Dein Konstrukt mal genau an. Ich bin sicher Du kommst selber darauf was da nicht gehen kann.
Kleiner Tipp, es hängt damit zusammen wo die Variable xAusgang gesetzt wird, oder wie oft.
Ich habe es mir schon ein paar Mal durch den Kopf gehen lassen. Ich glaub ich mach ein Denkfehler.
Die Variable xAusgang wird ja dann erst nach Ablauf des Zyklus gesetzt.
Aber, wenn meine Variable xEingang im Laufe eines Zyklus eine positive Flanke aufweist, kann keine negative Flanke anliegen.
Das heißt, es müsste doch die Variable xAusgang gesetzt werden. Erst wenn die Variable xEingang negativ wird (kann dann nicht positiv sein) soll die Variable xAusgang nochmal gesetzt werden.
Also eigentlich dürfte sich das doch nicht aufheben oder?
 
Ich habe es mir schon ein paar Mal durch den Kopf gehen lassen. Ich glaub ich mach ein Denkfehler.
Die Variable xAusgang wird ja dann erst nach Ablauf des Zyklus gesetzt.
Aber, wenn meine Variable xEingang im Laufe eines Zyklus eine positive Flanke aufweist, kann keine negative Flanke anliegen.
Das heißt, es müsste doch die Variable xAusgang gesetzt werden. Erst wenn die Variable xEingang negativ wird (kann dann nicht positiv sein) soll die Variable xAusgang nochmal gesetzt werden.
Also eigentlich dürfte sich das doch nicht aufheben oder?
Wie kommst Du darauf, dass die Variable am Ende des Zyklus gesetzt wird? Eine Variable wird immer dann gesetzt, wenn sie gesetzt wird. Hört sich jetzt blöd an, ist aber so. Deine Flankenbausteine setzen die Variable auf TRUE, wenn sie eine Flanke erkennen, aber was machen die Bausteine denn, wenn keine Flanke vorliegt? Kleiner Tipp, die Antwort lautet nicht nichts und genau da ist Dein Problem.
 
Zuletzt bearbeitet:
Wie kommst Du darauf, dass die Variable am Ende des Zyklus gesetzt wird? Eine Variable wird immer dann gesetzt, wenn sie gesetzt wird. Hört sich jetzt blöd an, ist aber so. Deine Flankenbausteine setzen die Variable auf TRUE, wenn sie eine Flanke erkennen, aber was machen die Bausteine denn, wenn keine Flanke vorliegt? Kleiner Tipp, die Antwort lautet nicht nichts und genau da ist Dein Problem.
Danke nochmal für die schnelle Rückmeldung.
Aber irgendwie komm ich immernoch nicht wirklich drauf.
Wird die Variable xEingang gesetzt, dann wird die Variable xAusgang für einen Zyklus gesetzt.
Die 24V liegen weiterhin an der Variable xEingang an. Die Variable xAusgang sollte doch unverändert bleiben.
Wird nach einer Zeit X die 24V an der Variable xEingang entfernt, so hat man wiederrum den negativen Flankenwechsel.
Auch hier sollte doch dann für einen Zyklus die Variable xAusgang gesetzt werden. Sobald die 24V wieder anliegen, beginnt das Spiel von vorne.

BTW:
Bei Siemens kann ich mich erinnern, da gab es einen Impulsbaustein. Bei Wago hab ich sowas noch nicht gefunden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, dann etwas ausführlicher.
Angenommen Du hast eine positive Flanke, dann freut sich Dein Baustein R_TRIG_0 und er setzt die Variable xAusgang auf TRUE, übrigens nicht am Ende des Zyklus, sondern wenn der Baustein abgearbeitet wurde. Ist die Variable mit einem Ausgang verknüpft wird dieser allerdings tatsächlich am Ende des Zyklus gesetzt, aber nur der Ausgang, die Variable immer dann wenn Sie beschrieben wird.
Nun kommt Dein Baustein F_TRIG_0, da eine positive Flanke anliegt kann beim selben Eingang keine negative Flanke vorhanden sein. Ich hatte ja schon gefragt, was Du meinst, dass dieser Baustein in diesem Fall macht und das die Antwort nicht nichts ist, diesen Hinweis hast Du anscheinend ignoriert. Da der Baustein keine negative Flanke sieht setzt er die Variable auf FALSE, was, wie erwähnt, die Ursache für Dein Problem ist.
 
Zuletzt bearbeitet:
OK, dann etwas ausführlicher.
Angenommen Du hast eine positive Flanke, dann freut sich Dein Baustein R_TRIG_0 und er setzt die Variable xAusgang auf TRUE, übrigens nicht am Ende des Zyklus, sondern wenn der Baustein abgearbeitet wurde. Ist die Variable mit einem Ausgang verknüpft wird dieser allerdings tatsächlich am Ende des Zyklus gesetzt, aber nur der Ausgang, die Variable immer dann wenn Sie beschrieben wird.
Nun kommt Dein Baustein F_TRIG_0, da eine positive Flanke anliegt kann beim selben Eingang keine negative Flanke vorhanden sein. Ich hatte ja schon gefragt, was Du meinst, dass dieser Baustein in diesem Fall macht und das die Antwort nicht nichts ist, diesen Hinweis hast Du anscheinend ignoriert. Da der Baustein keine negative Flanke sieht setzt er die Variable auf FALSE, was, wie erwähnt, die Ursache für Dein Problem ist.
Ohjee, das war aber ne schwere Geburt...
Deinen Hinweis hatte ich nicht ignoriert, mir ist jedoch einfach nicht aufgefallen, was hier das Problem ist.
Vielen Dank für deine Unterstützung, ich habe jetzt verstanden an was es liegt.
Ich merke, dass ich mich teilweise auch in die Grundzüge einer SPS ersteinmal wieder eindenken muss.
Versuche mich seit gut 15 Jahren wieder an einer Programmierung. Da denkt man teilweise an die einfachsten Sachen nichtmehr.

Danke auch für den Tipp mit dem TP Baustein!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Versuche mich seit gut 15 Jahren wieder an einer Programmierung. Da denkt man teilweise an die einfachsten Sachen nichtmehr.
Das kenne ich. Ich komme ursprünglich aus der PC-Programmierung (C, C++), dort habe ich allerdings eher einfache Sachen gemacht. Dann das erste SPS Programm erstellt, was mir grandios um die Ohren flog weil Zähler überliefen. Aber ich hab die Zähler doch nur an einer Stelle erhöht. Da habe ich dann erstmal lernen müssen, dass eine SPS die Programme zyklisch ausführt.
 
Zurück
Oben