Hi,
I have a problem when using codesys v3 with SocketCAN on a ARM module
using Linux kernel 3.0.2 with 2 SJA1000 CAN controllers.
I have two of these modules. I use a CAN messages to monitor if the
other module is alive.
This is done by a toggle bit in one message that is sent every 100ms. If
the toggle bit is not changed within 500ms. I send a alarm.
After about 36h of uptime I start getting alarms about one or the other
module is missing and then the alarm starts to go away but gets
triggered again. This happens about every 1-3 sec after the first alarm
has been sent. The only way the solve the problem is to restart the that
gives the alarm. Ie not the one that is sending the alarm.
I have used a external CAN logger to test the CAN messages. It seems
like the messages are both sent and toggled. This makes me believe that
the TX side is ok.
I also made a test codesys ping pong application. The messages are
always sent on the CAN network verified with CANoe but codesys does not
always receive them.
I think that the problem is in codesys v3. But how can I prove this? Any
suggestions. So far I have only been successful in getting this error on
the entire test system. Not standalone or with other test applications.
Bertil Bäck
p.s
Another side note that I have seen is that the following.
I ran ip -d -s link show can1
It says that I have 3702 arbit-lost and also 3702 TX: errors.
Is one of these a bug? In my head a arbitration loss is not a tx error.
Tx error is like not getting a ACK bit or a error active frame after
transmission. I.e causing the frame to be resent.
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users