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

BeagleBone Black: MC_MoveVelocity_SML -> CommandAborted

rohde1990
2017-09-19
2017-10-06
  • rohde1990 - 2017-09-19

    Hallo,
    ich habe einen BeagleBone Black über CANopen mit einer Motorsteuerung (Elmo Harmonica) verbunden. Die Motorsteuerung steuert einen Motor (Motor Power Company Tetra 56SR0.9).
    Ich schaffe es mit dem SoftMotion Light Funktionsbaustein den Motor zu bewegen, aber nach einer Weile springt der Baustein auf und der Motor stoppt.
    Das Auslesen des CAN-Busses mit einem Oszilloskop ergab, dass das Sync-Signal vor dem Abbruch nicht mehr da ist bzw. gar nichts mehr über den Bus gesendet wird. Nach dem Abbruch wird wieder über den Bus gesendet.

    Hat jemand eine Idee wodran das liegen kann? Hab ich evtl. etwas falsch konfiguriert oder liegt das an einem Geräte (z.B. dem BeagleBone)?

    Im Anhang ist ein Screenshot von der Visualisierung und die Projekt-Datei.

    Vielen Dank für jede Information

    IMG: Screenshot (500).png

    BBB 1 Motor.zip [95 KiB]

     
  • eschwellinger

    eschwellinger - 2017-09-19

    Hi,
    für SoftMotion Light brauchst du nicht zwingend "Sync" und synchrone PDO's (im vergleich bei SoftMotion ist das wirklich ein muss!)
    Sprich, schalt bitte doch mal den "Sync" im Manager ab und schau was dann passiert.
    + in den "Compiler defines" CANOPEN_DEBUG setzen und dann im Fehlerfall im SPS Logger schauen,
    warum das ganze stehen bleibt. (denke das wird's dann nicht mehr - außer es sind Dinge wie Verdrahtung/Abschlusswiederstand usw...)

    Grüße
    Edwin

    IMG: CANopenDebug_and_check_plclog.jpg

     
  • rohde1990 - 2017-09-20

    Danke für die Antwort.
    Wenn ich "Sync" abschalte lässt sich der Motor gar nicht mehr starten und nach einer Weile erscheint vor der SoftMotion Light das rote Dreieck.
    Das rote Dreieck erscheint aber auch nach einer Weile, wenn ich "Sync" noch angeschaltet habe und den Motor nicht starte.

    IMG: Screenshot (508).png

    IMG: Screenshot (507).png

    IMG: Screenshot (506).png

     
  • eschwellinger

    eschwellinger - 2017-09-21

    Hallo,
    ich denke das "rote Dreieck" kommt weil der Antrieb dann plötzlich nicht mehr antwortet. (in beiden Fällen,
    das der Master den Sync nicht mehr schickt kann ich mir nicht vorstellen, alternativ der Master die Telegramme nicht mehr empfängt obwohl die auf dem Bus sind)

    Klar einen CAN Monitor anschließen(Peak oder was auch zur Verfügung steht würde auch Klarheit schaffen)
    Auch klar wenn Sie den Sync abschalten sollten Sie auch die PDO's umstellen auf Async nur auf Änderung.

    Denke aber am schnellten kommen wir weiter mit dem PLC Logger.

    Also jetzt erst mal rausfinden ob alles auf dem Bus ist (klar kann immer sein das LowLevel CAN über das Linux Kernelmodul nicht an CODESYS gehen
    oder eben dort verloren gehen.

    Grüße
    Edwin

     
  • eschwellinger

    eschwellinger - 2017-09-21

    Hallo nochmal,
    mach doch bitte mal das Heatbeat noch weg..!

    Grüße
    Edwin

    IMG: MessagesLost.jpg

     
  • rohde1990 - 2017-09-21

    Wenn ich den Heartbeat wegnehme ist das "rote Dreieck" dauerhaft da.

    Im Anhang ist noch ein Screenshot von dem, was ich in diesem Fall mit dem PCAN Explorer empfangen habe.

    IMG: Fehler.png

    IMG: PCAN.png

     
  • rohde1990 - 2017-10-06

    Was ich noch vergessen hab zu erwähnen, dass die MMotorsteuerung die Emergency-Botschaft sendet.
    Ich konnte leider nicht herausfinden was das zu bedeuten hat.

    IMG: Screenshot (534).png

     
  • eschwellinger

    eschwellinger - 2017-10-06

    Hi,

    also ich würde so vorgehen:
    1. du nimmst den PEAK USB und machst mit Control Win (das ist die SPS die mit CODESYS mitkommt)
    die Tests die du aktuell mit dem BeagleBone machst.
    Damit will ich überprüfem liegts am Drive oder an der SPS.
    (meine Vermutung ist ja immer noch das BBB CAN telegram zwischen Socket Treiber und IEC- also CODESYS verliert.

    Damit die Control Win mit dem Peak USB CANopen machen kann musst du im CODESYSCotronl.cfg der Control Win SPS
    folgende Componente einkommentieren:
    [ComponentManager]..Component.6=CmpPCANBasicDrv

    so in deinem Projekt mit Gerät aktualisieren im Gerätebaum auf Control WIN SPS wechseln.
    (unten im Tasktray dann die SPS starten)
    einloggen und dann bin ich gespannt wie das zusammen funktioniert deine lokale SPS und der Antrieb.

    1. dann wieder zurück auf BBB und schauen -- (abhängig von Ergebnis aus Test1)

    Grüße
    Edwin

     

Log in to post a comment.