This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/plc4x-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new e23a87cc6 Site checkin for project PLC4X: Jenkins Tools
e23a87cc6 is described below

commit e23a87cc6ec853a29da995d9ac775bbcd6898bd8
Author: jenkins <[email protected]>
AuthorDate: Mon Jul 13 11:16:46 2026 +0000

    Site checkin for project PLC4X: Jenkins Tools
---
 plc4x/pre-release/users/protocols/s7.html | 109 ++++++++++++++++++++++++++++++
 search-index.js                           |   2 +-
 2 files changed, 110 insertions(+), 1 deletion(-)

diff --git a/plc4x/pre-release/users/protocols/s7.html 
b/plc4x/pre-release/users/protocols/s7.html
index fc7e935e7..b1e3e0209 100644
--- a/plc4x/pre-release/users/protocols/s7.html
+++ b/plc4x/pre-release/users/protocols/s7.html
@@ -1581,6 +1581,115 @@ However we also implemented a shorter version, as above 
version does have some u
 </div>
 </div>
 <div class="sect1">
+<h2 id="_siemens_s7_200_s7_200_smart"><a class="anchor" 
href="#_siemens_s7_200_s7_200_smart"></a>Siemens S7-200 / S7-200 Smart</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The S7-200 and the newer S7-200 Smart are lower-end controllers that behave 
a little differently from the S7-300/400/1200/1500 family. They can still be 
reached with the S7 driver over Ethernet (ISO-on-TCP), but they need a couple 
of specific connection settings and use a different convention for addressing 
their variable memory.</p>
+</div>
+<div class="paragraph">
+<p>This section collects what the community has found to work (see PLC4X 
issues #1925 and #2641).</p>
+</div>
+<div class="sect2">
+<h3 id="_connecting"><a class="anchor" href="#_connecting"></a>Connecting</h3>
+<div class="paragraph">
+<p>Two things are important when connecting to an S7-200 (Smart):</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Disable the automatic controller-type detection by passing 
<code>controller-type=S7_200</code>. The S7-200 does not answer the SZL/SSL 
identification request the driver normally uses to auto-detect the CPU family, 
so — as with the <code>LOGO</code> device mentioned above — the type has to be 
provided explicitly.</p>
+</li>
+<li>
+<p>Provide the TSAP (Transport Service Access Point) values explicitly. The 
S7-200 (Smart) expects both the local and the remote TSAP to be 
<code>0x0200</code>, which is <code>512</code> in decimal. Set them with 
<code>local-tsap=512</code> and <code>remote-tsap=512</code>; a non-zero TSAP 
overrides the rack/slot based addressing.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>A minimal, working connection string therefore looks like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>s7://192.168.12.100?local-tsap=512&amp;remote-tsap=512&amp;controller-type=S7_200</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><code>remote-rack=0</code> and <code>remote-slot=0</code> are the defaults, 
so they are optional, but may be added for clarity:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>s7://192.168.12.100?remote-rack=0&amp;remote-slot=0&amp;local-tsap=512&amp;remote-tsap=512&amp;controller-type=S7_200</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Both reading and writing have been confirmed to work against an S7-200 
Smart with this configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_addressing_the_v_variable_memory_area"><a class="anchor" 
href="#_addressing_the_v_variable_memory_area"></a>Addressing the V (variable) 
memory area</h3>
+<div class="paragraph">
+<p>The S7-200 keeps its user variables in a <code>V</code> (variable) memory 
area, addressed in the Siemens tooling (STEP 7-Micro/WIN) as, for example, 
<code>VW310</code>, <code>VD732</code> or <code>V350.0</code>. The S7 driver 
does not have a dedicated <code>V</code> memory-area code.</p>
+</div>
+<div class="paragraph">
+<p>On the S7-200, however, the <code>V</code> area is simply an alias for 
<code>Data Block 1</code> (<code>DB1</code>). Any <code>V</code> address can 
therefore be read and written by addressing <code>DB1</code> instead, using the 
normal data-block syntax described above:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 37.5%;">
+<col style="width: 37.5%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">S7-200 notation</th>
+<th class="tableblock halign-left valign-top">PLC4X address</th>
+<th class="tableblock halign-left valign-top">Meaning</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>VB100</code></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>%DB1.DBB100:BYTE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">single 
byte at V100</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>VW310</code></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>%DB1.DBW310:INT</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16-bit 
word at V310</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>VD732</code></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>%DB1.DBD732:UDINT</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">32-bit 
double word at V732</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>V350.0</code></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>%DB1.DBX350.0:BOOL</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">single bit 
V350.0</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The shorter data-block notation works as well, for example 
<code>%DB1:732:UDINT</code> for <code>VD732</code>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>M</code> (flags/markers) memory area is addressed as usual, for 
example <code>%M10.0:BOOL</code> or <code>%MW20:INT</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<img src="../../images/users/protocols/s7_note.png" alt="Note">
+</td>
+<td class="content">
+Native support for a dedicated <code>V</code> memory-area code may be added in 
a future release. Until then, please use the <code>DB1</code> alias shown above.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_actors_participating_in_the_communication_process"><a class="anchor" 
href="#_actors_participating_in_the_communication_process"></a>Actors 
participating in the communication process</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/search-index.js b/search-index.js
index 9f0940376..50c1d5e06 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1 +1 @@
-antoraSearch.initSearch(lunr, 
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.352]],["name/1",[1,1.518]],["text/1",[]],["component/1",[2,0.398]],["title/2-1",[3,34.343,4,29.594]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,42.792]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,11.992,7,12.659,8,9.5,9,16.266,10,15.551,11,21.109,12,26.082,13,12.151]],["name/2-3",[]],["text/2-3",[]],["c
 [...]
\ No newline at end of file
+antoraSearch.initSearch(lunr, 
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.395]],["name/1",[1,1.517]],["text/1",[]],["component/1",[2,0.398]],["title/2-1",[3,34.379,4,29.628]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,42.829]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,12.012,7,12.68,8,9.519,9,16.29,10,15.575,11,20.97,12,26.115,13,12.139]],["name/2-3",[]],["text/2-3",[]],["co
 [...]
\ No newline at end of file

Reply via email to