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

git-site-role 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 8668552  Site checkin for project PLC4X: Jenkins Tools
8668552 is described below

commit 8668552766c2cb0e062435cab6d55c7c2e40d821
Author: jenkins <[email protected]>
AuthorDate: Fri Jul 17 13:09:12 2020 +0000

    Site checkin for project PLC4X: Jenkins Tools
---
 users/integrations/apache-iotdb.html | 54 +++++++++++++++++++++++++++++++++++-
 users/protocols/modbus.html          |  8 +++---
 2 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/users/integrations/apache-iotdb.html 
b/users/integrations/apache-iotdb.html
index 383c8e1..ab57786 100644
--- a/users/integrations/apache-iotdb.html
+++ b/users/integrations/apache-iotdb.html
@@ -268,7 +268,59 @@
             <div class="sect1">
 <h2 id="apache_iotdb_incubating">Apache IotDB (Incubating)</h2>
 <div class="sectionbody">
-
+<div class="paragraph">
+<p>Apache IoTDB (incubating) is database for storing time serie data.
+Therefore, it can be a good solution for managing the data which is collected 
by PLC4x.</p>
+</div>
+<div class="sect2">
+<h3 id="data_model_concept">Data Model (Concept)</h3>
+<div class="paragraph">
+<p>Given a PLC address and some fields, we can consider the PLC as a 
<code>device</code> in IoTDB, and each field
+as a <code>measurement</code> in IoTDB. A couple of PLCs form a <code>storage 
group</code>.</p>
+</div>
+<div class="paragraph">
+<p>For example, there is a virtual storage group <code>mi</code>, and a PLC 
<code>d1</code>, which has one field <code>RANDOM/foo:Integer</code>.
+Then, in IoTDB, we can get a time series like <code>root.mi.d1.foo</code> (or 
<code>root.mi.d1.RANDOM_foo_Integer</code>, as you like).
+Then, we can write data into IoTDB using JDBC with SQL or native API called 
session API.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="example">Example</h3>
+<div class="paragraph">
+<p><a 
href="https://github.com/apache/plc4x/tree/develop/plc4j/examples/hello-integration-iotdb";
 
class="bare">https://github.com/apache/plc4x/tree/develop/plc4j/examples/hello-integration-iotdb</a>
 shows an example
+to collect data using PLC4x and then writing data to IoTDB.</p>
+</div>
+<div class="paragraph">
+<p>To run the java example, some arguments are needed:</p>
+</div>
+<div class="paragraph">
+<p>e.g., <code>java -jar &#8230;&#8203;..  --connection-string 
simulated://127.0.0.1 --field-address RANDOM/foo:Integer  --polling-interval 
1000 --iotdb-address 127.0.0.1:6667 --iotdb-user-name root 
--iotdb-user-password root --iotdb-sg mi --iotdb-device d1 --iotdb-datatype 
INT32 --use-jdbc false</code></p>
+</div>
+<div class="paragraph">
+<p>Then PLC4x will collect data from a simulated PLC device, which generate 
random integer per 1 second.
+IoTDB&#8217;s address is 127.0.0.1 and the port is 6667. The data will be 
stored in device <code>root.m1.d1</code>, and the measurement name is 
RANDOM_foo_Integer.</p>
+</div>
+<div class="paragraph">
+<p>If you are using IoTDB v0.10.0 with the default configuration, and do not 
manually create the above time series, then IoTDB will consider the data as 
float.
+So, after running the program a few secondes, you can query the data using 
IoTDB&#8217;s command line: <code>select * from root.mi.d1;</code></p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>+-----------------------------+-----------------------------+
+|                         Time|root.mi.d1.RANDOM_foo_Integer|
++-----------------------------+-----------------------------+
+|2020-07-16T20:01:39.216+08:00|                -1.34242598E9|
+|2020-07-16T20:01:40.150+08:00|                 -9.4141104E7|
+|2020-07-16T20:01:41.154+08:00|                 1.40969664E9|
+|2020-07-16T20:01:42.155+08:00|                  9.5824531E8|
+|2020-07-16T20:01:43.157+08:00|                  -4.207406E7|
++-----------------------------+-----------------------------+</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The detailed usage about IoTDB can be found <a 
href="https://iotdb.apache.org/UserGuide/Master/Client/Programming%20-%20Native%20API.html";
 
class="bare">https://iotdb.apache.org/UserGuide/Master/Client/Programming%20-%20Native%20API.html</a></p>
+</div>
+</div>
 </div>
 </div>
         </main>
diff --git a/users/protocols/modbus.html b/users/protocols/modbus.html
index 3a2c84d..789c79f 100644
--- a/users/protocols/modbus.html
+++ b/users/protocols/modbus.html
@@ -456,7 +456,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Discrete 
Input</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p><code>discrete-input:{start-address}</code> or 
<code>discrete-input:{start-address}[{count}]</code></p>
+<p><code>discrete-input:{start-address}</code> or 
<code>discrete-input:{start-address}[{count}]</code> or 
<code>1{start-address}</code> or <code>1{start-address}[{count}]</code> or 
<code>1x{start-address}</code> or <code>1x{start-address}[{count}]</code></p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read-only 
Boolean input value, usually representing a binary input to the PLC</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
@@ -464,7 +464,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Input 
Register</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p><code>input-register:{start-address}</code> or 
<code>input-register:{start-address}[{count}]</code></p>
+<p><code>input-register:{start-address}</code> or 
<code>input-register:{start-address}[{count}]</code> or 
<code>3{start-address}</code> or <code>3{start-address}[{count}]</code> or 
<code>3x{start-address}</code> or <code>3x{start-address}[{count}]</code></p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read-only 
Short input value, usually representing an analog input to the PLC</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
@@ -472,7 +472,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">Coil</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p><code>coil:{start-address}</code> or 
<code>coil:{start-address}[{count}]</code></p>
+<p><code>coil:{start-address}</code> or 
<code>coil:{start-address}[{count}]</code> or <code>0{start-address}</code> or 
<code>0{start-address}[{count}]</code> or <code>0x{start-address}</code> or 
<code>0x{start-address}[{count}]</code></p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write 
Boolean value, usually representing a binary output from the PLC</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
@@ -480,7 +480,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Holding 
Register</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p><code>holding-register:{start-address}</code> or 
<code>holding-register:{start-address}[{count}]</code></p>
+<p><code>holding-register:{start-address}</code> or 
<code>holding-register:{start-address}[{count}]</code> or 
<code>4{start-address}</code> or <code>4{start-address}[{count}]</code> or 
<code>4x{start-address}</code> or <code>4x{start-address}[{count}]</code></p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write 
Short value, usually representing an analog output from the PLC</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>

Reply via email to