CAN Open Antrieb ansprechen ohne passende Library

howie6000
2006-11-19
2006-11-21
  • howie6000 - 2006-11-19

    Ich bin Neulng auf dem Gebiet CAN Open, und habe folgendes Problem:

    Meine Aufgabe ist es, einen Antrieb über

    CAN anzusprechen und zu fahren. Der Antriebshersteller stellt

    leider keine Library zur Verfügung um dieses zu ermöglichen.

    Zum Glück stellt die Dokumentation von CoDeSys eine Umfangreiche

    Hilfe zur Verfügung, aber auch leider nur bis zu einem gewissen Grad.

    Da heisst: Es ist gut beschrieben, wie der Antrieb einzubinden ist, aber nicht, wie es weiter geht...

    Wie ist nun die richtige Vorgegehensweise herauszufinden, wie ich den

    Antrieb ansprechen muss?

    Kann man sich aus der *.eds Datei gewisse Dinge ableiten?

    Gibt es Libraries anderer Hersteller, welche man universell nutzen kann?

    Danke für Eure Hilfe...

     
  • B.Roth - 2006-11-20

    Hallo prinzipiell reicht das EDS-file um den Antrieb einzubinden, und um die Control und Statusworte in die PDOs zu mappen.

    Dann brauchst du aber die Beschreibung dieser Objekte und des ganzen Antriebs. Und dann ist viel Arbeit angesagt.

    Ich empfehle dir bei Kuhnke nach eine Bibliothek nachzufragen oder verwende gleich einen Antrieb von Berger-Lahr http://www.Berger-Lahr.com. Diese bieten für alle ihre Antriebe PLC-Open-Bibliotheken über CANopen für ihre eigenen Motioncontroller unter CoDeSys und diese Bibliotheken laufen auch mit CoDeSys-Steuerungen die die CANopen-Lib von 3S einsetzen.

    Gruß Bruno

     
  • howie6000 - 2006-11-20

    Am Heutigen Tage bin ich schon etwas weiter gekommen.

    Die EDS Datei, welche in dem CanDevice zugewiesen habe, war

    bereits so konfiguriert, das Dinge wie controlword, statusword, target

    position, u.s.w. automatisch gemappt worden sind.

    Zur Kontrolle habe ich dann die EDS Datei mit einem Texteditor geöffnet

    und überprüft, ob die Objektnamen (z.B. controlword) mit dem

    entsprechenden HEX Wert zusammen passen. Theoretisch kann ich mir schon jetzt mein controlword Bit für Bit zusammensetzen, die Adrssierung der

    einzelnen Bit´s steht auch in einer Objekt- und Schnittstellenbeschreibung

    von Kuhnke.

    Trotzdem dreht sich mein Antrieb noch nicht. Muss man eventuell irgend

    etwas initialisieren? Wie gesagt, ich habe keine *.lib für den Antrieb, denke

    aber das ich auch andere Bausteine anderer Hersteller nutzen kann.

    Oder reicht eventuell die 3S_CanOpenMaster.lib für diese Aufgabe?

     
  • B.Roth - 2006-11-21

    Hallo,

    das mit den Bibliotheken anderer Hersteller ist nicht so einfach, weil

    die meisten Hersteller unterschiedliche CanOpen-Stacks (3S-CanOpenlib oder eigene Implementation) verwenden und damit beginnt schon das Problem. Ausserdem verwenden die meisten Hersteller nicht nur die Objekte nach DS402 sondern auch noch Herstellerspezifische, das macht die Austauschbarkeit wieder schwierig.

    Warum dein Antrieb nicht dreht kann verschiedene Gründe haben:

    zum einen mußt du die Statusmaschine (CANopen und DS402) korrekt durchschalten bis der Antrieb im Zustand Enable (Endstufe ein) ist.

    Dann mußt du den entsprechenden Mode z.B.: Positionprofile oder Velocityprofile aktivieren und dann müßte der Antrieb drehen.

    Ich würde dir aber immer trotzdem zu einem Antrieb von Berger Lahr raten, da gibts die schönen Bausteine gratis schon dazu und guten Support.

    Grüße Bruno

     
  • howie6000 - 2006-11-21

    Danke für deine schnelle Antwort.

    Ich habe heute vormittag zum Glück eine Schnitstellenbeschreibung

    in die Hände bekommen, welche nach der 402'er Norm ausgestellt war.

    Durch sehr viel probieren und versuchen habe ich es jetzt doch noch

    erfolgreich geschafft, den Antrieb im Positioniermodus auf die entsprechenden

    Positionen zu verfahren. Und das nur durch direkte Bit Ansteuerung.

    Habe am heutigen Tage wiedermal sehr viel über neue Technologien gelernt.

    Danke für den Support, das 3S Forum ist wirklich Super !!!

     

Log in to post a comment.