<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/</id><updated>2020-02-27T13:49:35.618000Z</updated><subtitle>Recent posts to CANOpen slave and heartbeat</subtitle><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#b9c7" rel="alternate"/><published>2020-02-27T13:49:35.618000Z</published><updated>2020-02-27T13:49:35.618000Z</updated><author><name>chab</name><uri>https://forge.codesys.com/u/chab/</uri></author><id>https://forge.codesys.comfeb370a490f9abe8feb31c8f3404be4e3cb9ece7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I found a work-around.&lt;/p&gt;
&lt;p&gt;I’ll write a value directly in the driver, like this: &lt;br/&gt;
pm_uiHeartbeatTime := ADR (CANObject.m_uiHeartbeatTime);&lt;br/&gt;
pm_uiHeartbeatTime^ := 500;&lt;br/&gt;
(It’s dirty and not maintainable but it works.)&lt;/p&gt;
&lt;p&gt;Regards,&lt;br/&gt;
Edwin.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#2ff1" rel="alternate"/><published>2020-02-27T13:49:35.524000Z</published><updated>2020-02-27T13:49:35.524000Z</updated><author><name>chab</name><uri>https://forge.codesys.com/u/chab/</uri></author><id>https://forge.codesys.comb54debde469c5ce26bb780ca06a7e102ac2e29bc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;A nice work-around would be that the CANOpen slave enables it's own heartbeat.&lt;br/&gt;
By using the CIA405.SDO_WRITE4 function, write a value in &lt;span&gt;[1017]&lt;/span&gt; Producer Heartbeat.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#1f37" rel="alternate"/><published>2020-02-27T13:49:35.428000Z</published><updated>2020-02-27T13:49:35.428000Z</updated><author><name>chab</name><uri>https://forge.codesys.com/u/chab/</uri></author><id>https://forge.codesys.com267fbc3e5eada1c82f0c86106c3418101266e103</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thank you, spfeif, for your answer.&lt;/p&gt;
&lt;p&gt;In the generated eds file, the &lt;span&gt;[1017]&lt;/span&gt; Producer Heartbeat Time equals 100.&lt;br/&gt;
But when I read this entry, with SDO, on an actual device, it is 0. (The device is not using the default value!)&lt;/p&gt;
&lt;p&gt;After I wrote a value to the enty, with SDO, on an actual device, the device started with producing heartbeats. (That is a success.)&lt;/p&gt;
&lt;p&gt;Does this mean that I need a CANOpen master to cfg the device?&lt;/p&gt;
&lt;p&gt;I want the device to start with heartbeat on it's own, without any CANOpen master. Is there any work-around e.g. transmit the heartbeat manually, by a function block?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#fe5e" rel="alternate"/><published>2020-02-27T13:49:35.069000Z</published><updated>2020-02-27T13:49:35.069000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.comb465fbfb65769d64f398ee24fb29935a1251d365</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Well if it is CANopen compliant it is up to the Master to configure it. But you may on the CANopen side have defaults. You may have to modify the EDS file to add default parameters. Maybe CoDeSys is using the defaults until it is changed by the master?  The Slave will automatically boot up and send a heartbeat message for each state that it changes to , Bootup, Pre-op etc..&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#84d4" rel="alternate"/><published>2020-02-27T13:49:34.963000Z</published><updated>2020-02-27T13:49:34.963000Z</updated><author><name>chab</name><uri>https://forge.codesys.com/u/chab/</uri></author><id>https://forge.codesys.com93a2b503cfc3481f8079241b0884cbc73671e7fc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In the "Edit SDO parameter area" user defined SDO can be created.&lt;br/&gt;
The button generates / exports an eds file.&lt;/p&gt;
&lt;p&gt;In that eds file, the heartbeat entries are available:&lt;br/&gt;
&lt;span&gt;[1017]&lt;/span&gt; ParameterName=Producer Heartbeat Time&lt;br/&gt;
&lt;span&gt;[1016]&lt;/span&gt; ParameterName=Consumer Heartbeat Time&lt;br/&gt;
Also Guard entries are available:&lt;br/&gt;
&lt;span&gt;[100C]&lt;/span&gt; ParameterName=guard time&lt;br/&gt;
&lt;span&gt;[100D]&lt;/span&gt; ParameterName=life time factor&lt;br/&gt;
This gives an indication that the slave has heartbeat functionality.&lt;/p&gt;
&lt;p&gt;How can I activate the CANOpen device's heartbeat (without doing any SDO from the master)?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br/&gt;
Edwin.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#e731" rel="alternate"/><published>2020-02-27T13:49:34.855000Z</published><updated>2020-02-27T13:49:34.855000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.comee0e7e13b1bc49d6e1ca3286bcc63e79fe09da4e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;What is the "Edit SDO parameter area"? If it is a slave then it is up to the Master to configure the heartbeat. It also looks like it is relying on an eds file. Check and see if the heartbeat is configured in the eds file.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen slave and heartbeat</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/32b3e86e0a/?limit=25#4c91" rel="alternate"/><published>2020-02-27T13:49:34.758000Z</published><updated>2020-02-27T13:49:34.758000Z</updated><author><name>chab</name><uri>https://forge.codesys.com/u/chab/</uri></author><id>https://forge.codesys.comf98b74ce888ec916c67af0de087ac49185d39d38</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Is the CANOpen slave (CanRemoteDevice) capable of transmitting Error Control Service (ECS) e.g. heartbeat?&lt;br/&gt;
(I cannot find any cfg option to do that. See figure. I use CoDeSys V3.)&lt;/p&gt;
&lt;p&gt;Regards,&lt;br/&gt;
Edwin.&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: CanRemoteDevice_Heartbeat.JPG" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=294"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>