750-637 Inkremental Encoder Interface

sucuksatan

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe momentan folgendes Problem.
Ich möchte die Datenwerte des 750-637 Inkremental Encoder Interfaces in Codesys einlesen doch finde keine Lösung.
Laut Prozessabbild sind die Datenwerte von Kanal 1 bei D0 D1 und von Kanal 2 bei D2 D3.
In der Steuerungskonfiguration fand ich "In Data Value Byte 0-3" vom Typ Byte.
Gibt es dazu evtl. ein Funktionsbaustein oder wie kriege ich diese Werte eingelesen?

Ich hoffe ihr könnt mir helfen.
 
Hallo,

hast Du Dich vielleicht vertan? Die 637 gibt nur einen Wert raus (32 Bit). Meinst Du eventuell 638? Da sind zwei unabhängige Zähler (16 Bit).

Gruß

EDIT:
Code:
dwCounter := SHL('Data Value Byte 3',24) OR SHL('Data Value Byte 2',16) OR SHL('Data Value Byte 1',8) OR 'Data Value Byte 0'
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Code jedoch löst das nicht mein Problem. Der Geber ist an den Anschlüssen A und A negiert angeschlossen und ich hatte eine Drehzahl von 500n.
Trotzdem sind in der Steuerungskonfiguration in Codesys alle Werte auf 0. Dazu ist ein Screenshot im Anhang.
Mit dem Inkremental Encoder Interface möchte ich nur die Drehzahl erfassen.

Edit: Hatte ein Verständnis Fehler die 637er ist im Einsatz:ROFLMAO:
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    60,4 KB · Aufrufe: 38
Zuletzt bearbeitet:
Hallo,

erkundige Dich mal bei Wago, ob es überhaupt möglich ist mit der Klemme nur ein Impulssignal zu zählen. Ich vermute eher, daß die Klemme zumindest den A und den B Kanal benötigt. Im Handbuch kann ich dazu nichts finden.

Durch den Quadraturdecoder kann es dann auch sein, daß der Zähler ständig zwischen 0 und 1 hin und her pendelt. Der Zähler erwartet ja die Zustände AB=00,01,11,10,00... -> 0,1,2,3,4,5... wenn aber 00,01,00,01,00... kommt dann zählt er 0,1,0,1,0,1...

Ansonsten auch mal die Beschaltung prüfen. Ist der Gate Eingang unbelegt oder auf 0? Wie groß ist das Impulssignal, sind die Pegel richtig? Blinkt die LED beim drehen des Encoders?

Gruß
 
Hallo,
Mail wurde an Wago geschrieben mal gucken was für eine Antwort ich erhalte.
Unter Wago IO-Check habe ich bei den Prozessdaten nur eine 3C stehen beim 4.Byte.
Der Gate ist unbelegt und die LEDs A,B,C blinken ständig, beim drehen passiert jedoch garnichts.
Das Impulssignal ist an einem Zähler angeschlossen der mir die Drehzahl des Motors zeigt.Von dort wurde das Signal abgefangen und an die Busklemme angeschlossen d.h die Klemme erhält genau das selbe Signal wie der Zähler.

Wahrscheinlich hast du recht und man braucht Kanal A und B.

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich benutze ebenfalls die 750-637 und bekomme mit Hilfe des Codes von oben auch einen Positionswert. Danke erst einmal dafür!
Ich habe im Handbuch gelesen, dass es eine Möglichkeit gibt sich die Geschwindigkeit anzeigen zu lassen. Kann mir jemand sagen, wie ich an diesen Wert komme?

MfG
 
Hallo,

Ich arbeite an einer FANUC-Roboterzelle, der Roboter bewegt sich auf einem Wagen. Der erste Messwert des FANUC-Encoders lässt sich leicht auf 0,000 auf der NULL-Markierung einstellen, das Programm verwendet jedoch einen anderen Encoder, der sich auf der Zahnstange befindet, und liefert Positionsinformationen über das WAGO-Modul 750-637. Hier liegt das Problem, der WAGO IEI hat einen gespeicherten LATCH-Wert und einen Versatz von 3,9 mm. Ich möchte diesen Wert auf 0,000 setzen, wenn sich der Wagen an der Nullmarkierung befindet.
Die Steuerbytes C0 und C1 sind in der WAGO-Dokumentation beschrieben, durch Setzen von Bits wird die Betriebsart auf COUNT, LATCH, RATE und SET geändert, bei EnableRef wird eine positive Flanke am Eingang C+ bzw. Latch erwartet. Das ursprüngliche Programm in der Robotersteuerung, um den Roboterschlitten in die Ausgangsposition zurückzubringen, verwendet den Messwert vom FANUC-Encoder und ich habe einen Versatz von 3,9 mm, die HMI-Anwendung und die automatisch generierten Programme verwenden den WAGO-Encoder.
Gegen dieses Programm habe ich mein eigenes erstellt, dessen Idee darin bestand, SET VALUE auf Null zu setzen. Das Setzen von ON- oder OF-Bits in den Steuerbytes C0 und C1 in einer bestimmten Reihenfolge ergab unterschiedliche Ergebnisse, aber keinem gelang es, den SET-Wert auf Null zu setzen.
Hat jemand eine Idee in welcher Reihenfolge das gemacht werden sollte.

Erschwerend kommt für mich hinzu, dass der Eingang C am Interface beschädigt ist und bei der vorherigen Installation der Roboterzelle jemand auf den LATCH-Eingang umgestellt hat.

Hallo,

I'm working on a FANUC robot cell, the robot moves on a cart. The first reading from the FANUC encoder is easily set to 0.000 on the ZERO mark, but the program uses a different encoder located on the rack and provides position information via the WAGO 750-637 module. Here's the problem, the WAGO IEI has a stored LATCH value and an offset of 3.9mm. I want to set this value to 0.000 when the carriage is at the zero mark.
The control bytes C0 and C1 are described in the WAGO documentation. By setting bits, the operating mode is changed to COUNT, LATCH, RATE and SET. With EnableRef, a positive edge is expected at the C+ or Latch input. The original program in the robot controller to return the robot carriage to the home position uses the reading from the FANUC encoder and I have an offset of 3.9mm, the HMI application and the automatically generated programs use the WAGO encoder.
Against this program I made my own, the idea of which was to set SET VALUE to zero. Setting ON or OF bits in control bytes C0 and C1 in a specific order yielded different results, but neither succeeded in setting the SET value to zero.
Does anyone have an idea in which order this should be done.

To make matters worse for me, the C input on the interface is damaged and someone switched to the LATCH input during the previous installation of the robot cell.
 

Anhänge

  • G2_RST_ENC31.pdf
    26,7 KB · Aufrufe: 4
  • 18-27.pdf
    178,7 KB · Aufrufe: 4
Zuletzt bearbeitet:
Zurück
Oben