easy-forum

Deutsch - Software => easySoft => Thema gestartet von: Deber am August 31, 2015, 14:27:08 Nachmittag

Titel: Inkrementaldrehgeber
Beitrag von: Deber am August 31, 2015, 14:27:08 Nachmittag
Hallo!

Ich verwende ein MFD Titan zusammen mit einem Drehgeber.

Gesteuert werden soll ein fahrbarer Messapparat auf einer Schiene, dessen Position mit dem Drehgeber gemessen wird. Der Messapparat kann in beide Richtungen gefahren werden.

Der Drehgeber liefert zwei Rechtecksignale, die um Pi/2 Phsenverschoben sind. Es ist also möglich die Fahrtrichtung zu bestimmten, aber ich weiß nicht wie ich dies mit EasySoft umsetzen kann.

Meine Steuerung funktioniert bereits, aber im Moment verwende ich die eingestellte Fahrtrichtung und nur eines der beiden Rechtecksignale. (z.B. Fahrtrichtung links: zähle runter, Fahrtrichtung rechts: zähle hoch)
Dabei kann es aber zu Problemen kommen, wenn der Apparat beim Anhalten ein kleines Stück zurückrollt.


Vielen Dank im voraus und Viele Grüße
Gerhart
Titel: Re:Inkrementaldrehgeber
Beitrag von: 190B am September 01, 2015, 06:38:39 Vormittag
Mit der Easy kenne ich mich leider nicht so gut aus, da ich von der Siemens Logo Welt komme. ;)

In der Logo nehme ich für so etwas einen Vorwärts-/Rückwärtszähler. Spur A wird dann auf den Zähleingang gelegt, Spur B auf die Zählrichtungsumschaltung. Der Zähleingang verfügt über eine Flankenauswertung.

Spur A kommt vor Spur B: Zähler zählt vorwärts, da der Zähleingang vor der Zählrichtungsumschaltung 1-Signal führt.

Spur B kommt vor Spur A: Zähler zählt rückwärts, da die Zählrichtungsumschaltung vor dem Zähleingang 1-Signal führt.
Titel: Re:Inkrementaldrehgeber
Beitrag von: Deber am September 01, 2015, 13:08:57 Nachmittag
Hi,

vielen Dank für die schnelle Antwort.

Ich werde das demnächst testen.
Titel: Re:Inkrementaldrehgeber
Beitrag von: radar17892 am September 01, 2015, 18:06:09 Nachmittag
Hallo Gerhart,

Eine Auswertung des Gebers wird mit dem Baustein  CI, Schneller Inkrementalwertzähler gemacht.
Ruf doch mal die Hilfe zum Funktionsbaustein CI auf.

Meiner Meinung nach müsstest du vier Blöcke programmieren.

1. Auswertung Geber mit CI Baustein um den Istwert zu erhalten.

2. Referenzierung der Achse über Referenznocken um damit  an der Nocke den Zählerwert auf eine bestimmte Istposition zu setzen. Merker "referenziert" dann setzen wenn Ref. Fahrt erfolgreich.
Dieser sollte Bedingung für einen Auto-Fahrbefehl sein.

3. Festlegen der Größe der Achse(Softwareendpunkte), des Zielfensters und Vorabschaltpunkte des Antriebs um die Sollposition auch zu treffen.

4. Abarbeitung der Fahrbefehle mit unstetigen Dreipunktregler (kann mann aus zwei Vergleichern bauen für eine Geschwindigkeit +-).
 Hier sollte es dann einen "Startbefehl" geben, einen Merker "Fahrt fertig" und Meldung "in Position" so lange der Antrieb im Zielfenster ist.

Du kannst in diesen Blöcken rein mit den Incrementwerten arbeiten.
Eine Umrechnung von zB. Eingabe Sollwert in mm -> Inc oder Ist Inc -> Istwert in mm ausgeben kann man mit LS Bausteinen lösen.

Das Problem mit dem Wegrollen könnte man mit einer mechanischen Bremse lösen, die immer einfällt wenn der Antrieb nicht läuft.

Gruß Thomas
Titel: Re:Inkrementaldrehgeber
Beitrag von: Deber am September 02, 2015, 17:41:46 Nachmittag
Hallo Thomas,

auch dir vielen Dank für die Antwort.

Die Hilfe für den CI Baustein habe ich mir genauer angesehen. Das ist genau das was ich gesucht habe.

Der rest des Programms (Umrechnung usw.) ist auch schon fertig.

Also nochmal vielen Dank euch beiden.