Can Open mit Raspberry Pi

Ricard
2014-11-15
2014-12-07
  • Ricard - 2014-11-15

    Hallo,
    ich würde mich gerne mit einem Raspberry Pi B+ an einem CanOpen anschliessen um Informationen auf einer Webvisu darzustellen. Ich bin Anfänger mit dem Rasberry Pi. Meine Frage lautet, welches Can modul ist von Codesys unterstütz?

    Grüße Ricard

     
  • eschwellinger

    eschwellinger - 2014-11-18

    Hallo Ricard,

    nicht so einfach wie gedacht mit dem Pi,
    lies mal hier im englischen Forum

    http://forum.codesys.com/viewtopic.php?f=21&t=5611

    das Problem so generell ist, das man einen eigenen Linux Kernel bauen muss + zwei gepatchen kernelmodule verwenden muss.
    Bisher hat sich noch keiner gefunden die Module/kernel als Debian Packet bereitzustellen.
    Vielleicht findet sich ja einer der das machen würde für die "CODESYS Pi Community".
    Also wer hat Lust sowas den anderen zur Verfügung zu stellen?

    Grüße
    Edwin

     
  • Ricard - 2014-11-19

    Hallo Edwin,

    danke für deine Schnelle Antwort. Ist es auch notwendig wenn ich einen PCAN-USB von Peak benutze, einen eigenen Linux Kernel zu bauen.

    Grüße Ricard

     
  • eschwellinger

    eschwellinger - 2014-11-20

    Hallo Ricard,

    leider trotzdem die CAN Unterstützung fehlt beim Standard Debian Wheezy-
    auch für den Peak muss man einen neuen Kernel mit SocketCAN und Peak-USB Unterstützung bauen.
    Grüße
    Edwin

     
  • Ricard - 2014-12-07

    Hallo,

    Ich bin ein Stück weiter gekommen.
    Ich habe mir ein Kernel zusammengestellt bzw die nötigen Module am Kernel angehängt.
    Über die Konsole kann ich auch mit candump can0 empfangen, nur über Codesys habe ich dies noch nicht geschafft.

    Im CODESYS Laufzeitsystem habe ich folgende Komponenten (2-5) in
    /etc/CODESYSControl.cfg ergänzt.

    [ComponentManager]
    Component.1=CmpOpenSSL
    Component.2=CmpCAACanL2Component.3=CmpCAASdoServerComponent.4=CmpCAASdoClientComponent.5=CmpSocketCanDrv

    -Ich würde den Pi gerne als Slave einsetzen.
    -Das einstellen der Can Geschwindigkeit mache ich manuell mit:
    $ sudo service codesyscontrol stop
    $ echo "i 0x031C e" > /dev/pcan32
    $ sudo service codesyscontrol start
    Backup licenses
    tar: Removing leading `/' from member names
    codesyscontrol.bin: no process found
    FATAL: Module w1-gpio not found.
    /
    codesyscontrol started

    Mach ich das so richtig?

    -Beim aufspielen habe ich noch einen Fehler im SPS Log
    Script: rts_set_baud not found-can0 will not work!

    Ich habe rts_set_baud.sh unter /root/ mit Hilfe sudo nano /root/rts_set_baud.sh
    erstellt.
    #!/bin/sh
    CAN_NUM=$(echo $1 | sed 's,^can([0-9]).,\1,')
    ./pcan /dev/pcanusb$CAN_NUM $2

    sudo chmod +x /root/rts_set_baud.sh

    Im Sps Log ist der selbe Fehler immer noch zu finden
    Was mache ich Falsch?

    Gruß Ricard

     

Log in to post a comment.