<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Example: Read txt file and create Modbus configuration</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/</id><updated>2020-02-27T14:57:24.631000Z</updated><subtitle>Recent posts to Example: Read txt file and create Modbus configuration</subtitle><entry><title>Example: Read txt file and create Modbus configuration</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/?limit=25#36bd" rel="alternate"/><published>2020-02-27T14:57:24.631000Z</published><updated>2020-02-27T14:57:24.631000Z</updated><author><name>mkeller</name><uri>https://forge.codesys.com/u/mkeller/</uri></author><id>https://forge.codesys.com53dd110d43a65448b9d74e4a8e9facfb04b96a53</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi AndreyS.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AndreyS hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Thanks for the example. I have another question about modifying Modbus configuration from Python. Is it possible to fill Modbus Slave configuration. I mean is it possible to add Modbus Slave Channels and fill ModbusGenericSerialSlave I/O Mapping in the Modbus Slave?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Have you checked the device parameters of the ModBus Slave device. You can access them through the property "device_paremeters" of the device object.&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Example: Read txt file and create Modbus configuration</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/?limit=25#e26d" rel="alternate"/><published>2020-02-27T14:57:24.060000Z</published><updated>2020-02-27T14:57:24.060000Z</updated><author><name>AndreyS</name><uri>https://forge.codesys.com/u/andreys/</uri></author><id>https://forge.codesys.com9cc8a02df4348b461d4b5640e2908a244162b7ac</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks for the example. I have another question about modifying Modbus configuration from Python. Is it possible to fill Modbus Slave configuration. I mean is it possible to add Modbus Slave Channels and fill ModbusGenericSerialSlave I/O Mapping in the Modbus Slave?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Example: Read txt file and create Modbus configuration</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/d86023a595/?limit=25#a37c" rel="alternate"/><published>2020-02-27T14:57:23.432000Z</published><updated>2020-02-27T14:57:23.432000Z</updated><author><name>timvh</name><uri>https://forge.codesys.com/u/timvh/</uri></author><id>https://forge.codesys.com16e843763b8b91ebec16b90e1e9e2e21c01b52c9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;For the CUC I created a script which reads a .txt file containing information about the Modbus configuration and creates this in the active project.&lt;/p&gt;
&lt;p&gt;Save the following in a txt file:&lt;br/&gt;
Modbus_COM (COM)&lt;br/&gt;
    Master (ModbusMaster)&lt;br/&gt;
        ModbusSlave1 (ModbusSlave)&lt;br/&gt;
        ModbusSlave2 (ModbusSlave)&lt;/p&gt;
&lt;p&gt;Then create a .py file with the following code.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Current project.&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nv"&gt;proj&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;Search&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;all&lt;/span&gt; &lt;span class="nv"&gt;top&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;level&lt;/span&gt; &lt;span class="nv"&gt;devices&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;project&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;dev&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;proj&lt;/span&gt;.&lt;span class="nv"&gt;get_children&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;dev&lt;/span&gt;.&lt;span class="nv"&gt;is_device&lt;/span&gt;:
      &lt;span class="nv"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;open&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;C:\_d\Python\ModbusImport\ModbusConfiguratie.txt&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;line&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;f&lt;/span&gt;:
         &lt;span class="nv"&gt;tok&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;line&lt;/span&gt;.&lt;span class="nv"&gt;split&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
         &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;]
         &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;(COM)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]:
            &lt;span class="nv"&gt;dev&lt;/span&gt;.&lt;span class="nv"&gt;add&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="nv"&gt;DeviceID&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;92&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0000 0001&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3.4.0.0&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;
            &lt;span class="nv"&gt;subnodes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;dev&lt;/span&gt;.&lt;span class="nv"&gt;get_children&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;
            &lt;span class="nv"&gt;master&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;subnodes&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;subnodes&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="nv"&gt;elif&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;(ModbusMaster)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]:
            &lt;span class="nv"&gt;master&lt;/span&gt;.&lt;span class="nv"&gt;add&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="nv"&gt;DeviceID&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;90&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0000 0002&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3.4.3.0&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;
            &lt;span class="nv"&gt;subnodes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;master&lt;/span&gt;.&lt;span class="nv"&gt;get_children&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;
            &lt;span class="nv"&gt;coupler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;subnodes&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;subnodes&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="nv"&gt;elif&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;(ModbusSlave)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]:
            &lt;span class="nv"&gt;coupler&lt;/span&gt;.&lt;span class="nv"&gt;add&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tok&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="nv"&gt;DeviceID&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;91&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0000 0001&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3.4.0.0&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;
&lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;script finished.&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Open a project, add your device (PLC) and run the script&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>