19.03.2015 18:21 | |
Beigetreten: 07.05.2011 Letzter Bes: 08.01.2024 Beiträge: 4699 Bewertung: (388)
|
Hallo! Ich glaube jetzt verstanden zu haben, was der TE will!? Ich stelle mir eine Linial vor welches abgefahren wird. Ein Impulsgeber liefertalle 1cm einen Impuls. Zu allen vollen 10cm soll jetzt ein "Eventimpuls" geliefert werden. Das alles in positiver und negativer Richtung. Ist man also bis 37 cm gefahren, so sind das 3 "Eventimpulse". Fährt man jetzt 7cm zurück, soll der nächste "Eventimpuls" kommen, da ein voller Zehner überfahren wurde. Soweit richtig? Im Anhang mal ein Vorschlag dazu. Der Impulsgeber geht auf einen Zähler mit Startwert 10. Je nach richtung wird dieser auf 20, bzw. 0 gezählt. Per Analog-Mux wird der Zählerwert einer Analogwertüberwachung zugeführt. Per En=1 wird der anliegende Zählerwert gemerkt und überwacht, wann eine einstellbare Differenz erreicht ist. Dann liefert der baustein 1-Signal. Dieses habe ich genutzt, um die Überwachung neu zu starten. Ein Überschreiten der Grenze von 10 am Zähler liefert je nach Richtung eine steigende o. fallende Flanke, welche den Eventzähler per OR zusammen mit dem Impuls von der Analogwertüberwachung um 1 erhöht. Viel Spaß beim Test! DateianhangEventzähler2.zip (83 Downloads) |
20.03.2015 00:03 | |
Beigetreten: 01.09.2014 Letzter Bes: 18.04.2024 Beiträge: 742 Bewertung: (47) |
Ich hab' mal noch einige Alternativ-Beispiele zusammengetragen, die man auch mit den herkömmlichen Zählern mischen kann: Zuerst einen Zähler, der auch im Negativbereich zählen kann. Er setzt sich aus der Richtungsvorgabe durch ein Analogmux (-1/+1), einem Min/Max-Baustein als (wenn gebraucht remanenten) Wertespeicher und einer Arithmetischen Anweisung zum Zählen zusammen. Danach eine banale Offsetberechnung, die so auch mit einem herkömmlichen Zähler benutzt werden kann. Mit der Offsetberechnung kann man auch eine andere Schrittweite erzielen, egal welchen Zähler man benutzt. Außerdem erübrigt sie den Verstärker aus Schritt 1, aber ich hab' ihn mal trotzdem dringelassen, falls jemand nur so 'nen Zähler benötigt. Umgekehrt kann man natürlich auch mit dem Verstärker Schrittweite und Offset des analogen Zählers einstellen. Als letztes dann die Erkennung der vollen Zehner mittels Division durch 10. Da dabei immer ab dem 5er Wert auf den nächst höheren Quotient gerundet wird, wird zu dem Absolutwert einmal 5 und einmal 4 hinzuaddiert. Ergeben die beiden anschließenden Divisionen nicht das gleiche Ergebnis liegt ein voller Zehner vor. Im negativen Bereich muss man die Addition um 1 verschieben. Daher die Erkennung im Schritt 2. Mitt anderen Additionswerten könnte man z.B. auch die 8er Werte erkennen. Was jetzt noch fehlt ist eine Erkennung der Grenzen und die daraus eventuell resultierenden Berechnungsfehler. Ob man diese tatsächlich braucht, hängt natürlich vom zu erwartenden Zählbereich ab. DateianhangAnalogzähler mit Eventerkennung.zip (74 Downloads) |
21.03.2015 14:19 | |
Beigetreten: 07.05.2011 Letzter Bes: 08.01.2024 Beiträge: 4699 Bewertung: (388)
|
Hallo zusammen! Da es bei der Nutzung der Analogwerte Grenzen gibt und auch meine letzte Lösung nur über den Analogwert funktioniert, habe ich hier mal noch eine Lösung welche nur mit dem Zähler auskommt. Diese ist dann auch für ältere LOGO-Varianten anwendbar! DateianhangEventzähler 5.zip (83 Downloads) |
Zuletzt bearbeitet von: motmonti am: 21.03.2015 14:22:11 |
|
Folgen Sie uns auf