21.10.2008 17:57 | |
Beiträge: 13 Bewertung: (3) |
Hallo Star-DJ, interessante Aufgabenstellung Ich habe mal auf die Schnelle versucht, das zu realisieren, der erste Versuch ist sicherlich etwas unübersichtlich und verballert Funktionsblöcke - aber immerhin funktioniert es. I1-I10 sind die Tasten 1-0, I11 ist die "*"-Taste zum Einschalten, I12 ist die >"#"-Taste zum Ausschalten. z.B. Steckdose 13 einschalten: I1, I3, I11 - Ausschalten mit I1, I3, I12 Ich bin mal auf weitere Vorschläge gespannt. Grüße Leone Dateianhangsteckdosen_12er_tastatur.zip (384 Downloads) |
21.10.2008 21:22 | |
Beigetreten: 21.08.2008 Letzter Bes: 17.04.2024 Beiträge: 1049 Bewertung: (25) |
Hallo Star-DJ Und hier kommt noch ein Vorschlag. Die Beschreibung findest du in der Textdatei. Die Schaltung kannst du bei genügend Hardware bis 99 Steckdosen ausweiten. DateianhangProgrammvorschlag.zip (372 Downloads) |
28.10.2008 21:00 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Star-DJ, ...Die beiden bisher auf deine Frage hier eingestellten Lösungsvorschläge konnten mich nicht so recht überzeugen, so dass ich mal ein Konzept für die Auswertung einer 12er-Tastatur für die Logo! erarbeitet habe, dass zusammen mit einer vollen Ausnutzung der Schaltmöglichkeiten des Blocks "Stromstoßrelais" m .E. äußerst flexibel (und erweiterbar bezüglich der Anzahl der eingebbaren Ziffern) ist. Um "Timing-Problamen" aus dem Weg zu gehen, habe ich mich für eine Umsetzung der Zifferntasten in Analogwerte (über eine Kette aus Analog-Multiplexern) entschieden! Zwei Zähler (entsprechend maximal 2 Eingabeziffern als Äquivalent für eine Zahl zwischen 1 und 99) dienen der Erkennung der Anzahl der eingegebenen Ziffern (nur die ersten Beiden werden als "gültig" vearbeitet) und deren Ausgangssignale organisieren dann das "Abspeichern" der jeweils 1. Ziffer und die "Berechnung" der ein- oder zweistelligen Ergebnis-Zahl. Diese wird in B021 "0_bis_99" zur weiteren Verwendung bereitgestellt). Die Eingabe einer Zahl kann stets erfolgen, wenn B021 "0_bis_99" = 0 ist (= Zahl ist gelöscht). Im Block B022 "automat", Parameter TL, wird zentral das "Zeitfenster" zur Erkennung einer "Folgetasterbetätigung" vorgeben. Nach "Ablauf" dieses Zeitfensters (d. h. es wurde keine der 12 Taster innerhalb des Zeitfensters TL betätigt) wird ein Triggerimpuls erzeugt, der direkt am Ausgang von Block B022 "automat" bereitgestellt wird. Der optional nachgeschaltete Block "Softwareschalter" (oder gar mehrere parallelgeschaltete zur Gruppenbildung...) dient der Möglichkeit im Betrieb diese Triggerung Wahlweise zu (De-)Aktivieren. Bei Betätigung der Taster "*" bzw. "#" innerhalb des o. g. Zeitfensters wird jedoch KEIN Triggerimpuls generiert. Außerdem wird solange jeweils einer der Zifferntaster immerhalb des Zeitfensters betätigt wird, die Impulserzeugung hinausgezögert (aber nur die ersten beiden Ziffern werden für die Ergebnis-Zahl berücksichtigt!). Dies gilt auch für die Dauer, die eine der Zifferntaster betätigt gehalten wird. Der Triggerimpuls erfolgt also nur dann, wenn innerhalb des Zeitfensters keiner der 12 Taster betätigt wurde. Mit dem Ende (= fallende Flanke) des Triggerimpulses oder mir dem Ende der Betätiung (= fallende Flanke) eines der Taster "*" oder "#" (alle drei Varianten im Sinne der Eingabe eines Kommandos!) wird die Eingabe abgeschlossen und der Eingabewert auf "0" zurückgesetzt! Über den Taster der Ziffer "0" kann außerdem noch die Eingabe (einer beliebigen Anzahl von vorhergehenden Zifferneingaben) gelöscht, d. h. auf den Wert "0" zurückgesetzt werden, ohne ein "Kommando-Impuls" abzusetzen. Dazu muss der Taster der Ziffer "0" innerhalb des o. g. Zeitfensters nach Eingabe der letzten Ziffer betätigt und gehalten werden (bis die Anzeige auf 0 wechselt). Die erforderliche Betätigungsdauer wird im Block B009 "reset1", Parameter TL, definiert und sollte deutlich länger sein, als die (erwartete) normale Tasterbetätigungsdauer zur Eingabe von Ziffern! Aber ACHTUNG, denn in diesem Fall kann bei gedrücktgehaltenem Taster "*" oder "#" ein Eingabewert ungleich "0" zu keinem Zeitpunkt zurückgesetzt werden! Dies könnte natürlich durch zusätzliche Blöcke leicht abgeändert werden. Der gesamte Schaltungsteil zur Taster-Auswertung und Bereitstellung von "Ergebnis-Zahl" (1 bis 99) und eines der drei möglichen (und die Eingabe abschließenden) "Kommandos" Triggerimpuls, Taster "*" oder Taster "#" benötigt 27 Blöcke.
Wert 1...99 + Taster "*": Ausgang/Ausgänge EINschalten Ohne Weiteres sind mehrere mit (im einfachsten Fall) identischen Schaltungen versehene LOGO!-Basismodule parallel über eine 12er-Tastatur zu bedienen. Lediglich die jeweiligen Codes zum separaten Schalten jedes physikalisch vorhandenen Ausgangs müssen dannangepasst werden. Die oben dargestellte "Gruppenbildung" über "Sondercodes" erlaubt dann in einfacher Weise z. B. ALLE Ausgänge aller LOGOS oder alle Ausgänge einer definierten LOGO! von x jeweils gemeinsam zu schalten....
Ergänzende Anmerkungen: Freie Codes könnten natürlich auch zum Steuern von Schaltungsfunktionen verwendet werden. So könnte z. B. der vorhandene Block "Softwareschalter" ersetzt werden durch ein UND und ein RS-Block/oder Stromstoßrelais, und diese dann durch Codes "bedient" werden. Eine andere Anwendung wäre z. B. die (De-)Aktivierung des Tasterfeldes über einen Freigabecode, ggf. gekoppelt mit einer zeitgesteuerten Deaktivierung, so dass unbeabsichtigte oder "unautorisierte" Kommandoeingaben (weitgehend) ausgeschlossen werden können...und und.... Die Anzahl der gültigen Ziffern des Ergebnis-Werts können bei Bedarf erweitert werden. Die Kommandoeingabe kann weitgehend auch ohne Blick auf das Display korrekt erfolgen, so dass ggf. auch eine Fernbedienung, z. B. per Funk, möglich erscheint. Diese Eingabemethode könnte auch für die Vorgabe von Blockparametern (per Verweis) sinnvoll eingesetzt werden, z. B. wenn dem Anwender dies nicht im Parametermenü der LOGO! gestattet sein soll...ODER z. B. wenn eine Folge von Werten einzugeben ist... MfG DateianhangDEMO_mit_12er_Tastatur_Ausgänge_gezielt_schalten.zip (603 Downloads) |
==> Meine TAG-Listen: "deut." |
|
07.11.2008 12:05 | |
Beiträge: 2 Bewertung: (0) |
Hallo, erst einmal danke ich euch dreien für die Vorschläge. Da die Version von Betel einwandfrei funktioniert, in alle möglichen Richtungen erweiterbar ist und auch super dokumentiert ist, habe ich mich für seine Version entschieden. Diese habe ich nun auch schon auf die von mir benötigte Anzahl von 15 Dosen erweitert. Die ODER-Blöcke, an denen man Gruppen-Schaltungen vornehmen kann, sind noch integriert, aber derzeit nicht beschaltet. Von daher: Einen Riesen-Dank an Betel für seine Super-Arbeit. Anbei die umgebaute Schaltung für 15 Ausgänge (für die Nummern 1 - 15):
Dateianhang12er_Tastatur - Betel - 01-15.zip (487 Downloads) |
07.11.2008 21:13 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Star-DJ, vielen Dank für dein Feedback und deine Ergebnisschaltung! MfG Betel |
==> Meine TAG-Listen: "deut." |
|
Folgen Sie uns auf