easy-forum
Deutsch - Applikationen => Allgemein => Thema gestartet von: ChristianHemker am Februar 11, 2009, 11:10:29 Vormittag
-
Hallo,
für eine Rolladensteuerung mit einem Taster setze ich einen Zähler bei Tastendruck um einen höher.
Nun möchte ich diesen Zähler gezielt auf zwei Werte setzen.
Im angehängten Programm habe ich das nachgebaut:
C1 speichert in MB1.
Bei Betätigung I1 zählt C1 einen höher.
Bei Betätigung I2 wird MB1 durch DB1 auf 33 gesetzt.
Problem: MB1 wird wieder auf den vorherigen Wert zurückgesetzt, auch wenn I1 nicht betätigt wird.
Wie kann ich das verhindern?
-
Hallo ChristianHemker,
schau dir mal das Beispiel an.
Gruß veltins54
-
Hallo ChristianHemker
in Deinem Programm geschieht folgendes:
Zeile 1: Der Zählerwert wird im Zähler in das MW1 übertragen
Zeile 2: Mittels I2 wird die Zahl 33 in das MW1 übertragen
Nun beginnt der Programmablsuf von neuem
Zeile 1: Der Zählerwert wird im Zähler in das MW1 übertragen
Zeile 2: Mittels I2 wird die Zahl 33 in das MW1 übertragen
usw.
Die Lösung von Veltins ist das Ei des Collumbus. Er ist wie immer einen Zacken schneller als ich.
-
Hallo,
erstmal vielen Dank für die Aufklärung und das Beisipiel.
Dieses funktioniert insofern, dass MB1 jetzt fest auf 33 gesetzt wird.
Das Ziel war allerdings, den Zähler auf 33 zu setzen.
Momentan passiert folgendes:
1. I1 setzt den Zähler und MB1 auf 1
2. I2 setzt MB1 auf 33 (der Zähler bleibt auf 1)
3. I1 setzt den Zähler und MB1 auf 2
Kann man den Zähler an sich auch beeinflussen?
-
Hallo ChristianHemker,
verstehe ich das richtig mit I2 soll der Zähler und MB1 auf 33 gesetzt werden?
Gruß veltins54
-
Hallo,
ja, das verstehst du richtig, wobei MB1 nur Mittel zum Zweck ist, eigentlich geht es um den Zähler.
Natürlich kann ich einen Zähler auf den IST Wert zurücksetzen. Den IST Wert könnte ich auf 33 setzen. Problem dabei: Ich muss den Zähler zu bestimmten zeiten auf 2 verschiedene Werte setzen, habe aber nur einen IST Wert.
-
Hallo ChristianHemker,
du hast 2 Istwerte die zu verscheidenden Zeiten in den Zähler geladen werden sollen,
sind die Istwerte feste werte.
Gruß veltins54
-
Hallo,
ich verdeutliche das mal.
Der Zähler hat folgende Bedeutung:
0: löst nichts aus (Rollade STOP)
1: Rollade auf
2: löst nichts aus (Rollade STOP)
3: Rollade ab
4: Zurücksetzen auf 0
Jetzt möchte ich zu bestimmten Zeiten die Rollade auf- oder abfahren. Das heißt ich möchte dann den Zähler auf 1 oder 3 setzen.
Ich habe jetzt eine Lösung gefunden, die aber wahrscheinlich zu komplex ist, da reicht der Speicher nicht aus.
Ich nehme als IST Wert des Zählers ein MerkerByte, das ich dann auf 1 oder 3 setzen kann. Dann kann ich zu bestimmten Zeiten den Zähler auf den IST Wert zurücksetzen.
Habe das mal angehängt. Geht das noch einfacher?
-
Hallo ChristianHemker,
ich sehe in deinem Testprogramm nicht eine Lösung,eine mögliche Lösung ist,es mit
2 DB-Bausteinen zu machen einen für wert(1) und einen für wert(3),aber Speicherplatz
braucht das alles.Wie oft brauchst du das denn (anzahl der Zähler)
Welcher Speicherplatz reicht dafür nicht (Strompfade oder der Speicher selbst)?
Gruß veltins54
-
Hallo christian,
hab dir mal ein Beispiel angehangen. Achten musst du das die DB im Bausteinplan vor dem Zähler sind, sonst funktioniert es nicht.
Gruss
Jürgen
-
Hallo,
wie wärs den mit einem Schieberegister? Und zu den entsprechenden Ausgängen die Schaltuhren verodern und das Register reseten wenn die Schaltuhren steuern.
mfG Jan
-
eine mögliche Lösung es mit 2 DB-Bausteinen zu machen einen für wert(1) und einen für wert(3),aber Speicherplatz
braucht das alles.Wie oft brauchst du das denn (anzahl der Zähler)
Welcher Speicherplatz reicht dafür nicht (Strompfade oder der Speicher selbst)?
Hallo,
vielen Dank für eure Hilfe, das hat den nötigen Geistesblitz gebracht.
Ich setze nun wirklich mit zwei DB Bausteienen die Werte in MerkerBytes. Diese MerkerBytes nutze ich dann als IST Werte fpr die Zähler. So kann ich dann die Zähler auf den IST Wert zurücksetzen, da dieser ja dem geünschten Wert entspricht.
Ich konnte dadurch einige überflüssige Zeilen löschen und habe dadurch sogar mehr Speicher als vorher :)