<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to NMT Problems</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/</id><updated>2020-02-27T13:48:25.901000Z</updated><subtitle>Recent posts to NMT Problems</subtitle><entry><title>NMT Problems</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/?limit=25#2d20" rel="alternate"/><published>2020-02-27T13:48:25.901000Z</published><updated>2020-02-27T13:48:25.901000Z</updated><author><name>yue-qi-qi</name><uri>https://forge.codesys.com/u/yue-qi-qi/</uri></author><id>https://forge.codesys.comb8ff5fe889bd0c2f7a48d3ad22c9e46281d9ea1d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks,you are right.&lt;br/&gt;
I test,and find that the first NMT message should be sent several senconds after the PLC reboot, &lt;br/&gt;
if you send the NMT message too soon(no longer than 2s) after the PLC reboot,then you will get the Error of "CANOPEN_REQUEST_ERROR".&lt;br/&gt;
Our target is Wachendorrf Display.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>NMT Problems</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/?limit=25#18a2" rel="alternate"/><published>2020-02-27T13:48:25.797000Z</published><updated>2020-02-27T13:48:25.797000Z</updated><author><name>timvh</name><uri>https://forge.codesys.com/u/timvh/</uri></author><id>https://forge.codesys.com101a04d2c60e3f91bb7e83a90dbc8dc0491e5666</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I tried it and it works fine:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;fbNmtStart&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="nt"&gt;NETWORK&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;1&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="nt"&gt;ENABLE&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;xEnableStartAll&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="nt"&gt;TIMEOUT&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;1&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="nt"&gt;CONFIRM&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&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="nt"&gt;ERROR&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&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="nt"&gt;DEVICE&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;0&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="nt"&gt;STATE&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;CIA405&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;TRANSITION_STATE&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;START_REMOTE_NODE&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The way you have coded the timer function actually only functions once when 1 second has passed.&lt;br/&gt;
The enable is a trigger to send the message. In the code you should handle the confirm or error  reply.&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: ScreenShot.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=417"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>NMT Problems</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c6f21b9613/?limit=25#414c" rel="alternate"/><published>2020-02-27T13:48:25.719000Z</published><updated>2020-02-27T13:48:25.719000Z</updated><author><name>yue-qi-qi</name><uri>https://forge.codesys.com/u/yue-qi-qi/</uri></author><id>https://forge.codesys.comab472661f0a1f601e8c240046ad10896a5b621dd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;When calling the CIA405.NMT function block,I met prblems.&lt;/p&gt;
&lt;p&gt;PLC_PRG&lt;br/&gt;
    CanopenNMT:CIA405.NMT;&lt;br/&gt;
    tmr:TON;&lt;br/&gt;
ENDVAR&lt;/p&gt;
&lt;p&gt;tmr(IN:=TRUE,PT:=t#1s);&lt;br/&gt;
IF tmr.Q THEN&lt;br/&gt;
    CanopenNMT(NETWORK:=1,ENABLE:=TRUE,TIMEOUT:=1,DEVICE:=0,STATE:=CIA405.TRANSITION_STATE.START_REMOTE_NODE);&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;I want the Canopen manager to send the message of "0x000 01 00" every second,but I faild.&lt;br/&gt;
If there is no remote canopen device added to bellow the Canopen manager, then only 2 piece of such message is sent but not cyclicly per second.&lt;/p&gt;
&lt;p&gt;If there are remote canopen devices added to bellow the Canopen manager, then there is no shch message as "0x000 01 00" sent with the Error of "CANOPEN_REQUEST_ERROR".&lt;/p&gt;
&lt;p&gt;and I don't know why.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>