Beckhoff mit SICK Lector

blimaa

Level-2
Beiträge
956
Reaktionspunkte
103
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen

Hat jemand erfahrungen gemacht mit einem Sick Lector 620? Dies ist ein kamerabasierter Codeleser
https://www.mysick.com/partnerPortal/ProductCatalog/DataSheet.aspx?ProductID=45034#

Dieser ist mit einem CDF600-0300 verbunden und von da an geht es ins Ethercatnetzwerk
https://www.mysick.com/partnerPortal/ProductCatalog/DataSheet.aspx?ProductID=67660#

Nun ist die Beschreibung relativ dürftig hinsichtlich wie Ethercatanbindung.
Prinzipiell habe ich einen CX1010 ein paar EK1100 mit Klemmen und der Codeleser mit Ethercatmodul. ESI-Datei habe ich vom Lector bereits eingebunden.
Nun konkret zu meinem Problem:
-Wenn ich mein Projekt im Systemmanager von Beckhoff aktivieren will, geht alles in OP nur der Lector geht auf "Preop" und die Fehlermeldung kommt dazu "'PS': EoE init cmd type 2 failed with result 0x0001- unspecified error:'eoe init'."
ein eoe Init habe ich im Startup der Box gefunden, doch diese kann ich weder löschen noch etwas daran ändern.

- im weiteren ist niergends beschrieben welches Bit ich senden muss um z.B. den Trigger zu betätigen, damit die Kamera den Code ausliest und in der ESI Datei habe ich nur 16Byte, was ich für einen Code mit Nummern und Zahlen etwas klein finde!?

Wenn jemanden schon ein Lector oder ein CDF600-0300 (kann auch mit einem anderen Scannertyp sein) eingesetzt hat, bitte mal melden.

Gruss blimaa
 

Anhänge

  • Lector2.jpg
    Lector2.jpg
    203,5 KB · Aufrufe: 38
Hallo,

ich würde Dir empfehlen EoE einfach mal zu deaktivieren (ist irgendwo unter dem EtherCAT-Tab im Sys-Manger möglich). Anschließend sollte das Gerät hochlaufen.

SICK Sensoren kommunizieren über ein Handshake-Mechanismus mit der Steuerung. Soll heißen, dass längere Code eventuell fragmentiert gesendet werden. Schau doch mal, ob du die Größe der PDOs anpassen kannst. Bei manchen Geräten kann man die Größe des Prozessdatenobjekts einstellen.

Edit:
Bei der Siemens Integration vom Lector gibt es einen FB, der das handling übernimmt. Kann mir vorstellen, dass es für Beckhoff etwas ähnliches gibt. Ansonsten einfach mal beim Support nachfragen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Na das klingt doch nach einem SICK spezialisten, genau was ich suchte :)
Ich werde es am nächsten Dienstag ausprobieren, bin vorher noch bei einem Kunden und nicht in der Firma. Aber das klingt nach dem was ich gesucht habe.
Mal so ne kleine zwischenfrage, was genau sind den EoE? :roll: Heisst das EoE brauche ich nur, wenn ich z.B. Webserver noch auf einem Slave hätte?
In den PDOs verstellen bin ich auch noch nicht so bewandert, gibts da ne Beschreibung?
Ich hatte bereits mit dem Sicksupport kontakt, und sie waren auch sehr bemüht, kompliment, aber anscheinend ist Ethercat mit dem Lector auch noch etwas Neuland. (Sollte auf keinen Fall Kritik sein, der Support ist bei Sick immer super, also nicht nur bei Sick auch bei anderen Firmen:s1: inkl. SPS-Forum)
Es gibt (noch?) kein Beispiel oder FB zu Ethercat. Das mit Siemens und Profibus habe ich ebenfalls gesehen.

Gruss blimaa
 
Hallo,

EoE bedeutet "Ethernet over EtherCAT". Der EtherCAT-Teilnehmer bekommt hierbei eine IP-Adresse zugewiesen und kann hiermit angesprochen werden. Nach meinen Erfahrungen mit EoE habe ich allerdings feststellen müssen, dass die Verbindung nicht die schnellste ist.

Da in deinem Fall der Lector über einen separaten Ethernet-Anschluss verfügt, kannst du genauso gut diesen nutzen um den Sensor zu parametrieren bzw. den Webserver zu nutzen.

Aus dem Bauch heraus würde ich sagen, dass es verschiedene PDO Größen gibt die du auswählen kannst. Klicke dich einfach mal durch die Optionen im SysManager durch oder schaue im ESI-File nach.
 
Hallo
Neue Woche, neues Glück
Ich habe überall im Systemmanager wo ich EoE gefunden habe das Häcklein weggenommen. Alles hat nichts genützt. Dann habe ich im ESI File EoE auf false umgeschriben--> das ging. Der Ethercat-Bus läuft nun und das Sickmodul ist jetzt auf "OP". Ich kann auch per Bus den Lector trigern, nur Daten empfange ich noch nicht. Das Heisst das erste Byte taktet immer den Wert "4" und dann wieder "0" dann wieder "4"....
Könnte das der Hartbeat sein? Allderdings habe ich den abgestellt im SICK Lector....
Weitere Anregungen herzlich willkommen :confused:

Gruss blimaa
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi nochmals ich

