wese-P - 2017-02-13

Hallo,

Ich habe ein Problem mit den CAN-Examples in Kombination mit "Pixtend" und "Raspberry Pi",
der Versuch einen einfachen 11bit Frame per Codesys an meine Busgeräte zu senden hat leider nicht funktioniert.

Beim einrichten der CAN-Kommunikation von Pixtend bin ich der App-Note http://www.pixtend.de/files/manuals/APP-PX-530_Codesys_CAN_DE.pdf
gefolgt und konnte dann auch mit hilfe des CAN-Utils "cansend" einen Frame an meine Geräte senden, dies hat ohne Probleme funktioniert.

Ich habe bereits hier im Forum nach Beiträgen gesucht und konnte einen älteren Post http://forum.codesys.com/viewtopic.php?f=21&t=5611&hilit=pican#p10805
finden bei dem ein externes Board welches auch den MCP2515 Chip verwendet, unter Codesys und mit Hilfe der CAN-Examples
anscheinend zu erfolgen geführt hat.

Nun wäre die Frage wie das mit dem Pixtendboard genau umsätzbar wäre.

Hier sind noch meine bisherigen Einstellungen und Programme:

/etc/CODESYSControl.cfg
[ComponentManager]
Component.1=CmpOpenSSL
Component.2=CmpCAACanL2
Component.3=CmpCAASdoServer
Component.4=CmpCAASdoClient
Component.5=CmpSocketCanDrv

/boot/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can1,oscillator=20000000,interrupt=4,spimaxfrequency=1000000
dtoverlay=spi-bcm2835-overlay
dtoverlay=spi-dma
dtdebug=on

/etc/modprobe.d/raspi-blacklist.conf
blacklist mcp251x

/root/rts_set_baud.sh
#!/bin/sh
BITRATE=expr $2 \\* 1000
ifconfig $1 down
echo ip link set $1 type can bitrate $BITRATE
ip link set $1 type can bitrate $BITRATE
ifconfig $1 up

./activateCAN.sh
#!/bin/sh
if [ ! -d "/sys/class/gpio/gpio24" ]; then
echo "24" > /sys/class/gpio/export
fi
echo "out" > /sys/class/gpio/gpio24/direction
echo "1" > /sys/class/gpio/gpio24/value
if [ ! -d "/sys/class/gpio/gpio27" ]; then
echo "27" > /sys/class/gpio/export
fi
echo "out" > /sys/class/gpio/gpio27/direction
echo "1" > /sys/class/gpio/gpio27/value
sleep 1
sudo modprobe mcp251x
sudo /sbin/ip link set can0 up type can bitrate 100000
sudo ip -s -d link show can0

./activateDAC.sh
Fügen Sie folgende Zeilen hinzu:
#!/bin/sh
sudo /sbin/ip link set can0 down
echo "1" > /sys/class/gpio/gpio24/value
echo "
0
" > /sys/class/gpio/gpio27/value
sleep 1
sudo modprobe
-r
mcp251x

./startPLCCAN.sh
#!/bin/sh
sudo /etc/init.d/codesyscontrol stop
sudo /home/pi/activateDAC.sh
sudo /home/pi/activateCAN.sh
sudo /etc/init.d/codesyscontrol start

Gruß
Sebastian

IMG: 2.png

IMG: 1.png