<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to scan network</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a3309e797b/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a3309e797b/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/a3309e797b/</id><updated>2020-02-27T14:44:03.649000Z</updated><subtitle>Recent posts to scan network</subtitle><entry><title>scan network</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a3309e797b/?limit=25#4c56" rel="alternate"/><published>2020-02-27T14:44:03.649000Z</published><updated>2020-02-27T14:44:03.649000Z</updated><author><name>mkeller</name><uri>https://forge.codesys.com/u/mkeller/</uri></author><id>https://forge.codesys.com3cc4bb815bc7c98d33cb037d17fc63fe1ba16452</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi hhz.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;hhz hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
I have a  question:   How can i scan the network by Python? Because the project can not be login after network scanned .   (CoDeSys version: SP9)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The API for managing gateways and scanning the network was introduced with CODESYS V3.5 SP8.&lt;/p&gt;
&lt;p&gt;Here some example code:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;\# &lt;span class="nv"&gt;Find&lt;/span&gt; &lt;span class="nv"&gt;device&lt;/span&gt; &lt;span class="nv"&gt;object&lt;/span&gt;
&lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;projects&lt;/span&gt;.&lt;span class="nv"&gt;primary&lt;/span&gt;.&lt;span class="nv"&gt;find&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Device&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;, &lt;span class="nv"&gt;False&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;assert&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="nv"&gt;and&lt;/span&gt; &lt;span class="nv"&gt;len&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;found&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;, &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;No or more than one device found&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;dev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;found&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;]
\# &lt;span class="nv"&gt;Find&lt;/span&gt; &lt;span class="nv"&gt;gateway&lt;/span&gt;
&lt;span class="nv"&gt;gw&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;online&lt;/span&gt;.&lt;span class="nv"&gt;gateways&lt;/span&gt;[&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Gateway-1&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;]
\# &lt;span class="nv"&gt;Scan&lt;/span&gt; &lt;span class="nv"&gt;network&lt;/span&gt;
&lt;span class="nv"&gt;targets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;gw&lt;/span&gt;.&lt;span class="nv"&gt;perform_network_scan&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;
\# &lt;span class="nv"&gt;Find&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;target&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nb"&gt;result&lt;/span&gt; &lt;span class="nv"&gt;list&lt;/span&gt;
&lt;span class="nv"&gt;matchingTarget&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;None&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;target&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;targets&lt;/span&gt;:
   &lt;span class="nv"&gt;print&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Name: {} Addr: {}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;.&lt;span class="nv"&gt;format&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;target&lt;/span&gt;.&lt;span class="nv"&gt;device_name&lt;/span&gt;, &lt;span class="nv"&gt;target&lt;/span&gt;.&lt;span class="nv"&gt;address&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;target&lt;/span&gt;.&lt;span class="nv"&gt;device_name&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;KELLERMANB&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;:
      &lt;span class="nv"&gt;matchingTarget&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;target&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;break&lt;/span&gt;
\# &lt;span class="nv"&gt;Set&lt;/span&gt; &lt;span class="nv"&gt;comm&lt;/span&gt;. &lt;span class="nv"&gt;path&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;device&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;matchingTarget&lt;/span&gt;:
   &lt;span class="nv"&gt;print&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Set communication path of device&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="nv"&gt;dev&lt;/span&gt;.&lt;span class="nv"&gt;set_gateway_and_device_name&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;gw&lt;/span&gt;, &lt;span class="nv"&gt;target&lt;/span&gt;.&lt;span class="nv"&gt;device_name&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   # &lt;span class="nv"&gt;or&lt;/span&gt;
   # &lt;span class="nv"&gt;dev&lt;/span&gt;.&lt;span class="nv"&gt;set_gateway_and_address&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;gw&lt;/span&gt;, &lt;span class="nv"&gt;target&lt;/span&gt;.&lt;span class="nv"&gt;address&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;:
   &lt;span class="nv"&gt;print&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;No matching target found&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Look for IScriptGateway, IScriptGateways and IScriptScanTargetDescription in the ScriptEngine API documentation.&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>scan network</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a3309e797b/?limit=25#9fff" rel="alternate"/><published>2020-02-27T14:44:03.064000Z</published><updated>2020-02-27T14:44:03.064000Z</updated><author><name>hhz</name><uri>https://forge.codesys.com/u/hhz/</uri></author><id>https://forge.codesys.com69c044040ffa5212d41d56daf2c420f6edb238d4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have a  question:   How can i scan the network by Python? Because the project can not be login after network scanned .   (CoDeSys version: SP9)&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;HHZ&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>