Also der Lector läuft soweit, nun habe ich mehr als 11 Zeichen im Code und somit wird der Code Fragmentweise gesendet. Laut Support kann man die 16 Byte Eingangs- und Ausgangsbyte auf 32 Byte umschalten. NUR die Frage ist jetzt, wie kann ich das im Systemmanager bei Beckhoff umschalten. Oder muss man das direkt im ESI file machen? Habs versucht und kläglich gescheitert :confused::cool:.

gruss blimaa
 
Soo,
aus gegebenem Anlass hier hier ein paar Screenshots aus TC.

Bild1:
EoE (Ethernet over EtherCAT) deaktivieren.

Bild2:
Auswahl der Input/Output PDOs (8,16,32,64 oder 128 Byte). In der ESI brauchst du normalerweise nichts ändern ;-)
 

Anhänge

  • 1.png
    1.png
    12,4 KB · Aufrufe: 68
  • 2.png
    2.png
    23,1 KB · Aufrufe: 60
Hi
Super werde es gleich... hmm ev. Freitag oder nächsten Mittwoch wenn ich wieder in der Firma bin, ausprobieren.

gruss blimaa
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Also das mit den POD's auswählen klappt wunderbar :D!!
Das mit dem EoE klappt nicht, da ich das Häcken gar nicht wegnehmen kann. Es ist alles Grau hinterlegt. Na ja aber ich habs ja im ESI file ausschalten können.
Fazit, klappt alles wunderbar, vielen Dank für die Hilfe, wird sicher nicht das letzte mal sein :ROFLMAO:.

Gruss blimaa
 
Ablauf Lector.JPGHi

Ich wurde per PN nochmals zu diesem Thema angefragt und ganz nach dem Motto des Forums stelle ich das mal rein:

Hallo,

ich habe deinen Thread über Google gefunden und stehe vor einem ähnlichen Problem. Über Profibus möchte ich einen Lector 620 an eine CX1001 anbinden. Die DP-Kommunikation steht schon, vernünftige Daten bekomme ich noch nicht. Ich muss das Handshake noch realisieren.
Hat das bei dir geklappt? Wenn ja, kannst du mir evtl. Beispielcode zur Verfügung stellen?

Gruß

Also ich arbeite nicht mehr in der Firma, wo ich das Projekt realisierte. Daher schreibe ich jetzt mal aus der Erinnerung raus.
Ich füge mal den Ablaufbeschrieb in den Anhang. Ich habe den Code in einem Schritt auslesen können, da er kurz genug war.
Übrigens gibt es eine Anleitung von Beckhoff zur Profibusanbindung an den Lector. Mein Problem war, dass es noch keine Betriebsanleitung gab, da die Ethercatanbidung neu war.
Ich habe mit Absprache mit dem Support den Handshake abgeschalten, da ich den Code auf einmal auslesen konnte.
Gruss blimaa
 
Zuletzt bearbeitet:
Ich befasse mich aktuell auch grad mit diesem Lector Reader.

Frage:
Wie funktioniert das Handshake, im Falle dass die Daten im 16 Byte grossen PDO nicht Platz haben, genau?

Denn ich habe diesen Fall.

Ich habe das Problem, dass immer nur die ersten 16 Bytes geschickt werden.


Wer kann mir da helfen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

du hast im Prinzip zwei Möglichkeiten:
- Du verwendet den non-handshake Modus und wählt ein größeres Modul (bis 128Byte kann man verwenden)
- Du nimmst das 16 Byte Modul und bedienst den Handshake. Alternativ kann man auch die Funktionsbausteine für TwinCAT 2 + 3 verwenden, die zum download bereitstehen.
 
Salü Beckx-net
Danke für Deine schnelle Antwort.

Grösser als 16 Bytes will ich nicht gehen, da wir sehr viele solche Leser am selben EtherCAT Bus betreiben und wir sonst eine unnötig grosse Busbelastung bekommen.

Das andere ist mir bekannt. Ich verwende auch den bereitgestellten Funktionsbaustein von Sick.
Leider kommen immer nur die ersten 16 Bytes an. Deshalb meine Frage, wie das Handshake im Detail funktioniert.
Wie muss ich dem Leser bzw dem CDF600 EtherCAT Modul "sagen" dass es die restlichen Bytes schicken kann?
 
Hallo,

anbei mal ein kurzes Beispiel für den Datenempfang:
Die ersten 5 Bytes der Prozessdaten beinhalten das Handshaking.

CDF_Datenempfang.png

Ansonsten bitte mal die den Drehcodierschalter 1 („Mode“) überprüfen
0 = proxy mit HS
1 = proxy ohne HS
2= Gateway mit HS
3 = Gateway ohne HS

Ich vermute dass das CDF auf non-HS eingestellt ist und somit nur die 16Byte Daten übertragen werden.

Viel Erfolg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Inzwischen habe ich die Beschreibung des Handshakings auch in einem Dokument zum CDF600-22xx (also der Profinet-Variante) finden können.
In der Beschreibung zum CDF600-3 (Ethercat) steht davon überhaupt nichts.
Nun habe ich in der Beschreibung des CDF600-22xx (Profinet) auch noch die Lösung zu meinem Problem finden können:
Nachdem man den Mode auf "CDF600 mit Handshake" oder so gestellt und die Parameter heruntergeladen hat, muss
man bei diesem Parameter zusätzlich noch "permanent speichern" und den Leser stromlos schalten, damit er neu bootet.
Bei allen anderen mir bekannten Parametern reicht es die Parameter runterzuladen!!!
Alles andere hätte gepasst.
Danke Beckx-net für Deine Bemühungen! :)
 
Zurück
Oben