Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

CanOpen Sync Probleme

mpexx
2017-01-27
2017-02-03
  • mpexx - 2017-01-27

    Hallo allerseits.

    Wir hatten vor, zwei Schneider Lexium 32A Antriebe über CanOpen und Softmotion zu betreiben.
    Dazu den Beckhoff EK1100 mit EL6751 CanOpen-Masterklemme bestellt.

    Leider will das ganze nicht funktionieren. Die Umrichter gehen nach kurzer Zeit in Störung. Sie zeigen dann
    "Error B404: SYNC signal missed more than twice."
    Zu Testzwecken wurde auch ein PEAK USB-Can Adapter versucht. Mit gleichem Ergebnis.

    Laut Beckhoff soll der EL6751 einen "Quarzgenauen SYNC-Zyklus für Antriebssynchronisation" beherrschen.
    Ich kann jedoch nirgendwo eine Option finden, das Sync-Producing direkt vom EL6751 machen zu lassen.

    PS: Raspbian wurde auch schon mit PREEMPT-RT Kernel versucht. Ohne Besserung...

    Hat jemand zufällig noch eine Idee, wie das Problem zu lösen wäre?

     
  • BOBmoraine - 2017-01-27

    Moin,
    ist das nen Pi2 oder 3? Vielleicht laggt der nur?
    Oder einfach nur zu schwach für deine Anwendung?

    Ich kenn zwar deinen Umrichter nicht, aber hast du schonmal versucht die Toleranz der Fehler einzustellen? Sprich die Zeit bis der Fehler kommt (Timeout evtl?) und die Anzahl der Fehlerpakete.
    Habt ihr mal die Kabel geprüft/getauscht?

     
  • eschwellinger

    eschwellinger - 2017-01-27

    Hi,

    das muss gehen, am besten den Ethercat Task auf 2ms und dann im CANopenManager
    "Enable Sync Producing" und Cycle Period auf 4ms dann wird es gehen.

    Grüße
    Edwin

    IMG: SyncProducing.jpg

     
  • mpexx - 2017-01-29

    Also es handelt sich um einen Raspberry Pi 3.
    Die Anwendung ist eigentlich eine recht simple Pick Place Anwendung.
    Am Umrichter lässt sich die Toleranz nicht einstellen.
    Laut Bedienungsanleitung steigt der Umrichter ab einer Abweichung von 100 (!) µs aus.

    Der Pi hat trotz Echtzeitkernel einen Jitter von +- 500-600 µs (laut Task Monitor).
    Mit den Zeiten hab ich schon einiges versucht. Ohne Erfolg.

    Der einzige Unterschied, den ich jetzt auf den ersten Blick gesehen habe, ist der, dass ich in der Config statt dem CanOpenManager den CanOpenManager Softmotion verwende.
    Aber daran wird's jetzt ja nicht liegen, oder?

    Die Frage, die ich mir noch stelle ist folgende:
    Erzeugt die Codesys-Runtime / der CanOpenManager das Sync-Signal selbst?
    Und wenn ja, gibt es nicht die Möglichkeit, das auf die EL6751 auszulagern, die das ja scheinbar unterstützt. (Zumindest laut der Produktbeschreibung von Beckhoff)

    Gruß

     
  • eschwellinger

    eschwellinger - 2017-01-29

    Hi,

    doch der CANopenManager erzeugt den Sync selber und der ist wenn du enen echtzeit gepatchten Kernel verwendest auch genau genug.
    Das verwenden des Syncs der Klemme geht nicht.

    Also nochmal.. verwendest du das rt_preemt gepatchte Emlid / Navio Image?
    Wenn ja dann den Tip mit den 4ms/2ms Ethercat zu synczeit verwenden.

    Ich habe das mit anderen Antrieben schon gemacht, klar mag sein das der Lexium früher in den Fehler geht wie andere Drives aber im TaskMonitor
    müssen Jitter Zeiten nach reset mit rechter Maustaste <100us stehen sonst "taugt" der Kernel Patch nichts.

    Grüße
    Edwin

     
  • mpexx - 2017-01-29

    Ok.
    Der Kernel ist selbst gebaut; Raspbian Jessie mit dem offiziellen RT-Patch.
    Wollte zuerst auch den NAVIO/Emlid nehmen, aber es sah für mich so aus, als ob die Images nur für den RPi 2 wären...
    Schau mir das dann morgen noch mal an.

     
  • B.Roth - 2017-01-31

    Hallo,

    das funktioniert im Moment leider nicht mit dem Lexium32 und dem CANsync (Im Moment nur an Schneider Controller LMC058 oder CODESYS SPRTE und PCI-Cankarte)
    Die Lexium32 laufen mit EtherCAT am PI das ist getestet.
    Es wird im Moment untersucht wieso der Lexium32 da etwas rumzickt.

    Wenn es Neuigkeiten gibts wird es hier dann wieder gepostet.

    Es gibt aber eine Alternative falls keine Synchronisation bei den Antrieben benötigt wird kann man auch die Lexium-PLCpoen-lib verwenden.

    im Anhang ist ein Archiv mit der Lib und dem Device für Lexium32A, Lexium32M;

    https://schneider-electric.box.com/s/ks ... fq07yb6xfw

    Gruß Bruno Roth
    (Support Machine Solution Schneider Electric Automation)

    IMG: lib1.JPG

     
  • mpexx - 2017-02-03

    Hallo nochmal.
    Erst mal vielen Dank. Euer Support ist spitze!
    Für unsere Applikation ist keine Synchronisation notwendig.

    Die Schneider-Bausteine funktionieren einwandfrei!

    Vielen Dank nochmal hierfür!

     

Log in to post a comment.