<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/</id><updated>2020-02-28T00:57:20.634000Z</updated><subtitle>Recent posts to CANopen Manager per Code aktivieren / deaktivieren</subtitle><entry><title>CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/?limit=25#3f07" rel="alternate"/><published>2020-02-28T00:57:20.634000Z</published><updated>2020-02-28T00:57:20.634000Z</updated><author><name>Dave-76</name><uri>https://forge.codesys.com/u/dave-76/</uri></author><id>https://forge.codesys.comd5cd51344c210c39da4530d0fdd1b8bcd56ab6bd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Danke ich werde das demnächst benötigen, da ich bei bestimmten Anlagen auch den CAN-Bus abschalten möchte um CPU-Last zu sparen!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/?limit=25#de29" rel="alternate"/><published>2020-02-28T00:57:15.580000Z</published><updated>2020-02-28T00:57:15.580000Z</updated><author><name>jago85</name><uri>https://forge.codesys.com/u/jago85/</uri></author><id>https://forge.codesys.com6604af6a32b05b3f51a9075730f5634de07fb945</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ich habe mich nun etwas mit dem Beispiel beschäftig und begonnen daraus etwas eigenes zu bauen. Allerdings lief erstmal gar nichts (das Beispiel klappte aber). Ich habe das dann soweit vereinfacht, dass ich nur den Aufruf von DED.GetRoot() im Projekt hatte. Die Funktion gab immer nur 0 zurück.&lt;/p&gt;
&lt;p&gt;Nach einiger Sucherei habe ich dann endlich herausgefunden, dass man in den SPS-Einstellungen "&lt;strong&gt;Diagnose für Geräte aktivieren&lt;/strong&gt;" setzen muss. Ich hatte mir dir Bibliothek "CAA Device Diagnosis" selbst in den Bibliotheksverwalter gezogen. Eigentlich wird diese automatisch angezogen, wenn man diese Funktion aktiviert.&lt;/p&gt;
&lt;p&gt;Vielleicht hilf das hier ja mal jemanden mit einem ähnlichen Problem. So etwas dürfte ruhig in dem PDF, was dem Beispiel beiliegt, einmal erwähnt werden.&lt;/p&gt;
&lt;p&gt;Zumindest kann ich die gewünschte Funktion nun relativ einfach erreichen. Das Deaktivieren des CANopen-Managers habe ich soweit vereinfacht:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;_itfNode&lt;/span&gt; : &lt;span class="nv"&gt;DED&lt;/span&gt;.&lt;span class="nv"&gt;INode&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;_fbReconfig&lt;/span&gt; : &lt;span class="nv"&gt;DED&lt;/span&gt;.&lt;span class="nv"&gt;Reconfigure&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;_xEnable&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;_xEnableNode&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="o"&gt;----------------------------------------------&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;hier&lt;/span&gt; &lt;span class="nv"&gt;das&lt;/span&gt; &lt;span class="nv"&gt;Ger&lt;/span&gt;ä&lt;span class="nv"&gt;t&lt;/span&gt; &lt;span class="nv"&gt;zuweisen&lt;/span&gt;
&lt;span class="nv"&gt;_itfNode&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;CANopen_Manager&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;_xEnable&lt;/span&gt; &lt;span class="nv"&gt;einmalig&lt;/span&gt; &lt;span class="nv"&gt;setzen&lt;/span&gt;, &lt;span class="nv"&gt;um&lt;/span&gt; &lt;span class="nv"&gt;den&lt;/span&gt; &lt;span class="nv"&gt;Vorgang&lt;/span&gt; &lt;span class="nv"&gt;zu&lt;/span&gt; &lt;span class="nv"&gt;starten&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;_xEnableNode&lt;/span&gt; &lt;span class="nv"&gt;setzten&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nv"&gt;zur&lt;/span&gt;ü&lt;span class="nv"&gt;cksetzen&lt;/span&gt; &lt;span class="nv"&gt;je&lt;/span&gt; &lt;span class="nv"&gt;nach&lt;/span&gt; &lt;span class="nv"&gt;gew&lt;/span&gt;ü&lt;span class="nv"&gt;nschter&lt;/span&gt; &lt;span class="nv"&gt;Funktion&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;aktivieren&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nv"&gt;deaktivieren&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;_xEnable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;_xEnable&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;_itfNode&lt;/span&gt;.&lt;span class="nv"&gt;Enable&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;_xEnableNode&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;_fbReconfig&lt;/span&gt;.&lt;span class="nv"&gt;xExecute&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;_fbReconfig&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;itfNode&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;_itfNode&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;_fbReconfig&lt;/span&gt;.&lt;span class="nv"&gt;xDone&lt;/span&gt; &lt;span class="nv"&gt;OR&lt;/span&gt; &lt;span class="nv"&gt;_fbReconfig&lt;/span&gt;.&lt;span class="nv"&gt;xError&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;_fbReconfig&lt;/span&gt;.&lt;span class="nv"&gt;xExecute&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/?limit=25#1500" rel="alternate"/><published>2020-02-28T00:57:13.812000Z</published><updated>2020-02-28T00:57:13.812000Z</updated><author><name>jago85</name><uri>https://forge.codesys.com/u/jago85/</uri></author><id>https://forge.codesys.comde0180a4171f18b185c32f8e459c4ccd37d3c82a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Edwin,&lt;/p&gt;
&lt;p&gt;das klingt gut. Ich schaue es mir an.&lt;/p&gt;
&lt;p&gt;Danke für den Tipp.&lt;/p&gt;
&lt;p&gt;Grüße,&lt;br/&gt;
Jan&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/?limit=25#db75" rel="alternate"/><published>2020-02-28T00:57:08.816000Z</published><updated>2020-02-28T00:57:08.816000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.comec56dda5d0f26c00877c26c050d0d5577cb1d25a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br/&gt;
schau mal in folgendes Beispiel:&lt;/p&gt;
&lt;p&gt;CAA Device Diagnosis Example:&lt;br/&gt;
&lt;a class="" href="https://store.codesys.com/caa-device-diagnosis-example.html" rel="nofollow"&gt;https://store.codesys.com/caa-device-di ... ample.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The example use cases demonstrate how to use the CAA Device Diagnosis library for the following:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;Starting&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stopping&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;and&lt;/span&gt; &lt;span class="n"&gt;resetting&lt;/span&gt; &lt;span class="n"&gt;devices&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;    Activating and deactivating devices&lt;/strong&gt;&lt;br/&gt;
    Traversing the device tree&lt;br/&gt;
    Collecting device and bus information&lt;/p&gt;
