![]() |
[SPS/AWL] Ausgang über einen Taster invertieren
Hi zusammen,
ich möchte über einen Taster einen Ausgang invertieren. D.h. ich muss die steigende Flanke auswerten. Das habe ich mittels AWL (Anweisungsliste) nach langem Probieren umgesetzt und funktioniert auch. Aber mir kommt es sehr umständlich vor, da ich 3 Merkerbits brauche. IM folgenden ein funktionierender Code. Wobei ich nicht weiß, ob sich hier jemand mit AWL auskennt. :gruebel:
Code:
Kann man das vereinfachen?
// steigende Flanke des Tasters ermitteln
U "Taster" // Eingang FP "Tastersignal" // Merker 1 = "Taster_Pos_Flanke" // Merker 2 // Lampe ausschalten U "Taster_Pos_Flanke" U "Lampe" // Ausgang R "Lampe_Neu" // Merker 3 // Lampe einschalten U "Taster_Pos_Flanke" UN "Lampe" S "Lampe_Neu" // Selbsthaltung, da positive Flanke im nächsten Zyklus nicht mehr gesetzt U "Lampe" S "Lampe" // Neuen Status setzen U "Lampe_Neu" = "Lampe" Grüße, Matze |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Hallo,
bevor ich mir dein Merker-Gestrüb näher anschaue, was genau willst du machen? Kannst du das mal etwas näher beschreiben? |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Hallo Helmi,
ich kann's für dich auch anders formulieren ja. ;) Gegeben sei ein Taster. D.h. solange man den Taster drückt, ist das Eingangssignal von diesem "high", lässt man ihn los, ist es "low". Ausgangssituation: - Eingang (Taster) = "low" - Ausgang (Lampe) = "low" Drückt man nun einmal auf den Taster, soll der Ausgang invertiert, d.h. die Lampe eingeschaltet werden: Ausgang (Lampe) = "high" Drückt man den Taster ein weiteres Mal, dann soll der Ausgang erneut invertiert bzw. die Lampe ausgeschaltet werden: Ausgang (Lampe) = "low" usw. Ich hoffe, nun war's verständlicher. Grüße, Matze |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Also nix anderes als einer Astabiler Multivibrator
Wie wärs mit diesem: A0.0 = Lampe E0.0 = Taster M0.0 = Merker
Code:
U E0.0
UN A0.0 S M0.0 U E0.0 U A0.0 R M0.0 U M0.0 = A0.0 |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Hm joah, das kann man glaub so sagen.
|
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Ich hab oben mal schnell nen AWL-Code hingeschrieben
(wenn ich jetzt keinen Fehler gemacht habe, meine KOB-Zeichnung ins AWL umzuschreiben) |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Hallo Helmi,
meinst du KOP mit "P" (Kontaktplan)? "KOB" sagt mir nichts. Deine AWL funktioniert nicht. Die Lampe "flackert", solange man den Taster gedrückt hält und wenn man ihn los lässt, bleibt die Lampe an. Die Flankenauswertung muss schon hinein, sonst geht es nicht. ;) Grüße, Matze |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Zitat:
Funktionieren tuts schon - du hast ja nen Schalter, keinen Taster - sprich - du bleibst (normalerweise) nicht ständig drauf Das heisst, wenn du kurz drauf drückst, dann geht die LED an, wenn du danach wieder draufdrückst, dann geht die LED aus. (habs grad bei meiner Test-S7-300 getestet) Wenn du es aber auch willst, wenn du ständig auf dem Taster bleibst, dann so:
Code:
Leider brauchst jetzt wieder 3 Merker, da die Flanke und auch der Zwischenmerker benötigt werden
U E0.0
FP M0.1 = M0.2 U M0.2 UN A0.0 S M0.0 U M0.2 U A0.0 R M0.0 U M0.0 = A0.0 |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Zitat:
Zitat:
Es ist etwas kürzer als meine erste Lösung. Vielleicht kommt man auch nicht um die 3 Merker herum, mir kommt's für die doch eher banale Aufgabe jedoch viel vor. Aber vielen Dank! :thumb: Die DP-Mitglieder überraschen mich immer wieder. E-Technik-Fragen werden beantwortet, SPS-Fragen, ... :) Grüße, Matze Edit: Ich muss für meine Bezeichnungen mal Präfixe nutzen (E_, A_, M_). Ohne ist es viel übersichtlicher, wie ich an deinem Code sehe. Das ist eigentlich auch nicht Sinn der Sache, es unübersichtlicher zu machen. *g* |
Re: [SPS/AWL] Ausgang über einen Taster invertieren
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz