Is there a bug in the CANopen Manager ?

DavidBo
2022-07-18
2022-08-22
  • DavidBo - 2022-07-18

    I have a problem with receiving heat beats from 2 slave nodes, and I am beginning to believe that the CANopen Manager has a problem with receiving heat beats either by doing some access violation or overwrite data not yet read. My system is this:

    CODESYS Control For Raspberry Pi MC SL
    Version 4.4.0.0

    Version: 3.5.17.0
    Description: CANopen Manager
    Configuration version: 3.5.1.0

    Baud rate 250kbit/s
    MainTask Interval 100ms

    SYNC
    Cycle period 100ms, Window length 20ms
    For each node I have 4 Rx PDO and 4 Tx PDO. Heart beat every 400ms

    First I thought that all PDOs always where transmitted and received at every SYNC period. That does not seem to be the case. with
    ip -details -statistics link show can0
    I can see that TX: bytes aren't changing but the number of packets does. Why? Is that because the values of my TX PDOs haven't change? Can anyone confirm that?

    Ok my problem is this:
    My two nodes works well for 1 hour. Then I get missing heart beats from both of them.

    I was curious about what error frames I might receive from the nodes when the fault occurred, so I ran
    candump -e -x -ta -a -l any,0~0,#FFFFFFFF

    but as soon I did that there was no problems. It works for hours and it is still running.
    However, I cannot have logging enabled in my application for ever. Any suggestions for a work around.

     
    • DavidBo - 2022-08-22

      I can report that all my PDO was device specific asynchrony it means in my case that when ever a variable in the PDO changed value the PDO was sent. For one device it was acceptable but for 2-3 devices the bus got saturated and the behavior of CODESYS became unpredictable. When I changed the PDO to cyclic the problem disappeared.

       

Log in to post a comment.