&lt;p&gt;Grüße&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CANopen Manager per Code aktivieren / deaktivieren</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/0dbcdffdbf/?limit=25#32b9" rel="alternate"/><published>2020-02-28T00:57:07.025000Z</published><updated>2020-02-28T00:57:07.025000Z</updated><author><name>jago85</name><uri>https://forge.codesys.com/u/jago85/</uri></author><id>https://forge.codesys.come2b61b840102d9eb96678dc805341da9f0966e6e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;wir haben in unserem System einen CANopen-Manager laufen, den wir in bestimmten Zuständen gerne deaktivieren möchten. Unser System erfordert es, bestimmte Geräte abzuschalten, um Strom zu sparen. Darunter fallen auch alle CAN-Knoten und selbst die Versorgungsspannung der CAN-Schnittstelle. (Das Schalten der Betriebsspannungen erfolgt über Ausgänge der Steuerung. Die Steuerung selbst läuft immer.) Das hat zur Folge, dass CAN-Nachrichten des CANopen-Managers nicht mehr bestätigt werden und somit in der Transmit-Queue hängen bleiben. Der CAN-Treiber versucht dann die CAN-Nachrichten immer wieder zu versenden. In der Steuerung steigt dann die CPU-Last der CAN-Prozesse. Beim Wiedereinschalten wird dann erstmal die gesamte Transmit-Queue gesendet.&lt;/p&gt;
&lt;p&gt;Daher suche ich gerade nach einer Möglichkeit, den CANopen-Manager per Code zu deaktivieren, vor allem mit dem Ziel, dass keine Nachrichten mehr gesendet werden. Wir nutzen Heartbeat und Pollen optionaler Slaves. &lt;/p&gt;
&lt;p&gt;Den Heartbeat des Masters kann man vermutlich abschalten, indem man das SDO für die Heartbeat-Time auf 0 setzt. &lt;/p&gt;
&lt;p&gt;Aber kann man auch das Pollen optionaler Slaves deaktivieren? &lt;/p&gt;
&lt;p&gt;Gibt es sonst noch eine Möglichkeiten, den CANopen-Manager geordnet zu deaktivieren?&lt;/p&gt;
&lt;p&gt;Grüße,&lt;br/&gt;
Jan&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>