<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/</id><updated>2021-10-26T12:40:32.411000Z</updated><subtitle>Recent posts to CANopen : re-establishing communication once it goes down</subtitle><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#1ab3/dea4" rel="alternate"/><published>2021-10-26T12:40:32.411000Z</published><updated>2021-10-26T12:40:32.411000Z</updated><author><name>djole01</name><uri>https://forge.codesys.com/u/djole01/</uri></author><id>https://forge.codesys.com48c478804e13a64916e7ecd45b0601e1753e4f89</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi again Eschwellinger,&lt;/p&gt;
&lt;p&gt;Could this be because it's CANopen safety? &lt;br/&gt;
When the communication breaks, it's supposed to go into a safe-state. &lt;/p&gt;
&lt;p&gt;Do you know if it's possible to have the manager restart communication once the slave comes back up, without needing a HW restart?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#1ab3/c5c7" rel="alternate"/><published>2021-09-28T09:44:27.908000Z</published><updated>2021-09-28T09:44:27.908000Z</updated><author><name>djole01</name><uri>https://forge.codesys.com/u/djole01/</uri></author><id>https://forge.codesys.com50afcd0b0d5666a63917669c2876b2f05e2daa0e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks for the response. &lt;br/&gt;
Yes, I've tried using S_xErrorAck, but it didn't help. &lt;br/&gt;
I've been thinking about this problem; I think it's related to an SDO request we have. I'm going to investigate that further and will be contacting the plc vendor if I don't resolve it. &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#1ab3" rel="alternate"/><published>2021-09-28T06:44:23.490000Z</published><updated>2021-09-28T06:44:23.490000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.comba4f712a231a49c28b1d28e0a6ab94c35be292de</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;did you try:&lt;br/&gt;
&lt;a href="https://help.codesys.com/webapp/EJRR-G2buObcxgy7pR9gJbNzzcI%2FCANRemoteDeviceSafe;product=3S%20CANopenSafety;version=3.5.17.0" rel="nofollow"&gt;https://help.codesys.com/webapp/EJRR-G2buObcxgy7pR9gJbNzzcI%2FCANRemoteDeviceSafe;product=3S%20CANopenSafety;version=3.5.17.0&lt;/a&gt;&lt;br/&gt;
to set S_xErrorAck to quit this error?&lt;br/&gt;
and check - S_eError for the result.&lt;br/&gt;
SCT Timeout means: Telegrams did not arrive in time &lt;br/&gt;
Maybe a good option is to ask the plc manufacturer, this is what I would recommend&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#ca39" rel="alternate"/><published>2021-09-27T08:12:34.589000Z</published><updated>2021-09-27T08:12:34.589000Z</updated><author><name>djole01</name><uri>https://forge.codesys.com/u/djole01/</uri></author><id>https://forge.codesys.com025dbbfbf70674764e5e2cb9b5632ced3e3bd59b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;bump&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#9e84" rel="alternate"/><published>2021-09-23T07:35:21.474000Z</published><updated>2021-09-23T07:35:21.474000Z</updated><author><name>djole01</name><uri>https://forge.codesys.com/u/djole01/</uri></author><id>https://forge.codesys.com0a98a29b470cc8fd24947bbd4171e2cf7f3e7d5f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;and here is the CANopen settings for the PC slave&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen : re-establishing communication once it goes down</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/2b82b792d4/?limit=25#101e" rel="alternate"/><published>2021-09-23T07:34:31.987000Z</published><updated>2021-09-23T07:34:31.987000Z</updated><author><name>djole01</name><uri>https://forge.codesys.com/u/djole01/</uri></author><id>https://forge.codesys.com771a8ad762801c6d9f2c7306c5c9f190089e1cb4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am working on a project where we have CANopen communication between a safetyPLC (CANopen Manager / master)and an industrial PC (slave).&lt;br/&gt;
It's working pretty well, except for this one issue; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When the PC slave device shuts off, CANopen stops. But when the PC comes back up again, the CANopen communication does not resume until I do a PLC restart (power off and on), or code re-download. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In our application, we use the S_CANopen_PC_SIL2.S_xActive to monitor communication status. &lt;br/&gt;
I experimented by setting S_CANopen_PC_SIL2.xEnable to true and to acknowledge error once it goes down, and like this I am able to get the CANopen to resume after PC slave comes back alive. &lt;strong&gt;However this only works for 1 time&lt;/strong&gt;.&lt;br/&gt;
I don't know why it only does the trick once. &lt;/p&gt;
&lt;p&gt;This is the sequence currently:&lt;br/&gt;
PLC &amp;amp; PC up an running : S_CANopen_PC_SIL2.S_xActive = TRUE    , no errors&lt;br/&gt;
PC stops communicating : S_CANopen_PC_SIL2.S_xActive = FALSE   , &lt;strong&gt;still no errors&lt;/strong&gt;&lt;br/&gt;
PC comes back alive    : S_CANopen_PC_SIL2.S_xActive = TRUE    , no errors  - successfully re-established once.&lt;br/&gt;
PC stops again         : S_CANopen_PC_SIL2.S_xActive = FALSE   , &lt;strong&gt;now I get error&lt;/strong&gt; : SCT_timout instantly .&lt;br/&gt;
PC comes back alive, (sends same NMT bootup message as before) : S_CANopen_PC_SIL2.S_xActive = FALSE&lt;/p&gt;
&lt;p&gt;Note: The time of the PC being off doesn't seem to have an effect, first xEnable it always comes back up, second time it doesn't. &lt;/p&gt;
&lt;p&gt;Ideally CANopen manager should be the one to control the xEnable of the slave device, and our application should only monitor the status. I will attach the current CANopen manager settings. &lt;/p&gt;
&lt;p&gt;How could I get CANopen to re-establish the communication after it stops once for any reason?&lt;/p&gt;
&lt;p&gt;Thanks in advance,&lt;br/&gt;
Djordje&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>