# Posital FRABA Encoder PROFIBUS



## Tobias2k9 (12 August 2009)

Hallo Leute,

ich habe einen Posital Fraba Absoulter Winkelcodierer mit Profibus Schnittstelle. Nun möchte ich ihn an unserer Anlage "Nullsetzen", und im Handbuch steht 
(http://www.posital.de/de/products/P...eEncoders_OCD_Profibus_Manual_DataContent.pdf)
(Seite15)

"Der Presetwert wird durch durch das Setzen von Bit 31 im (Perepherie) Ausgangsdoppelwort aktiviert."

Als Ausgang stehen 2 Worte (Anfang 256 - Ende 259)

Also PAD ???? Und wie setzte ich da Bit31 ???

Wie soll ich das realisieren bzw. verstehen, komme irgendwie noch nicht dahinter...kann mir einer vlt ein bsp. geben ?

Vielen Dank !!


----------



## rostiger Nagel (12 August 2009)

Hallo Tobias,
ich mache das mit einen Lika-Geber wie folgt.
Das sollte für deinen Fraba Geber auch funktionieren,
da Lika die Geber für Fraba baut.
Bitte störe dich nicht an den Lokaldaten das kannst 
du auch mit Merkern oder anderen Mitteln lösen.


```
//Adresse des Gebers laden
      L     #IN_adresse
      SLD   3
      LAR1  
//Denn Sollwert der Achse Skallieren und
//als Sollwert für den Referenzwert nehmen.
      L     #OP.IN_soll
      L     #Parameter.Nenner
      *D    
      L     #Parameter.Zaehler
      /D    
      T     LD     0
      U     #OP.IN_ref         //Taste zum Referenzieren
      =     L      0.7
      L     LD     0
      T     PAD [AR1,P#0.0]
```
 
gruß helmut


----------



## Tobias2k9 (12 August 2009)

Helmut_von_der_Reparatur schrieb:


> Hallo Tobias,
> ich mache das mit einen Lika-Geber wie folgt.
> Das sollte für deinen Fraba Geber auch funktionieren,
> da Lika die Geber für Fraba baut.
> ...




Erstmal danke, doch irgendwie habe ich da noch ein Verständnißproblem...



//Adresse des Gebers laden
      L     #IN_adresse
      SLD   3
      LAR1  

Mein Encoder hat die DP Adresse 30, wie soll ich das laden ?

L 30 ist ja quatsch...

Desweiteren

      L     #OP.IN_soll
      L     #Parameter.Nenner
      *D    
      L     #Parameter.Zaehler
      /D    
      T     LD     0
      U     #OP.IN_ref         //Taste zum Referenzieren

Brauche ich doch keinen sollwert und keine Taste zum referenzieren oder ? Ich möchte nur meinen Encoder an einem bestimmten Teil der Anlage Nullsetzen, früher bei den Kabelgebundenen Encodern ging das mit einem Draht der angelötet wurde und als Reset diente doch wie mache ich das am einfachstem mit dem Profibus Encoder ??? 

Vielen dank schonmal


----------



## rostiger Nagel (12 August 2009)

Hallo Tobi,
die Adresse 30 ist ja die Profibus-Adresse, wenn du dann in der Hardware
Konfig schaust muß dieser Geber ja irgendwo eine Eingangs bzw.
Ausgangsadresse haben. 
Bei meinen Beispiel jetzt hier:
DP-Adresse 6
E/A Adresse 256



Im Eingangsbereich steht später deine IST-Position.
Im Ausgangsbereich schreibst du deinen Referenzwert, der dann "0" sein 
kann du mußt nur noch eine Flanke zum endsprechenenden Bit für den
Preset schicken. In meinen Beispiel wäre das dann 256.7.

gruß helmut


----------



## Tobias2k9 (12 August 2009)

Okay bis dahin verstanden jedoch erläutere ich einfach mal meine Schritte:

1) Nachgeschaut der Adressierung

E-Adresse 292...295 (Istpostion)
A-Adresse 260...263 (Referenz)

2) Ins PAW 260 per Variablentabelle eine 0 geschrieben

3) Will ich nun Bit 31 von PAW 260 (Also dem Ausgangsdoppelwort) 1 setzen. Doch wie mache ich das nun ? Geht das per Variablentabelle ? Habe ich bis hierhin alles richtig gemacht ? ^^

danke


----------



## rostiger Nagel (12 August 2009)

Du wust ja nur das entsprechende Bit für den Preset mit dem
Referenzmaß gleichzeitig setzen. Probiermal das hier als Code:


```
L "Referenzwert"
         OD DW#16#8000 0000
         T PAD 260
```


----------



## rostiger Nagel (12 August 2009)

Wenn du die Hex 8000 0000 in deine Variablen Tabelle
als Steuerwert schreibst müsste der Geber auch auf  "0"
gesetzt werden.


----------



## Tobias2k9 (12 August 2009)

Jop sind beide nun auf 0 .... 1000000 Dank !!!

Anbei kannst du mir wenn du mal Zeit hast erklären warum

DW#16#8000 0000 

nun das Bit32 auf 1 setzt ? Das verstehe ich noch nicht so richtig der Rest ist nun alles klar...

Nochmals vielen Dank !!!


----------



## rostiger Nagel (12 August 2009)

Die Information für den Geber Teilt sich auf

Bit 31 setzt den Geber auf dem Wert der in
Bit 0..30 steht.

Hex 8000 0000 entspricht dann Binär 10000000 00000000 00000000 00000000

damit setzt hast du den als Referenzwert "0" und das eine Bit was auf "1"
führt den Preset aus.


----------



## Tobias2k9 (12 August 2009)

Okay nun zu 100% verstanden, vielen dank für die Ausführliche Erklärung !!!


----------

