<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CANOpen PDO period</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3129e69280/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3129e69280/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/3129e69280/</id><updated>2020-02-27T13:47:52.575000Z</updated><subtitle>Recent posts to CANOpen PDO period</subtitle><entry><title>CANOpen PDO period</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3129e69280/?limit=25#a6ae" rel="alternate"/><published>2020-02-27T13:47:52.575000Z</published><updated>2020-02-27T13:47:52.575000Z</updated><author><name>timvh</name><uri>https://forge.codesys.com/u/timvh/</uri></author><id>https://forge.codesys.com14fd08d90d84a8b1517360c6323efd02c47baca2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I have never used this method. Normally I set this in the PLC configuration throught the properties of the PDO.&lt;br/&gt;
The default settings is "Device Profile specific" which results in sending a PDO when the data changes.&lt;br/&gt;
You can also set this to cyclic synchronous which results in sending the PDO every sync.&lt;br/&gt;
By changing the Sync period you can determine how often the PDO is send.&lt;br/&gt;
Does this work with your CANOpen device?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANOpen PDO period</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3129e69280/?limit=25#0574" rel="alternate"/><published>2020-02-27T13:47:52.502000Z</published><updated>2020-02-27T13:47:52.502000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.com29d46ecc34e02532e28577cce88909542d972b2d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;How can I send a PDO to a slave device at a pre-determined period?&lt;/p&gt;
&lt;p&gt;In V2.3 it was possible to access the global CANopen array and and enable and set the PDO timer of the CoDeSys Master stack. This would send the PDO to the slave at the configured period. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c"&gt;(* Example *)&lt;/span&gt;
&lt;span class="n"&gt;pCanOpenPDO_Tx&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;RepeatTimer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IN&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="c"&gt;(* Enable the event timer if FALSE then COS*)&lt;/span&gt;
&lt;span class="n"&gt;pCanOpenPDO_Tx&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;RepeatTimer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="c"&gt;(* Send PDO every 100ms*)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;But in V3 I don't have access to this stack? I only seem to have FB for SDO, NMT, and EMGY. How can I setup a PDO to be sent at a periodic rate? One way to cheat is toggle a bit that is un-used in the PDO to force CoDeSys to send the data. but I don't like this hack.&lt;/p&gt;
&lt;p&gt;Unfortunately some slaves require data at a certain rate.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>