Autor Thema: Richtungserkennung beim Inkrementalwertzähler  (Gelesen 5841 mal)

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Richtungserkennung beim Inkrementalwertzähler
« Antwort #15 am: November 05, 2007, 14:41:15 Nachmittag »
Hallo goofi,

also kurze Funktionsbeschreibung.

Im Prinzip wird der Istwert des Zählers (C01) mit dem vorherigen Istwert desselben Zählers (C01) verglichen. Dies geschieht im Vergleicher (CP01). Der vorherige Istwert wird mit Hilfe des Datenbausteins (DB01) an den zweiten Eingang des Vergleichers (CP01) geschrieben und zwar immer nur dann wenn er sich geändert hat, also nicht mehr gleich ist (CP01EQ negiert).
Jenachdem ob der Istwert des Zählers (C01) größer oder kleiner dem vorherigen Istwert des Zählers geworden ist, läßt sich die Zählrichtung erkennen. CP01LT und CP01GT haben jeweils nur für einen Zyklus der Steuerung high-Signal, deshalb die Zeitbausteine T01 bzw. T02 dahinter um das "blinken" der Ausgänge Q1 bzw Q2 zu überbrücken.


P.S. In der Simulation konnte ich nicht feststellen das beim Programmstart kurz beide Richtungen angezeigt werden. Der Zähleristwert ist beim Start 0 der Datenbaustein übergibt beim Start 0 also sagt der Vergleicher das die Werte gleich sind und schaltet nicht den Ausgang LT oder GT. Aber vielleicht kannst Du Dein komplettes Programm hier mal einstellen.

mfG Jan
« Letzte Änderung: November 05, 2007, 14:49:17 Nachmittag von Mr. Spok »
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Juergen.J

  • Gast
Re: Richtungserkennung beim Inkrementalwertzähler
« Antwort #16 am: November 05, 2007, 19:32:59 Nachmittag »
Hallo goofi,
zum einen wusste ich nicht das dein Inkrementsignal so Niederfrequent ist das die Zykluszeit ausreicht um die Erkennung der Richtung feststellen zu können. Zum anderen sollte man bei 4 angefügten Zeilen, bei denen auch noch die Bausteine beschriftet sind voraussetzen das keine große Erklärung notwendig ist. Ausserdem sollst ja auch du dir Gedanken machen um das Programm zu verstehen, wenn dir schon eine Lösung angeboten wird, die auch noch funktioniert, wenn man das richtige Modul hat.
Gruß
Jürgen  ;) ;) :D

PS an Jan
Habe das mit der doppelten Anzeige auch festgestellt. Zwar dann wenn nicht von Null an gezählt wird sondern wenn bei einem Wert gestoppt wird und dann der Zähler wieder anläuft.