<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/</id><updated>2023-04-17T11:32:29.450000Z</updated><subtitle>Recent posts to CANbus timing why not 8 slaves?</subtitle><entry><title>CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/?limit=25#a8d9" rel="alternate"/><published>2023-04-17T11:32:29.450000Z</published><updated>2023-04-17T11:32:29.450000Z</updated><author><name>DavidBo</name><uri>https://forge.codesys.com/u/davidbo/</uri></author><id>https://forge.codesys.com782ac38c7cdd0afa7e31153227bd276c79c619d2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;We have now discovered. That enabling of the I2C interface and after adding an I2C_master but without any devices will have an impact on the traffic on the spi interfaces and here by on the traffic on the can bus as well. We thought that the OS or CODESYS behind the scene with a critical region or semaphores ensured protection of the above. Because in the above example we had an I2C_master as well as one device. Without any I2c_master it can run for days, with an I2C_master only for &amp;lt;3 hours&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/?limit=25#88cb" rel="alternate"/><published>2023-02-20T19:05:23.265000Z</published><updated>2023-02-20T19:05:23.265000Z</updated><author><name>DavidBo</name><uri>https://forge.codesys.com/u/davidbo/</uri></author><id>https://forge.codesys.com4facbd76d6bb72de39088e3d5fc7e94376e8b919</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;We are talking about cyclic PDO. It means a loss of some frames (messages) is not a problem. The problem is that in the above example the transmitting of any message PDOs or heartbeat from the master simply stops and a warm reset has to be done.&lt;br/&gt;
I don't think the load in the above example is high. However, it can be the driver (or stack)  for the can bus, which cannot figure out to queue messages properbly if they come fast from the CANOpen_manager.&lt;br/&gt;
I will later try it out with a newer version (Bullseye) and see what's happen.&lt;br/&gt;
I also think, but not yet tried I can with a python script test the communication with 250kbit/s without any problem, though with some loss of frames.&lt;br/&gt;
It would be wonderful if I could instruct the CANOpen_manager to wait at least 1ms between every frame it sends.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/?limit=25#2b7c" rel="alternate"/><published>2023-02-20T12:37:25.913000Z</published><updated>2023-02-20T12:37:25.913000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.comabe64905aa0b9160126b4b0bffed3ef47500f268</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;From my experience, this is usually a low level problem, can mini driver loses messages.. as soon you have higher load on CANbus. ( This is not a problem of the CANopen Manager)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/?limit=25#4392" rel="alternate"/><published>2023-02-17T17:28:19.565000Z</published><updated>2023-02-17T17:28:19.565000Z</updated><author><name>DavidBo</name><uri>https://forge.codesys.com/u/davidbo/</uri></author><id>https://forge.codesys.come33424b415aa46f14f752a2b73d9fcb95b736995</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Can anyone explain how the CANopen manager schedules the PDO for each node at every PLC cycle. What happens if the CANBus controllers buffer is full (PiCAN2 is using MCP2515)?&lt;br/&gt;
It seems only a limited number of frames from the master can be sent from the master, one for each node of total 6. Above that after a while the transmitting from the Pi just stops.&lt;br/&gt;
The CANOpen Manager version 3.15.17.0 does not it seems scale well.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANbus timing why not 8 slaves?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/b7c4138cfb/?limit=25#a006" rel="alternate"/><published>2023-02-17T11:45:52.303000Z</published><updated>2023-02-17T11:45:52.303000Z</updated><author><name>DavidBo</name><uri>https://forge.codesys.com/u/davidbo/</uri></author><id>https://forge.codesys.com905dab40b7d32fa26bf77396526b0874ee4b615b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;CAN bus speed calculation&lt;br/&gt;
Raspberry Pi 2 with a HAT PiCAN 2 &lt;br/&gt;
250kbit/s, 8 identical nodes, 1m&lt;br/&gt;
A Bus cycle task for the CANopen manager is a special created task with a cycle time of 10ms&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Each Node&lt;/strong&gt; &lt;br/&gt;
Receives 1 PDO and transmits 3 PDO cyclic&lt;br/&gt;
Pi produces SYNC&lt;br/&gt;
Cycle period 400ms&lt;br/&gt;
Windows length 40ms&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pi produces heartbeat.&lt;/strong&gt;&lt;br/&gt;
Producer time 800ms&lt;br/&gt;
Each node is set to consume a heartbeat within 1800ms&lt;/p&gt;
&lt;p&gt;Assuming that each PDO is sent in one frame of 8 data bytes we get the amount of bits transmitted at every SYNC&lt;br/&gt;
112x3=336 bits&lt;br/&gt;
 and we have 8 nodes in total&lt;br/&gt;
336x8=2688 bits&lt;/p&gt;
&lt;p&gt;The time used for transmitting is &lt;br/&gt;
t=2688/250 = 10.8ms&lt;br/&gt;
This is below the window length&lt;/p&gt;
&lt;p&gt;However all my slaves sends an EMCY saying that heartbeat not received after a while. If I disable 2 nodes. It all works without problems for days. Why can't I have 8 nodes&lt;br/&gt;
When is heartbeat sent? Inside or outside the PDO SYNC window?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>