# Preset Winkelcodierer



## bwink68 (25 April 2008)

Hallo an die Spezialisten,

möchte ein Förderband positionieren und den Weg über einen Winkelcodierer erfassen.
Meine Frage dazu ist, ob es allgemein üblich ist den Winkelcodierer vor jedem Start auf einen bestimmten Wert zu preseten.

D. h.  z.B will ich im ersten Hub 500mm fahren (preset WC auf 0, Abschaltung des Bandes bei 500). Im zweiten Hub auf 1000mm( nach Beendigung des ersten 
Hubes preset auf 0 danach 1000mm Fahrt).
Frage nur, da ich meine mal gelesen zu haben das ein WC nur eine definierte Anzahl von Presets aushält. (vergleichbar wie mit einer Glühbirne, Z.B. Lebensdauer mindestens 100000 Schaltvorgänge).


----------



## BUR (25 April 2008)

Hallo bwink68!
Habe ich Dich jetzt richtig verstanden, dass Du nach jedem Schritt den WC resetten willst?
Warum sagst Du nicht Ist-Wert + nächster Schritt?
Benutzt Du einen Resolver oder einen Absolutwertgeber?

Gruß
BUR


----------



## kermit (25 April 2008)

Also, wenn ich das auf die Schnelle richtig erfasst habe:

ja, wenn dieser Preset in dem WC (Grüße an die Suchfunktion) in einem EEPROM abgelegt wird, dann ist die Lebensdauer begrenzt, wenn das häufig genutzt werden soll.

Anregung: das gleiche in der Steuerung machen. Da passiert folgendes: den Geberwert linksbündig schieben. Dann die aktuelle Stellung als Nullpunkt merken. Und nun kommt es auf Deine Programmiersprache an, ob da die binäre Mathematik mit umlaufenden Zahlenräumen funktioniert.

Bei S7 AWL einfach von der aktuellen WC-Stellung den gemerkten Nullpunkt abziehen, das gibt dann die aktuelle Stellung seit letzter Nullung ...


----------



## bwink68 (26 April 2008)

Hallo,
tut mir leid das ich nicht sofort die Gelegenheit hatte zu antworten.
Habe einen Absolutwertgeber (T&R CE65M) zur Verfügung.
Möchte das in AWL programmieren.
Habe das dementsprechende PED auf Null z.B , fahre den ersten Hub auf 2500.
Natürlich kann ich den zweiten Hub auf 5000 aufaddieren. 
Aber was ist wenn ich bei 32767 angekommen bin?
Dann preseten?
Das wollte ich wissen, den Ansatz in solch einem Ablauf.

Danke bwink68


----------



## Ralle (26 April 2008)

Kenne gerade diesen Typ des Winkelgebers nicht, aber wenn es so ist, daß er von 0 - 32767 zählt, dann ist der nächste Wert ja wieder 0,1,2 ... 32767. Du vergleichts deine nächste errechnete Position immer darauf, ob sie größer 32767 ist. Wenn ja ziehst du von diesem Wert 32767 ab, das ist dann deine nächste Zielposition, welche der Winkelgeber anzeigen wird, wenn er den Weg gelaufen ist.


----------



## kermit (27 April 2008)

```
FUNCTION_BLOCK "Drehgeber_Null"
TITLE =
VERSION : 0.1

VAR_INPUT
  I_Drehgeberwert : INT ; //16-Bit-Geber -32768 bis 32767
  I_Null_stellen : BOOL ; 
END_VAR
VAR_OUTPUT
  Q_Drehgeberwert_genullt : INT ; 
END_VAR
VAR
  Nullpunkt : INT ; 
  Flanke_I_null_stellen : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =
      U     #I_Null_stellen; // Nullpunkt auf Anforderung merken
      UN    #Flanke_I_null_stellen; 
      SPBN  m001; 
      L     #I_Drehgeberwert; 
      T     #Nullpunkt; 
m001: U     #I_Null_stellen; 
      =     #Flanke_I_null_stellen; // (kann natürlich auch zustandsgesteuert sein)
      L     #I_Drehgeberwert; // Drehgeberstellung seit letzter Nullung berechnen
      L     #Nullpunkt; 
      -I    ; // funktioniert, solange das Ergebnis kleiner als 32767 ist
      T     #Q_Drehgeberwert_genullt; 
// Überlauf"problem": Beispiel: der Drehgeber sei bei Stellung 32767 genullt worden. Einen Schritt
// später steht er nicht auf 32768, sondern auf -32768. Bei normaler Mathematik wäre nun
// 32767 minus -32768 gleich 65535. Bei der Mathematik im Zahlenkreis ergibt sich jedoch bei der
// S7-Operation -I der "richtige" Wert 1.
END_FUNCTION_BLOCK
```


----------



## bwink68 (27 April 2008)

Danke kermit,

werde ich mal testen,
denke das war mein Problem wenn der WC nach 32767 im nächsten Schritt auf -32768 springt.
Wußte nicht das dies mit der Subtraktion "-I" dann 1 ergibt.
Gut, bin halt auch kein Programmierer.

Nochmals danke
Gruß bwink68


----------



## Andreas.W (28 April 2008)

Hallo,


wir haben hier im betrieb mehrere geber von T&R CE65M allerdings mit Profibusansteuerung. Einige davon werden auch bei uns nach jedem Hub auf 0 zurückgesetzt (Preset) und verrichten nun schon seit 11 Jahren ihren Dienst, ohne Presetprobleme.
Ich würde sagen, so ca. 6000 Presets je Tag..........


mfg



Andreas W.


----------



## bwink68 (28 April 2008)

Deswegen auch meine Frage, wir haben auch mehrere im Einsatz,an gekauften Anlagen. Diese werden auch ständig presetet.
Als ich mich nun mal ein bischen intensiver mit dem Thema befasst habe, bin ich auf die Aussage gestoßen das jedes mal das Eprom beschrieben wird und sich dadurch natürlich die Lebensdauer verringert.
Habe die letzte Nacht den Code von kermit ausprobiert und war begeistert.
Funzt einwandfrei, warum soll ich dann noch den WC unnötig belasten !

Gruß bwink68


----------



## kermit (28 April 2008)

bwink68 schrieb:


> ...
> Habe die letzte Nacht den Code von kermit ausprobiert und war begeistert.
> Funzt einwandfrei, warum soll ich dann noch den WC unnötig belasten !
> ...


danke schön, gern geschehen ...


----------

